这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

MCP 服务器

将 MCP 服务器视为为 Cline 提供额外能力的特殊助手!它们让 Cline 能够做一些很酷的事情,比如获取网页或处理您的文件。

1 - 概述

本文解释了模型上下文协议(MCP)服务器、它们的功能以及 Cline 如何帮助构建和使用它们。

Cline 和模型上下文协议(MCP)服务器:增强 AI 能力

快速链接:

本文解释了模型上下文协议(MCP)服务器、它们的功能以及 Cline 如何帮助构建和使用它们。

概述

MCP 服务器充当大型语言模型(LLMs,如 Claude)与外部工具或数据源之间的中介。它们是向 LLMs 暴露功能的小程序,使它们能够通过 MCP 与外部世界交互。MCP 服务器本质上就像一个 LLM 可以使用的 API。

关键概念

MCP 服务器定义了一组"工具",这些工具是 LLM 可以执行的函数。这些工具提供了广泛的功能。

以下是 MCP 的工作原理:

  • MCP 主机发现连接服务器的功能并加载它们的工具、提示和资源。
  • 资源提供对只读数据的一致访问,类似于文件路径或数据库查询。
  • 安全性通过服务器隔离凭证和敏感数据来确保。交互需要用户的明确批准。

使用案例

MCP 服务器的潜力是巨大的。它们可以用于各种目的。

以下是一些 MCP 服务器如何使用的具体示例:

  • Web 服务和 API 集成:

    • 监控 GitHub 仓库的新问题
    • 根据特定触发器在 Twitter 上发布更新
    • 为基于位置的服务检索实时天气数据
  • 浏览器自动化:

    • 自动化 Web 应用程序测试
    • 抓取电子商务网站进行价格比较
    • 为网站监控生成截图
  • 数据库查询:

    • 生成每周销售报告
    • 分析客户行为模式
    • 为业务指标创建实时仪表板
  • 项目和任务管理:

    • 根据代码提交自动创建 Jira 工单
    • 生成每周进度报告
    • 根据项目需求创建任务依赖关系
  • 代码库文档:

    • 从代码注释生成 API 文档
    • 从代码结构创建架构图
    • 维护最新的 README 文件

入门指南

选择适合您需求的方法:

  • **使用现有服务器:**从 GitHub 仓库的预构建 MCP 服务器开始
  • **自定义现有服务器:**修改现有服务器以适应您的特定需求
  • **从零开始构建:**为独特用例创建完全自定义的服务器

与 Cline 集成

Cline 通过其 AI 能力简化了 MCP 服务器的构建和使用。

构建 MCP 服务器

  • **自然语言理解:**用自然语言指示 Cline 构建 MCP 服务器,描述其功能。Cline 将解释您的指令并生成必要的代码。
  • **克隆和构建服务器:**Cline 可以从 GitHub 克隆现有的 MCP 服务器仓库并自动构建它们。
  • **配置和依赖管理:**Cline 处理配置文件、环境变量和依赖项。
  • **故障排除和调试:**Cline 帮助识别和解决开发过程中的错误。

使用 MCP 服务器

  • **工具执行:**Cline 与 MCP 服务器无缝集成,允许您执行它们定义的工具。
  • **上下文感知交互:**Cline 可以根据对话上下文智能地建议使用相关工具。
  • **动态集成:**结合多个 MCP 服务器的功能来完成复杂任务。例如,Cline 可以使用 GitHub 服务器获取数据并使用 Notion 服务器创建格式化报告。

安全考虑

在使用 MCP 服务器时,遵循安全最佳实践非常重要:

  • **身份验证:**始终使用安全的身份验证方法进行 API 访问
  • **环境变量:**将敏感信息存储在环境变量中
  • **访问控制:**仅限授权用户访问服务器
  • **数据验证:**验证所有输入以防止注入攻击
  • **日志记录:**实施安全的日志记录实践,不暴露敏感数据

资源

有各种资源可用于查找和学习 MCP 服务器。

