MCP官方教程(2)示例servers/clients

1,168 阅读13分钟

示例客户端

本页面提供了支持Model Context Protocol (MCP)的应用程序概述。每个客户端可能支持不同的MCP功能,允许与MCP服务器进行不同级别的集成。

功能支持矩阵

客户端资源提示工具采样备注
Claude桌面应用支持所有MCP功能
5ire支持工具
BeeAI框架支持工具,用于代理工作流
Cline支持工具和资源
Continue支持所有MCP功能
Cursor支持工具
Emacs Mcp支持Emacs中的工具
Firebase Genkit⚠️通过工具支持资源列表和查找
GenAIScript支持工具
Goose支持工具
LibreChat支持代理的工具
mcp-agent⚠️支持工具、服务器连接管理和代理工作流
Roo Code支持工具和资源
Sourcegraph Cody通过OpenCTX支持资源
Superinterface支持工具
TheiaAI/TheiaIDE支持Theia AI和AI驱动的Theia IDE中的代理工具
Windsurf Editor支持AI Flow协作开发的工具
Zed提示显示为斜杠命令
SpinAI支持TypeScript AI代理的工具
OpenSumi支持OpenSumi中的工具
Daydreams代理支持将服务器嵌入到Daydreams代理中

客户端详情

Claude桌面应用

Claude桌面应用程序提供了对MCP的全面支持,能够与本地工具和数据源进行深度集成。

主要功能:

  • 完全支持资源,允许附加本地文件和数据
  • 支持提示模板
  • 工具集成,用于执行命令和脚本
  • 本地服务器连接,增强隐私和安全性

ⓘ 注意:Claude.ai网页应用目前不支持MCP。MCP功能仅在桌面应用中可用。

5ire

5ire 是一个开源的跨平台桌面AI助手,通过MCP服务器支持工具。

主要功能:

  • 内置的MCP服务器可以快速启用和禁用
  • 用户可以通过修改配置文件添加更多服务器
  • 开源且用户友好,适合初学者
  • 未来将持续改进对MCP的支持

BeeAI框架

BeeAI框架 是一个用于构建、部署和服务强大代理工作流的开源框架。该框架包括MCP工具,这是一个简化MCP服务器集成到代理工作流中的原生功能。

主要功能:

  • 无缝将MCP工具集成到代理工作流中
  • 快速实例化来自连接的MCP客户端的框架原生工具
  • 计划未来支持代理MCP功能

了解更多:

Cline

Cline 是VS Code中的自主编码代理,可以编辑文件、运行命令、使用浏览器等——在每一步都需要您的许可。

主要功能:

  • 通过自然语言创建和添加工具(例如“添加一个可以搜索网络的工具”)
  • 通过~/Documents/Cline/MCP目录与他人分享Cline创建的自定义MCP服务器
  • 显示配置的MCP服务器及其工具、资源和任何错误日志

Continue

Continue 是一个开源的AI代码助手,内置支持所有MCP功能。

主要功能:

  • 输入“@”提及MCP资源
  • 提示模板显示为斜杠命令
  • 在聊天中直接使用内置和MCP工具
  • 支持VS Code和JetBrains IDE,兼容任何LLM

Cursor

Cursor 是一个AI代码编辑器。

主要功能:

  • 支持Cursor Composer中的MCP工具
  • 支持STDIO和SSE

Emacs Mcp

Emacs Mcp 是一个设计用于与MCP服务器接口的Emacs客户端,能够实现无缝连接和交互。它为AI插件(如gptelllm)提供MCP工具调用支持,遵循Emacs的标准工具调用格式。此集成增强了Emacs生态系统中AI工具的功能。

主要功能:

  • 为Emacs提供MCP工具支持

Firebase Genkit

Genkit 是Firebase的SDK,用于构建和集成GenAI功能到应用程序中。genkitx-mcp 插件支持作为客户端消费MCP服务器或从Genkit工具和提示创建MCP服务器。

主要功能:

  • 客户端支持工具和提示(部分支持资源)
  • 在Genkit的Dev UI游乐场中支持丰富的发现
  • 与Genkit现有工具和提示的无缝互操作性
  • 兼容来自顶级提供商的各种GenAI模型

GenAIScript

使用GenAIScript(在JavaScript中)以编程方式组装LLM的提示。在JavaScript中编排LLM、工具和数据。

主要功能:

  • 用于处理提示的JavaScript工具箱
  • 抽象化使其易于使用且高效
  • 无缝的Visual Studio Code集成

Goose

Goose 是一个开源的AI代理,通过自动化编码任务来增强您的软件开发。

主要功能:

  • 通过工具向Goose暴露MCP功能
  • MCP可以通过扩展目录、CLI或UI直接安装
  • Goose允许您通过构建自己的MCP服务器扩展其功能
  • 包括用于开发、网络抓取、自动化、内存以及JetBrains和Google Drive集成的内置工具

