MCP 课程文档

将 MCP 与本地和开源模型结合使用

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

将 MCP 与本地和开源模型结合使用

在本节中,我们将使用 Continue(一个用于构建 AI 编码助手的工具,可与 Ollama 等本地工具配合使用)将 MCP 与本地和开源模型连接起来。

设置 Continue

您可以从 VS Code marketplace 安装 Continue。

Continue 还有 JetBrains 的扩展插件

VS Code 扩展

  1. Visual Studio Marketplace 中的 Continue 扩展页面上点击 Install
  2. 这将打开 VS Code 中的 Continue 扩展页面,您需要再次点击 Install
  3. Continue 标志将出现在左侧边栏。为了获得更好的体验,请将 Continue 移动到右侧边栏

sidebar vs code demo

配置好 Continue 后,我们将继续设置 Ollama 以拉取本地模型。

本地模型

有多种方法可以运行与 Continue 兼容的本地模型。三个流行的选择是 Ollama、Llama.cpp 和 LM Studio。Ollama 是一个开源工具,允许用户轻松在本地运行大型语言模型 (LLM)。Llama.cpp 是一个用于运行 LLM 的高性能 C++ 库,它还包含一个兼容 OpenAI 的服务器。LM Studio 提供了一个用于运行本地模型的图形界面。

您可以从 Hugging Face Hub 访问本地模型,并获取所有主要本地推理应用程序的命令和快速链接。

hugging face hub

llamacpp
lmstudio
ollama

Llama.cpp 提供 llama-server,这是一个轻量级、兼容 OpenAI API 的 HTTP 服务器,用于提供 LLM 服务。您可以按照 Llama.cpp 仓库中的说明从源代码构建,或者如果您的系统有预构建的二进制文件,则可以使用预构建的二进制文件。有关更多信息,请查看 Llama.cpp 文档

一旦您拥有 llama-server,您就可以使用以下命令运行 Hugging Face 中的模型:

llama-server -hf unsloth/Devstral-Small-2505-GGUF:Q4_K_M

Continue 支持各种本地模型提供程序。除了 Ollama、Llama.cpp 和 LM Studio,您还可以使用其他提供程序。有关支持的提供程序的完整列表和详细配置选项,请参阅 Continue 文档

重要的是,我们使用的模型需要内置工具调用功能,例如 Codestral Qwen 和 Llama 3.1x。

  1. 在工作区顶层创建一个名为 .continue/models 的文件夹
  2. 在此文件夹中添加一个文件以配置您的模型提供程序。例如,local-models.yaml
  3. 根据您使用的是 Ollama、Llama.cpp 还是 LM Studio,添加以下配置。
llamacpp
lmstudio
ollama

此配置适用于通过 llama-server 提供服务的 llama.cpp 模型。请注意,model 字段应与您提供的模型匹配。

name: Llama.cpp model
version: 0.0.1
schema: v1
models:
  - provider: llama.cpp
    model: unsloth/Devstral-Small-2505-GGUF
    apiBase: https://:8080
    defaultCompletionOptions:
      contextLength: 8192 # Adjust based on the model
    name: Llama.cpp Devstral-Small
    roles:
      - chat
      - edit

默认情况下,每个模型都有一个最大上下文长度,本例中为 128000 个令牌。此设置包括对该上下文窗口的更大使用,以执行多个 MCP 请求,并且需要能够处理更多令牌。

工作原理

工具握手

工具为模型与外部世界交互提供了一种强大的方式。它们作为 JSON 对象提供给模型,包含名称和参数模式。例如,一个带有 filepath 参数的 read_file 工具将使模型能够请求特定文件的内容。

autonomous agents diagram

以下握手描述了代理如何使用工具:

  1. 在代理模式下,可用工具随 user 聊天请求一起发送。
  2. 模型可以选择在其响应中包含工具调用。
  3. 用户授予权限。如果该工具的策略设置为 Automatic,则跳过此步骤。
  4. Continue 使用内置功能或提供特定工具的 MCP 服务器调用该工具。
  5. Continue 将结果发送回模型。
  6. 模型响应,可能包含另一个工具调用,然后重新开始步骤 2。

Continue 支持多个本地模型提供程序。您可以为不同的任务使用不同的模型,或根据需要切换模型。本节重点介绍本地优先解决方案,但 Continue 确实与 OpenAI、Anthropic、Microsoft/Azure、Mistral 等流行提供程序兼容。您也可以运行自己的模型提供程序。

本地模型与 MCP 的集成

现在我们已经设置好一切,让我们添加一个现有的 MCP 服务器。下面是一个在您的助手中设置新 MCP 服务器的快速示例:

  1. 在工作区顶层创建一个名为 .continue/mcpServers 的文件夹
  2. 在此文件夹中添加一个名为 playwright-mcp.yaml 的文件
  3. 将以下内容写入 playwright-mcp.yaml 并保存
name: Playwright mcpServer
version: 0.0.1
schema: v1
mcpServers:
  - name: Browser search
    command: npx
    args:
      - "@playwright/mcp@latest"

现在通过提示以下命令来测试您的 MCP 服务器

1. Using playwright, navigate to https://news.ycombinator.com.

2. Extract the titles and URLs of the top 4 posts on the homepage.

3. Create a file named hn.txt in the root directory of the project.

4. Save this list as plain text in the hn.txt file, with each line containing the title and URL separated by a hyphen.

Do not output code or instructions—just complete the task and confirm when it is done.

结果将在当前工作目录中生成一个名为 hn.txt 的文件。

mcp output example

结论

通过将 Continue 与 Llama 3.1 和 MCP 服务器等本地模型结合使用,您已经解锁了一个强大的开发工作流,该工作流可以保护您的代码和数据隐私,同时利用尖端 AI 功能。

此设置让您能够灵活地使用专用工具自定义您的 AI 助手,从网络自动化到文件管理,所有这些都完全在您的本地机器上运行。准备好将您的开发工作流提升到新的水平了吗?从 Continue Hub MCP 探索页面开始尝试不同的 MCP 服务器,并发现本地 AI 如何改变您的编码体验。

< > 在 GitHub 上更新