Model Context Protocol托管平台

Model Context Protocol托管平台

Model Context Protocol托管平台 Model Context Protocol托管平台 Modified March 14, 2025 Created on March 10, 2025 2555 2834 0 1 • 确保配置选项清晰且易于理解 3. Docker 优化: • 使用适当的基础镜像 • 采用多阶段构建 • 保持 Docker 镜像大小最小化 10. Git 集成 10.1 仓库权限 为了验证您的所有权并拉取代码库以部署服务器,Smithery 需要获取您连接的 Github 账户的某些权限。 权限列表 通过授予这些权限,您允许 Smithery 应用程序通过 pull requests 提出改进建议,以帮助改善您的工作流程。 11. Smithery CLI 安装指南(Windows) 11.1 Beta 版说明 Smithery CLI 目前处于 beta 阶段,主要在 Windows 11 上进行了测试。它的设计目的是解决 Windows 上 MCP 服务器的运行时问题。目前特性: • 仅支持 Smithery 托管的服务器 • 本地服务器支持正在积极开发中 • 在其他 Windows 版本上可能遇到问题 • 如有问题或反馈,请通过 Discord 社区报告 11.2 安装步骤 步骤 1:安装 Scoop 在 Windows PowerShell 中执行以下命令: Code block PowerShell Copy 设置 PowerShell 执行策略 Set ExecutionPolicy ExecutionPolicy RemoteSigned Scope CurrentUser 安装 Scoop Invoke RestMethod Uri https://get.scoop.sh | Invoke Expression 更多关于 Scoop 的信息,请访问官方 Scoop GitHub 仓库。 步骤 2:将 Scoop 添加到 PATH 在 PowerShell 中执行以下命令,将 Scoop 添加到用户环境变量: Code block PowerShell Copy 获取当前用户的 PATH 环境变量 $oldPath = [Environment]::GetEnvironmentVariable('Path', 'User') 添加 Scoop shims 路径到 PATH $newPath = $oldPath + ";$env:USERPROFILE\scoop\shims" 更新环境变量 [Environment]::SetEnvironmentVariable('Path', $newPath, 'User') • 确保配置选项清晰且易于理解 3. Docker 优化: • 使用适当的基础镜像 • 采用多阶段构建 • 保持 Docker 镜像大小最小化 10. Git 集成 10.1 仓库权限 为了验证您的所有权并拉取代码库以部署服务器,Smithery 需要获取您连接的 Github 账户的某些权限。 权限列表 通过授予这些权限,您允许 Smithery 应用程序通过 pull requests 提出改进建议,以帮助改善您的工作流程。 11. Smithery CLI 安装指南(Windows) 11.1 Beta 版说明 Smithery CLI 目前处于 beta 阶段,主要在 Windows 11 上进行了测试。它的设计目的是解决 Windows 上 MCP 服务器的运行时问题。目前特性: • 仅支持 Smithery 托管的服务器 • 本地服务器支持正在积极开发中 • 在其他 Windows 版本上可能遇到问题 • 如有问题或反馈,请通过 Discord 社区报告 11.2 安装步骤 步骤 1:安装 Scoop 在 Windows PowerShell 中执行以下命令: 更多关于 Scoop 的信息,请访问官方 Scoop GitHub 仓库。 步骤 2:将 Scoop 添加到 PATH 在 PowerShell 中执行以下命令,将 Scoop 添加到用户环境变量: 步骤 3:重启 PowerShell 步骤 4:检查 Scoop 安装 在 PowerShell 中执行以下命令来验证 Scoop 是否安装成功: 如果安装成功,将显示 Scoop 的版本号。如果出现命令未找到的错误,请确保已完成前面的步骤并正确设置了环境变量。 步骤 5:安装 Smithery 在 PowerShell 中执行以下命令来安装 Smithery: 这将添加 Smithery 的软件仓库并安装 Smithery CLI。如果出现任何错误,请确保您的网络连接正常,并且具有足够的权限。 步骤 6:检查 Smithery 安装 在 PowerShell 中执行以下命令来检查 Smithery 的可用命令和选项: 如果安装成功,您将看到 Smithery CLI 的命令列表和使用说明。如果出现命令未找到的错误,请检查: • Smithery 是否正确安装 • 环境变量是否正确设置 • PowerShell 是否已重启 步骤 7:安装和运行服务器 服务器的安装和运行分为两个步骤: 21. 首先安装 Sequential Thinking 服务器: 22. 然后运行服务器: 如果以上命令无法正常工作,可以尝试使用完整路径(注意将 YourUsername 替换为您的实际用户名): 注意事项: • 确保按顺序执行安装和运行命令 • 保持 PowerShell 窗口打开,服务器会持续运行 • 配置参数可以根据需要修改 • 如遇到权限问题,请以管理员身份运行 PowerShell 12. 数据政策 12.1 概述 Smithery 目前支持两种类型的 MCP 服务器:托管型和本地型。本政策概述了我们如何处理您在使用这些服务器时的数据。 12.2 托管型 MCP 托管型 MCP 是由开发者部署在 Smithery 服务器上的服务。在网站上可以通过名称旁边的绿点标识其托管状态。 数据处理说明: 23. 工具调用跟踪 ◦ Smithery 会跟踪对工具的调用,用于分析和改进服务 ◦ 这些数据用于在首页显示热门服务器的使用计数 ◦ Smithery 会跟踪对工具的调用,用于分析和改进服务 ◦ 这些数据用于在首页显示热门服务器的使用计数 24. 配置数据处理 ◦ 传递给托管 MCP 的配置数据是临时的 ◦ 不会在服务器上永久存储 ◦ 传递给托管 MCP 的配置数据是临时的 ◦ 不会在服务器上永久存储 重要说明: • Smithery 不会向第三方出售您的数据 • MCP 开发者对其代码和行为保持完全控制 • 建议查看各个 MCP 的文档以了解其数据处理方式 • 企业用户如需零保留政策,可以联系官方 12.3 本地型 MCP 本地型 MCP 是通过 CLI 从 Smithery 获取并在本地机器上运行的服务器。 跟踪类型: 25. 安装跟踪 ◦ 匿名统计本地 MCP 的安装次数 ◦ 匿名统计本地 MCP 的安装次数 26. 工具调用跟踪 ◦ 需要通过 CLI 获得用户同意 ◦ 仅收集工具名称和 MCP 信息 ◦ 用于首页显示使用计数和服务器排名 ◦ 工具调用的具体内容会被删除,确保敏感信息不会被传输 ◦ 需要通过 CLI 获得用户同意 ◦ 仅收集工具名称和 MCP 信息 ◦ 用于首页显示使用计数和服务器排名 ◦ 工具调用的具体内容会被删除,确保敏感信息不会被传输 配置参数说明: • 传递给注册中心的配置参数是临时的 • 不会在服务器上永久存储 如有任何问题或疑虑,可以: • 通过官方渠道联系 • 加入 Discord 社区讨论 13. 常见问题解答 13.1 客户端开发者常见问题 如何将 Smithery 注册中心集成到我的客户端? 我们提供了 Registry API,您可以通过它实现以下功能: • 列出可用的 MCP 服务器 • 按功能搜索服务器 • 获取连接详情和配置模式 具体实现请参考: • Registry API 使用指南(第 7 章) • 配置指南(第 9 章) • 数据政策(第 12 章) 13.2 服务器开发者常见问题 如何部署 MCP 服务器? Smithery 提供托管部署服务,部署流程非常简单: 27. 在 Smithery 上添加或认领您的服务器 28. 授予 GitHub 权限 ◦ Smithery 将自动创建包含必要配置文件的 PR ◦ 包括 Dockerfile 和 smithery.yaml ◦ Smithery 将自动创建包含必要配置文件的 PR ◦ 包括 Dockerfile 和 smithery.yaml 29. 通过部署标签页进行部署 详细说明请参考: • 部署指南(第 8 章) • Git 集成(第 10 章) • Smithery CLI 安装指南(第 11 章) 如何测试 MCP 服务器? 测试建议: • 使用 MCP Inspector 进行本地测试 ◦ 验证服务器功能 ◦ 检查配置是否正确 ◦ 验证服务器功能 ◦ 检查配置是否正确 • 参考配置指南中的最佳实践(第 9.5 节) • 确保 Dockerfile 可以在本地正确构建 • 测试所有支持的连接方式 Smithery 需要哪些 GitHub 权限? GitHub 权限要求详见 Git 集成章节(第 10 章),主要包括: • 内容权限(读写) ◦ 用于访问源代码 ◦ 在新分支上创建配置文件 ◦ 用于访问源代码 ◦ 在新分支上创建配置文件 • Pull Requests 权限(读写) ◦ 创建配置文件的 PR ◦ 管理部署相关的更改 ◦ 创建配置文件的 PR ◦ 管理部署相关的更改 • 元数据权限(只读) ◦ 访问仓库基本信息 ◦ 确保与 GitHub 的集成 ◦ 访问仓库基本信息 ◦ 确保与 GitHub 的集成 13.3 获取帮助 如需更多帮助: • 加入 Discord 社区获取实时支持 • 发送邮件至 contact@smithery.ai • 查看官方文档中心 • 参考具体章节的详细说明 1. 简介 Smithery.ai 是一个强大的代理(Agent)扩展平台,通过 Model Context Protocol (MCP) 服务器提供超过 1,449 种功能扩展能力。 1.1 平台定位 Smithery 的主要目标是帮助开发者发现和部署语言模型扩展。平台上所有列出的扩展都遵循 Model Context Protocols (MCP) 规范。其使命是使语言模型扩展变得容易访问,并加速代理人工智能的发展。 1.2 核心优势 Smithery 提供以下关键功能: • MCP 服务器的中央化发现中心 • MCP 服务器的托管和分发 • 标准化的工具集成和配置接口 1.3 Model Context Protocol (MCP) 简介 MCP 是一个开放协议,实现了 LLM(大语言模型)与外部数据源和工具之间的无缝集成。它为连接 AI 系统与所需上下文提供了通用标准,消除了信息孤岛和分散的集成问题。 MCP 的主要优势: • 为 AI 系统连接数据源提供标准方式 • 简化代理应用程序的开发和维护 • 支持构建智能 IDE、聊天界面和自定义 AI 工作流 • 避免为每个新数据源编写自定义实现 • 提高系统可维护性和可扩展性 2. 主要功能模块 2.1 特色功能 Sequential Thinking (99.63k 使用量) • 提供动态和反思性问题解决的结构化思维过程 • 适用于复杂问题分析和决策 Github 集成 (22.13k 使用量) • 提供 GitHub API 访问能力 • 支持文件操作、仓库管理和搜索功能 Brave Search (8.29k 使用量) • 集成网络和本地搜索功能 • 提供全面的搜索解决方案 2.2 核心功能分类 笔记管理工具 • Simple Notes MCP Server • Bear MCP Server • Notion 集成 • 支持笔记创建、管理和智能总结 AI 对话工具 • Autonomous Coder Agent • OpenAI 兼容 API 集成 • 增强型 SSH 服务 • AI 内容人性化处理 Google Workspace 集成 • Gmail 和 Google Calendar 集成 • 多账户管理 • 邮件搜索和撰写 • 日历事件管理 学术研究工具 • Semantic Scholar 集成 • PubMed 搜索 • arXiv 论文访问 • IACR 密码学文献库访问 AI 数据库管理 • MySQL Server 集成 • 知识图谱记忆服务 • DuckDB 集成 • Airtable 集成 3. 使用建议 3.1 入门使用 1. 访问 smithery.ai 2. 注册/登录账户 3. 选择所需的服务器集成 4. 按照具体服务的文档进行配置 3.2 最佳实践 • 根据具体需求选择适当的功能模块 • 优先使用使用量较高的稳定服务 • 注意 API 密钥的安全管理 • 参考文档进行正确配置 3.3 开发文档 开发者可以访问以下文档资源: • 入门指南 • 注册中心说明 • 部署指南 • 配置说明 • Git 集成 • Smithery CLI 使用指南 • 数据策略 • 常见问题解答 4. 技术支持 • GitHub 社区支持 • Discord 交流群 • 官方文档中心 5. 注意事项 • 确保 API 访问权限配置正确 • 注意数据安全和隐私保护 • 定期检查服务更新 • 遵循各集成服务的使用规范 6. 项目维护者 • Henry Mao (@calclavia) • Arjun Kumar (@arjunkmrm) 7. Registry API 使用指南 7.1 概述 Registry API 提供了一种以编程方式搜索和获取 Model Context Protocol (MCP) 服务器启动配置的方法。本章将指导您如何使用 Registry API 获取和连接到 WebSocket MCP 服务器。 注意:Smithery 目前仍处于早期开发阶段,API 可能在未来发生变化。 7.2 基本概念 Smithery Registry 包含 MCP 服务器的索引。每个服务器可能有不同的启动或连接方式。服务器作者需要指定配置模式(JSON schema),用于定义连接服务器所需的配置结构。 7.3 认证 所有 API 端点都需要通过 bearer token 进行认证。获取 API 密钥的步骤: 5. 点击登录图标 6. 在下拉菜单中选择 "API keys" 7. 在 API 请求中包含以下认证头: 7.4 服务器列表查询 获取所有可用服务器的分页列表。 查询参数 • q(可选):搜索查询,支持语义搜索 • page(可选):分页页码(默认:1) • pageSize(可选):每页项目数(默认:10) 过滤选项 文本搜索:直接输入文本进行语义搜索(例如: ) 所有者过滤:使用 按仓库所有者过滤(例如: ) 仓库过滤:使用 按仓库名称过滤(例如: ) 部署状态:使用 只显示已部署的服务器 可以组合多个过滤条件,例如: 响应格式 7.5 获取特定服务器信息 通过限定名称获取特定服务器的信息。限定名称可以从服务器页面的 URL 获取:https://smithery.ai/server/{qualifiedName}。 响应格式 返回信息包括: • 服务器基本信息 • 连接详情 ◦ type:连接类型(如 "ws" 表示 WebSocket) ◦ url:连接 URL ◦ connections:可能的连接方式列表 ▪ type:stdio 或 ws(websocket) ▪ url:WebSocket URL(如适用) ▪ configSchema:服务器配置的 JSON schema ◦ type:连接类型(如 "ws" 表示 WebSocket) ◦ url:连接 URL ◦ connections:可能的连接方式列表 ▪ type:stdio 或 ws(websocket) ▪ url:WebSocket URL(如适用) ▪ configSchema:服务器配置的 JSON schema ▪ type:stdio 或 ws(websocket) ▪ url:WebSocket URL(如适用) ▪ configSchema:服务器配置的 JSON schema 7.6 WebSocket 服务器连接 连接到 WebSocket 服务器时,需要按照以下格式构造 URL: 其中: • qualifiedName 是服务器的限定名称 • config 是符合 configSchema 的 JSON 配置(base64 编码) 如果使用 Typescript SDK,可以使用 createSmitheryUrl 函数生成 URL。 7.7 使用建议 8. 使用语义搜索找到合适的服务器 9. 验证服务器的配置要求 10. 确保配置符合 schema 定义 11. 正确处理认证信息 12. 使用适当的错误处理机制 8. 部署指南 8.1 Smithery 部署概述 Smithery Deployments 允许您将标准输入/输出(STDIO)MCP 服务器托管在 Smithery 平台上,并通过 WebSocket 连接提供服务。 8.2 部署优势 • 在服务器页面上提供 MCP 在线试用环境 • 用户无需安装依赖即可调用服务器 • 无需考虑安全问题 • 托管的服务器在搜索结果中获得更高排名 8.3 部署步骤 部署过程非常简单: 13. 将服务器添加到 Smithery(如果已列出,则认领它) 14. 在服务器页面的 Smithery Deployments 标签页中点击 Deploy(仅认证的服务器所有者可见) 8.4 WebSocket 技术说明 Smithery Deployments 使用 WebSocket (WS) 的原因: • 支持会话亲和性 • 确保同一客户端始终连接到同一服务器 • 适合可扩展托管 • 官方 MCP SDK 在 Typescript、Python 和 Kotlin 中维护 WebSocket 传输实现 8.5 无服务器托管特性 • 通过 WebSocket (WS) 在无服务器环境中提供服务 • 5分钟超时限制,需要处理重新连接 • 建议采用临时存储设计 • 持久化数据应存储在外部数据库中 8.6 工具列表展示 • 仅显示不需要认证即可列出工具的服务器 • 服务器开发者注意事项: ◦ 工具列表功能不应依赖于用户提供的 API 密钥或配置 ◦ 建议实现"懒加载"机制 ◦ 仅在工具调用时进行认证,而不是在初始化时 ◦ 工具列表功能不应依赖于用户提供的 API 密钥或配置 ◦ 建议实现"懒加载"机制 ◦ 仅在工具调用时进行认证,而不是在初始化时 9. 配置指南 9.1 必需文件 部署 Smithery 服务器需要在仓库中包含两个必需文件: 15. Dockerfile 16. smithery.yaml Dockerfile 用于定义如何构建服务器,smithery.yaml 用于指定如何启动服务器。 9.2 自动配置 当触发部署时,Smithery 会尝试自动生成包含这些文件的 pull request。但在某些情况下,自动配置可能会失败,需要手动设置。 9.3 手动配置 Dockerfile 配置 • 在仓库根目录创建 Dockerfile • 定义 MCP 服务器的构建方式 • Docker 镜像运行时应启动 STDIO 服务器 • 注意:仅支持主流 Linux Docker 镜像(基于 Alpine/Debian),且容器中需要可运行 sh smithery.yaml 配置 在仓库根目录创建 smithery.yaml 文件,定义 MCP 服务器的启动方式。 配置项说明: 17. 基本配置: ◦ type: stdio:指定仓库为标准 I/O 基础的 MCP 服务器 ◦ configSchema:定义服务器配置选项的 JSON Schema ◦ commandFunction:返回启动服务器所需命令、参数和环境变量的 JavaScript 函数 ◦ type: stdio:指定仓库为标准 I/O 基础的 MCP 服务器 ◦ configSchema:定义服务器配置选项的 JSON Schema ◦ commandFunction:返回启动服务器所需命令、参数和环境变量的 JavaScript 函数 18. 可选配置: ◦ build 对象: ▪ dockerfile:Dockerfile 路径(相对于配置文件) ▪ dockerBuildPath:docker 构建上下文路径(相对于配置文件) ◦ build 对象: ▪ dockerfile:Dockerfile 路径(相对于配置文件) ▪ dockerBuildPath:docker 构建上下文路径(相对于配置文件) ▪ dockerfile:Dockerfile 路径(相对于配置文件) ▪ dockerBuildPath:docker 构建上下文路径(相对于配置文件) 9.4 子目录配置 如果包不在仓库根目录(如在 monorepo 中): 19. 将 Dockerfile 和 smithery.yaml 放在包含包的子目录中 20. 在 Smithery 的服务器设置中指定基础目录 示例: • 如果 MCP 服务器在 packages/mcp server 目录: a. 将配置文件放在 packages/mcp server 目录 b. 在 Github 集成设置中将基础目录设置为 packages/mcp server a. 将配置文件放在 packages/mcp server 目录 b. 在 Github 集成设置中将基础目录设置为 packages/mcp server 9.5 最佳实践 1. 测试: • 部署前使用 MCP Inspector 在本地测试服务器 • 确保 Dockerfile 可以在本地正确构建 2. 配置: • 使用 configSchema 正确定义和验证服务器配置选项

在 小宇宙note 阅读完整内容