以下是一些用于查找和学习 MCP 服务器的资源链接:

2 - 快速入门

将 MCP 服务器视为为 Cline 提供额外能力的特殊助手!它们让 Cline 能够做一些很酷的事情,比如获取网页或处理您的文件。

🚀 MCP 快速入门指南

❓ 什么是 MCP 服务器?

将 MCP 服务器视为为 Cline 提供额外能力的特殊助手!它们让 Cline 能够做一些很酷的事情,比如获取网页或处理您的文件。

⚠️ 重要:系统要求

停止!在继续之前,您必须验证这些要求:

所需软件

  • ✅ 最新版本的 Node.js(v18 或更新版本)

  • ✅ 最新版本的 Python(v3.8 或更新版本)

  • ✅ UV 包管理器

    • 安装 Python 后,运行:pip install uv
    • 通过运行验证:uv --version

❗ 如果任何这些命令失败或显示旧版本,请在继续之前安装/更新!

⚠️ 如果遇到其他错误,请参阅下面的"故障排除"部分。

🎯 快速步骤(仅在满足要求后!)

1. 🛠️ 安装您的第一个 MCP 服务器

  1. 从 Cline 扩展中,点击 MCP Server 标签
  2. 点击 Edit MCP Settings 按钮
MCP Server Panel
  1. MCP 设置文件应显示在 VS Code 的标签页中。
  2. 将文件内容替换为此代码:

对于 Windows:

{
	"mcpServers": {
		"mcp-installer": {
			"command": "cmd.exe",
			"args": ["/c", "npx", "-y", "@anaisbetts/mcp-installer"]
		}
	}
}

对于 Mac 和 Linux:

{
	"mcpServers": {
		"mcp-installer": {
			"command": "npx",
			"args": ["@anaisbetts/mcp-installer"]
		}
	}
}

保存文件后:

  1. Cline 会自动检测更改
  2. MCP 安装程序将被下载并安装
  3. Cline 将启动 MCP 安装程序
  4. 您将在 Cline 的 MCP 设置 UI 中看到服务器状态:
MCP Server Panel with Installer

🤔 接下来做什么?

现在您已经安装了 MCP 安装程序,您可以要求 Cline 从以下位置添加更多服务器:

  1. NPM 注册表:https://www.npmjs.com/search?q=%40modelcontextprotocol
  2. Python 包索引:https://pypi.org/search/?q=mcp+server-&o=

例如,您可以要求 Cline 安装 Python 包索引中找到的 mcp-server-fetch 包:

"安装名为 `mcp-server-fetch` 的 MCP 服务器
- 确保更新了 mcp 设置。
- 使用 uvx 或 python 运行服务器。"

您应该会看到 Cline:

  1. 安装 mcp-server-fetch python 包
  2. 更新 mcp 设置 json 文件
  3. 启动服务器

mcp 设置文件现在应该如下所示:

对于 Windows 机器:

{
	"mcpServers": {
		"mcp-installer": {
			"command": "cmd.exe",
			"args": ["/c", "npx", "-y", "@anaisbetts/mcp-installer"]
		},
		"mcp-server-fetch": {
			"command": "uvx",
			"args": ["mcp-server-fetch"]
		}
	}
}

您始终可以通过转到客户端的 MCP 服务器标签来检查服务器的状态。参见上图

就是这样!🎉 您刚刚为 Cline 赋予了一些强大的新能力!

📝 故障排除

1. 我使用 asdf 并收到 “unknown command: npx”

有一些不太好的消息。您仍然应该能够让事情正常工作,但除非 MCP 服务器打包有所改进,否则您需要做更多的手动工作。一个选项是卸载 asdf,但我们假设您不想这样做。

相反,您需要按照上述说明"编辑 MCP 设置"。然后,如此帖子所述,您需要为每个服务器的配置添加一个 “env” 条目。

"env": {
        "PATH": "/Users/<user_name>/.asdf/shims:/usr/bin:/bin",
        "ASDF_DIR": "<path_to_asdf_bin_dir>",
        "ASDF_DATA_DIR": "/Users/<user_name>/.asdf",
        "ASDF_NODEJS_VERSION": "<your_node_version>"
      }

