Smithery.ai作为Model Context Protocol(MCP)的聚合平台,是目前安装起来最方便的。 将这段贴到cursor的mcp里就能自动安装。
他的自动安装机制通过标准化工具链、社区驱动的协议库和灵活的配置体系实现。以下从技术架构、核心工具、依赖管理和典型流程四个维度深入解析其实现方式:
技术架构与核心组件
CLI工具链
Smithery提供官方CLI(@smithery/cli),支持通过npm或npx直接调用。其核心功能是
协议发现与安装:通过smithery.ai注册表索引社区贡献的MCP服务器,例如执行npx -y @smithery/cli install @modelcontextprotocol/server-filesystem可自动下载并配置文件系统协议服务器(github.com/smithery-ai…
。
SDK集成
TypeScript SDK提供预封装接口,例如初始化MCP客户端时自动检测本地依赖:
import { MCPClient } from '@smithery/typescript-sdk';
const client = new MCPClient({ autoInstall: true }); // 自动触发缺失依赖的安装
底层通过调用CLI的REST API完成协议部署(github.com/smithery-ai…
协议标准化接口
所有MCP服务器遵循JSON-RPC规范,通过mcp.json配置文件定义工具、资源和提示的元数据,确保安装后的兼容性。
自动安装的核心流程
依赖解析阶段
- 用户通过CLI命令或SDK声明所需协议(如
@modelcontextprotocol/server-github)。 - CLI访问Smithery注册中心,解析协议依赖树(如GitHub服务器依赖文件系统权限协议)。
包管理与下载
- 使用npm仓库分发协议包,通过
npm install或npx拉取预编译的二进制文件(如Python服务器使用uvx工具链)。 - 支持多平台适配,例如Linux环境下自动选择
.deb或snap包。
配置注入与权限设置
- 自动生成
~/.smithery/config.json,注入服务器启动参数:
{
"mcpServers": {
"github": {
"command": "uvx",
"args": ["mcp-server-github", "--token=YOUR_GITHUB_TOKEN"]
}
}
}
- 根据协议类型设置访问控制列表(ACL),例如文件系统协议默认限制为
~/Documents目录。
服务启动与健康检查
- 通过守护进程(如systemd或launchd)管理服务器生命周期。
- CLI执行
smithery healthcheck验证端口监听和协议握手状态。
依赖管理机制
版本锁定与冲突解决
- 使用
smithery.lock文件记录协议版本和哈希值,确保环境一致性。 - 依赖冲突时,优先采用语义化版本(SemVer)的最新兼容版本。
混合语言支持
- TypeScript服务器通过
ts-node即时编译,Python服务器使用虚拟环境隔离依赖。 - 自动安装运行时依赖,如Node.js 18+或Python 3.9+。
社区协议库同步
定期从https://glama.ai/mcp/servers等第三方目录同步协议,扩展可选生态。
针对windows的支持
安装步骤
步骤1:安装Scoop
有关Scoop的更多信息,请访问官方Scoop GitHub仓库。 在Windows PowerShell中:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
步骤2:将Scoop添加到您的PATH中
$oldPath = [Environment]::GetEnvironmentVariable('Path', 'User') $newPath = $oldPath + ";$env:USERPROFILE\scoop\shims" [Environment]::SetEnvironmentVariable('Path', $newPath, 'User')
步骤3:重启PowerShell
步骤4:检查Scoop安装
scoop --version
步骤5:安装Smithery
scoop bucket add smithery https://github.com/smithery-ai/scoop-smithery scoop install smithery
步骤6:检查smithery安装
smithery --help
步骤7:安装并运行服务器
安装服务器:
smithery install @smithery-ai/server-sequential-thinking --client claude
在cursor MCP设置中运行服务器:
smithery run @smithery-ai/server-sequential-thinking --config "{}"
如果上述命令不起作用,请尝试使用完整的Scoop shim路径:
C:\Users\YourUsername\scoop\shims\smithery.exe run @smithery-ai/server-sequential-thinking --config "{}"
注意:将YourUsername替换为您实际的Windows用户名。