LibreChat

LibreChat 是一个开源的、可定制的AI聊天UI,支持多个AI提供商,现在包括MCP集成。

主要功能:

  • 通过MCP服务器扩展当前工具生态系统,包括代码解释器和图像生成工具
  • 将工具添加到可定制的代理中,使用来自顶级提供商的各种LLM
  • 开源且可自托管,支持安全的多用户
  • 未来路线图包括扩展MCP功能支持

mcp-agent

mcp-agent 是一个简单、可组合的框架,用于使用Model Context Protocol构建代理。

主要功能:

  • 自动管理MCP服务器的连接
  • 向LLM暴露来自多个服务器的工具
  • 实现了构建有效代理中定义的每种模式
  • 支持工作流暂停/恢复信号,例如等待人类反馈

Roo Code

Roo Code 通过MCP提供AI编码辅助。

主要功能:

  • 支持MCP工具和资源
  • 与开发工作流集成
  • 可扩展的AI功能

Sourcegraph Cody

Cody 是Sourcegraph的AI编码助手,通过OpenCTX实现MCP。

主要功能:

  • 支持MCP资源
  • 与Sourcegraph的代码智能集成
  • 使用OpenCTX作为抽象层
  • 计划未来支持更多MCP功能

SpinAI

SpinAI 是一个用于构建可观察AI代理的开源TypeScript框架。该框架提供原生MCP兼容性,允许代理无缝集成MCP服务器和工具。

主要功能:

  • 为AI代理提供内置的MCP兼容性
  • 开源TypeScript框架
  • 可观察的代理架构
  • 原生支持MCP工具集成

Superinterface

Superinterface 是一个AI基础设施和开发者平台,用于构建支持MCP的应用内AI助手、交互组件、客户端函数调用等。

主要功能:

  • 在通过React组件或脚本标签嵌入的助手中使用MCP服务器的工具
  • 支持SSE传输
  • 使用来自任何AI提供商(OpenAI、Anthropic、Ollama等)的任何AI模型

TheiaAI/TheiaIDE

Theia AI 是一个用于构建AI增强工具和IDE的框架。AI驱动的Theia IDE 是一个基于Theia AI构建的开放且灵活的开发环境。

主要功能:

  • 工具集成:Theia AI使AI代理(包括Theia IDE中的代理)能够利用MCP服务器进行无缝工具交互
  • 可定制的提示:Theia IDE允许用户定义和调整提示,动态集成MCP服务器以定制工作流
  • 自定义代理:Theia IDE支持创建利用MCP功能的自定义代理,使用户能够设计专用工作流

Theia AI和Theia IDE的MCP集成为用户提供了灵活性,使其成为探索和适应MCP的强大平台。

了解更多:

Windsurf Editor

Windsurf Editor 是一个将AI助手与开发者工作流结合的代理IDE。它采用创新的AI Flow系统,支持协作和独立的AI交互,同时保持开发者控制。

主要功能:

  • 革命性的AI Flow范式,用于人机协作
  • 智能代码生成和理解
  • 丰富的开发工具,支持多模型

Zed

Zed 是一个高性能代码编辑器,内置MCP支持,专注于提示模板和工具集成。

主要功能:

  • 提示模板显示为编辑器中的斜杠命令
  • 工具集成,增强编码工作流
  • 与编辑器功能和工作区上下文紧密集成
  • 不支持MCP资源

OpenSumi

OpenSumi 是一个帮助您快速构建AI原生IDE产品的框架。

主要功能:

  • 支持OpenSumi中的MCP工具
  • 支持内置IDE MCP服务器和自定义MCP服务器

Daydreams

Daydreams 是一个用于在链上执行任何操作的生成代理框架。

主要功能:

  • 支持配置中的MCP服务器
  • 暴露MCP客户端

为您的应用程序添加MCP支持

如果您已经为您的应用程序添加了MCP支持,我们鼓励您提交拉取请求将其添加到此列表中。MCP集成可以为您的用户提供强大的上下文AI功能,并使您的应用程序成为不断增长的MCP生态系统的一部分。

添加MCP支持的好处:

  • 允许用户带来自己的上下文和工具
  • 加入不断增长的互操作AI应用程序生态系统
  • 为用户提供灵活的集成选项
  • 支持本地优先的AI工作流

要开始在您的应用程序中实现MCP,请查看我们的PythonTypeScript SDK文档

示例server

本页面展示了各种Model Context Protocol (MCP)服务器,展示了该协议的功能和多样性。这些服务器使大型语言模型(LLMs)能够安全地访问工具和数据源。

参考实现

这些官方参考服务器展示了MCP的核心功能和SDK的使用:

数据和文件系统

  • Filesystem - 具有可配置访问控制的安全文件操作
  • PostgreSQL - 具有模式检查功能的只读数据库访问
  • SQLite - 数据库交互和商业智能功能
  • Google Drive - Google Drive的文件访问和搜索功能