path_to_asdf_bin_dir 通常可以在您的 shell 配置(例如 .zshrc)中找到。如果您使用 Homebrew,可以使用 echo ${HOMEBREW_PREFIX} 找到目录的开头,然后附加 /opt/asdf/libexec

现在有一些好消息。虽然不完美,但您可以相当可靠地让 Cline 为后续服务器安装执行此操作。将以下内容添加到 Cline 设置中的"自定义指令"中(右上角工具栏按钮):

安装 MCP 服务器并编辑 cline_mcp_settings.json 时,如果服务器需要使用 npx 作为命令,您必须从 “mcp-installer” 条目复制 “env” 条目并将其添加到新条目中。这对于让服务器在使用时正常工作至关重要。

2. 运行 MCP 安装程序时仍然出错

如果运行 MCP 安装程序时仍然出错,您可以尝试以下操作:

  • 检查 MCP 设置文件是否有错误
  • 阅读 MCP 服务器的文档,确保 MCP 设置文件使用了正确的命令和参数。👈
  • 使用终端直接运行命令及其参数。这将允许您看到 Cline 看到的相同错误。

3 - 从GitHub构建MCP服务器

本指南提供了如何使用Cline从GitHub仓库构建现有MCP服务器的分步教程。

从GitHub仓库构建MCP服务器

本指南提供了如何使用Cline从GitHub仓库构建现有MCP服务器的分步教程。

寻找MCP服务器

有多个在线平台可以找到MCP服务器:

  • Cline可以自动将MCP服务器添加到其列表中,然后您可以进行编辑。 Cline可以直接从GitHub克隆仓库并为您构建服务器。

  • GitHub: 在GitHub上找到MCP服务器的两个最常见的地方包括:

  • 在线目录: 有几个网站列出了MCP服务器,包括:

    这些目录允许用户根据下载量、日期、星标和使用案例等各种标准对服务器进行排序。每个条目都提供了诸如功能、工具和配置说明等信息。

  • PulseMCP: 该网站有一篇博客文章讨论了AI如何使用MCP服务器使网站过时。PulseMCP还包括一个关于MCP服务器的FAQ部分:https://www.pulsemcp.com/

使用Cline构建

  1. 启动过程: 向Cline提供以下信息:

    • GitHub仓库URL: 服务器仓库的URL。
    • README.md内容: 这是可选的,但有助于Cline了解服务器的用途和配置。您可以从GitHub仓库复制README.md文件。
  2. 与Cline的示例交互:

    用户: "Cline,我想添加用于Brave浏览器控制的MCP服务器。这是GitHub链接:https://github.com/modelcontextprotocol/servers/tree/main/src/brave 你能添加它吗?"
    
    Cline: "好的。将仓库克隆到MCP目录。因为它有一个'package.json'文件,所以需要构建。我应该运行'npm run build'吗?"
    
    用户: "是的,构建它。"
    
    Cline: "构建完成。这个服务器需要一个浏览器路径。你的Brave浏览器可执行文件在哪里?"
    
    用户: "它在'/Applications/Brave Browser.app/Contents/MacOS/Brave Browser'。"
    
    Cline: "好的。我已经用该路径更新了服务器配置,并将其添加到'cline_mcp_settings.json'中。还有其他事情吗?"
    
    用户: "没有了,就这样。让我们测试一下。"
    
    Cline: "太好了!启动MCP检查器以测试服务器连接。之后,我们可以尝试从Cline控制浏览器。"
    
  3. Cline的操作: 根据您的指示,Cline将执行以下操作:

    • 仓库克隆: Cline将仓库克隆到您的本地机器,通常在您的配置中指定的目录中。
    • 调整: 您可以指导Cline修改服务器的配置。例如:
      • 用户: “这个服务器需要一个API密钥。你能找到它应该添加在哪里吗?”
      • Cline可能会根据您的指示自动更新cline_mcp_settings.json文件或其他相关文件。
    • 构建服务器: Cline将运行适当的构建命令,通常是npm run build
    • 将服务器添加到设置: Cline会将服务器的配置添加到cline_mcp_settings.json文件中。

测试和故障排除

  1. 测试服务器: 一旦Cline完成构建过程,测试服务器以确保其按预期工作。如果遇到任何问题,Cline可以协助您。
  2. MCP检查器: 您可以使用MCP检查器来测试服务器的连接和功能。

最佳实践

  • 了解基础知识: 虽然Cline简化了流程,但了解服务器代码、MCP协议()以及如何配置服务器的基本知识是有益的。这有助于更有效地进行故障排除和定制。
  • 清晰的指示: 在整个过程中向Cline提供清晰具体的指示。
  • 测试: 在安装和配置后彻底测试服务器以确保其正常运行。
  • 版本控制: 使用版本控制系统(如Git)来跟踪服务器代码的更改。
  • 保持更新: 保持您的MCP服务器更新,以受益于最新的功能和安全补丁。

4 - 构建自定义MCP服务器

本指南提供了使用Cline的强大AI功能从头开始构建自定义MCP(模型上下文协议)服务器的全面教程。示例将构建一个“GitHub助手服务器”来说明该过程。

使用Cline从头开始构建自定义MCP服务器:全面指南

本指南提供了使用Cline的强大AI功能从头开始构建自定义MCP(模型上下文协议)服务器的全面教程。示例将构建一个“GitHub助手服务器”来说明该过程。

理解MCP和Cline在构建服务器中的作用

什么是MCP?

模型上下文协议(MCP)充当大型语言模型(LLMs)(如Claude)与外部工具和数据之间的桥梁。MCP由两个关键组件组成:

  • MCP主机: 这些是与LLMs集成的应用程序,例如Cline、Claude Desktop等。
  • MCP服务器: 这些是专门设计的小程序,通过MCP向LLMs暴露数据或特定功能。

这种设置在您拥有MCP兼容的聊天界面(如Claude Desktop)时非常有用,然后可以利用这些服务器访问信息并执行操作。

为什么使用Cline创建MCP服务器?

Cline通过利用其AI功能简化了构建和集成MCP服务器的过程:

  • 理解自然语言指令: 您可以以自然的方式与Cline交流,使开发过程直观且用户友好。
  • 克隆仓库: Cline可以直接从GitHub克隆现有的MCP服务器仓库,简化使用预构建服务器的过程。
  • 构建服务器: 一旦必要的代码就位,Cline可以执行诸如npm run build之类的命令来编译和准备服务器以供使用。
  • 处理配置: Cline管理MCP服务器所需的配置文件,包括将新服务器添加到cline_mcp_settings.json文件中。
  • 协助故障排除: 如果在开发或测试过程中出现错误,Cline可以帮助识别原因并提出解决方案,使调试更容易。

使用Cline构建GitHub助手服务器:分步指南

本节演示如何使用Cline创建一个GitHub助手服务器。该服务器将能够与GitHub数据交互并执行有用的操作:

1. 定义目标和初始需求

首先,您需要向Cline清楚地传达服务器的目的和功能:

  • 服务器目标: 告诉Cline您想构建一个“GitHub助手服务器”。指定该服务器将与GitHub数据交互,并可能提到您感兴趣的数据类型,如问题、拉取请求和用户配置文件。
  • 访问需求: 让Cline知道您需要访问GitHub API。解释这可能需要一个个人访问令牌(GITHUB_TOKEN)进行身份验证。
  • 数据特异性(可选): 您可以可选地告诉Cline您想从GitHub提取的特定数据字段,但这也可以在定义服务器工具时稍后确定。

2. Cline启动项目设置