开发工具

  • Git - 读取、搜索和操作Git仓库的工具
  • GitHub - 仓库管理、文件操作和GitHub API集成
  • GitLab - GitLab API集成,支持项目管理
  • Sentry - 从Sentry.io检索和分析问题

网页和浏览器自动化

  • Brave Search - 使用Brave的Search API进行网页和本地搜索
  • Fetch - 为LLM使用优化的网页内容抓取和转换
  • Puppeteer - 浏览器自动化和网页抓取功能

生产力和通信

  • Slack - 频道管理和消息功能
  • Google Maps - 位置服务、路线和地点详情
  • Memory - 基于知识图谱的持久记忆系统

AI和专用工具

官方集成

这些MCP服务器由公司为其平台维护:

  • Axiom - 使用自然语言查询和分析日志、跟踪和事件数据
  • Browserbase - 在云端自动化浏览器交互
  • Cloudflare - 在Cloudflare开发者平台上部署和管理资源
  • E2B - 在安全的云沙箱中执行代码
  • Neon - 与Neon无服务器Postgres平台交互
  • Obsidian Markdown Notes - 在Obsidian库中读取和搜索Markdown笔记
  • Qdrant - 使用Qdrant向量搜索引擎实现语义记忆
  • Raygun - 访问崩溃报告和监控数据
  • Search1API - 用于搜索、爬取和站点地图的统一API
  • Stripe - 与Stripe API交互
  • Tinybird - 与Tinybird无服务器ClickHouse平台交互

社区亮点

不断增长的社区开发服务器生态系统扩展了MCP的功能:

  • Docker - 管理容器、镜像、卷和网络
  • Kubernetes - 管理Pod、部署和服务
  • Linear - 项目管理和问题跟踪
  • Snowflake - 与Snowflake数据库交互
  • Spotify - 控制Spotify播放和管理播放列表
  • Todoist - 任务管理集成

注意: 社区服务器未经测试,使用风险自负。它们与Anthropic无关,也不受其认可。

有关社区服务器的完整列表,请访问MCP Servers Repository

入门指南

使用参考服务器

基于TypeScript的服务器可以直接使用npx

npx -y @modelcontextprotocol/server-memory

基于Python的服务器可以使用uvx(推荐)或pip

# 使用uvx
uvx mcp-server-git

# 使用pip
pip install mcp-server-git
python -m mcp_server_git

配置Claude

要将MCP服务器与Claude一起使用,请将其添加到您的配置中:

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"]
    },
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/files"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

其他资源

访问我们的GitHub Discussions与MCP社区互动。

用大模型帮助搭建MCP

本指南将帮助你使用LLMs(大型语言模型)来构建自定义的Model Context Protocol(MCP)服务器和客户端。本教程将重点介绍Claude,但你可以使用任何前沿的LLM来完成此任务。

准备文档

在开始之前,收集必要的文档以帮助Claude理解MCP:

  1. 访问 modelcontextprotocol.io/llms-full.t… 并复制完整的文档文本
  2. 导航到 MCP TypeScript SDKPython SDK 仓库
  3. 复制README文件和其他相关文档
  4. 将这些文档粘贴到你与Claude的对话中

描述你的服务器

在提供文档后,向Claude清楚地描述你想要构建的服务器类型。具体说明:

  • 你的服务器将暴露哪些资源
  • 它将提供哪些工具
  • 它应该提供哪些提示
  • 它需要与哪些外部系统交互

例如:

Build an MCP server that:
- Connects to my company's PostgreSQL database
- Exposes table schemas as resources
- Provides tools for running read-only SQL queries
- Includes prompts for common data analysis tasks

与Claude合作

在与Claude合作构建MCP服务器时:

  1. 首先从核心功能开始,然后逐步添加更多功能
  2. 要求Claude解释你不理解的代码部分
  3. 根据需要请求修改或改进
  4. 让Claude帮助你测试服务器并处理边缘情况

Claude可以帮助实现所有关键的MCP功能:

  • 资源管理和暴露
  • 工具定义和实现
  • 提示模板和处理程序
  • 错误处理和日志记录
  • 连接和传输设置

最佳实践

在使用Claude构建MCP服务器时:

  • 将复杂的服务器分解为较小的部分
  • 在继续之前彻底测试每个组件
  • 注意安全性——验证输入并适当限制访问
  • 为未来的维护做好代码文档
  • 仔细遵循MCP协议规范

下一步

在Claude帮助你构建服务器后:

  1. 仔细检查生成的代码
  2. 使用MCP Inspector工具测试服务器
  3. 将其连接到Claude.app或其他MCP客户端
  4. 根据实际使用情况和反馈进行迭代

请记住,Claude可以帮助你根据需求的变化修改和改进你的服务器。

需要更多指导?只需向Claude提出关于实现MCP功能或解决出现的问题的具体问题。