根据您的指示,Cline启动项目设置过程:

  • 项目结构: Cline可能会询问您服务器的名称。之后,它使用MCP create-server工具为您的GitHub助手服务器生成基本项目结构。这通常涉及创建一个包含package.jsontsconfig.json和用于TypeScript代码的src文件夹的新目录。 \
  • 代码生成: Cline为您的服务器生成启动代码,包括:
    • 文件处理实用程序: 帮助读写文件的函数,通常用于存储数据或日志。 \
    • GitHub API客户端: 与GitHub API交互的代码,通常使用@octokit/graphql等库。Cline可能会询问您的GitHub用户名或您想使用的仓库。 \
    • 核心服务器逻辑: 处理来自Cline的请求并将其路由到适当函数的基本框架,如MCP所定义。 \
  • 依赖管理: Cline分析代码并识别必要的依赖项,将它们添加到package.json文件中。例如,与GitHub API交互可能需要@octokit/graphqlgraphqlaxios或类似的包。 \
  • 依赖安装: Cline执行npm install以下载并安装package.json中列出的依赖项,确保您的服务器拥有所有必需的库以正常运行。 \
  • 路径修正: 在开发过程中,您可能会移动文件或目录。Cline智能地识别这些变化并自动更新代码中的文件路径以保持一致性。
  • 配置: Cline将修改cline_mcp_settings.json文件以添加您的新GitHub助手服务器。这将包括:
    • 服务器启动命令: Cline将添加适当的命令来启动您的服务器(例如npm run start或类似的命令)。
    • 环境变量: Cline将添加所需的GITHUB_TOKEN变量。Cline可能会询问您的GitHub个人访问令牌,或者它可能会指导您将其安全地存储在单独的环境文件中。 \
  • 进度文档: 在整个过程中,Cline保持“记忆库”文件的更新。这些文件记录了项目的进度,突出显示已完成的任务、进行中的任务和待处理的任务。

3. 测试GitHub助手服务器

一旦Cline完成设置和配置,您就可以测试服务器的功能:

  • 使用服务器工具: Cline将在您的服务器中创建各种“工具”,代表操作或数据检索功能。要测试,您可以指示Cline使用特定工具。以下是与GitHub相关的示例:
    • get_issues: 要测试检索问题,您可能会对Cline说:“Cline,使用GitHub助手服务器中的get_issues工具向我展示’cline/cline’仓库中的未解决问题。” Cline将执行此工具并向您展示结果。
    • get_pull_requests: 要测试拉取请求检索,您可以要求Cline“使用get_pull_requests工具向我展示’facebook/react’仓库中上个月合并的拉取请求。” Cline将执行此工具,使用您的GITHUB_TOKEN访问GitHub API,并显示请求的数据。 \
  • 提供必要信息: Cline可能会提示您提供执行工具所需的额外信息,例如仓库名称、特定日期范围或其他过滤条件。
  • Cline执行工具: Cline处理与GitHub API的通信,检索请求的数据,并以清晰易懂的格式呈现。

4. 完善服务器并添加更多功能

开发通常是迭代的。当您使用GitHub助手服务器时,您会发现要添加的新功能或改进现有功能的方法。Cline可以协助这一持续过程:

  • 与Cline讨论: 与Cline讨论您对新工具或改进的想法。例如,您可能想要一个create_issue工具或get_user_profile工具。与Cline讨论这些工具所需的输入和输出。
  • 代码完善: Cline可以帮助您编写新功能所需的代码。Cline可以生成代码片段,建议最佳实践,并帮助您调试出现的任何问题。
  • 测试新功能: 添加新工具或功能后,您将再次使用Cline进行测试,确保它们按预期工作并与服务器的其余部分良好集成。
  • 与其他工具集成: 您可能希望将您的GitHub助手服务器与其他工具集成。例如,在“github-cline-mcp”源代码中,Cline协助将服务器与Notion集成,以创建一个跟踪GitHub活动的动态仪表板。 \

通过遵循这些步骤,您可以使用Cline从头开始创建自定义MCP服务器,利用其强大的AI功能来简化整个过程。Cline不仅协助构建服务器的技术方面,还帮助您思考设计、功能和潜在集成。