MCP 课程文档
将 MCP 与本地和开源模型结合使用
并获得增强的文档体验
开始使用
将 MCP 与本地和开源模型结合使用
在本节中,我们将使用 Continue(一个用于构建 AI 编码助手的工具,可与 Ollama 等本地工具配合使用)将 MCP 与本地和开源模型连接起来。
设置 Continue
您可以从 VS Code marketplace 安装 Continue。
VS Code 扩展
- 在 Visual Studio Marketplace 中的 Continue 扩展页面上点击
Install
- 这将打开 VS Code 中的 Continue 扩展页面,您需要再次点击
Install
- Continue 标志将出现在左侧边栏。为了获得更好的体验,请将 Continue 移动到右侧边栏
配置好 Continue 后,我们将继续设置 Ollama 以拉取本地模型。
本地模型
有多种方法可以运行与 Continue 兼容的本地模型。三个流行的选择是 Ollama、Llama.cpp 和 LM Studio。Ollama 是一个开源工具,允许用户轻松在本地运行大型语言模型 (LLM)。Llama.cpp 是一个用于运行 LLM 的高性能 C++ 库,它还包含一个兼容 OpenAI 的服务器。LM Studio 提供了一个用于运行本地模型的图形界面。
您可以从 Hugging Face Hub 访问本地模型,并获取所有主要本地推理应用程序的命令和快速链接。
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。
- 在工作区顶层创建一个名为
.continue/models
的文件夹 - 在此文件夹中添加一个文件以配置您的模型提供程序。例如,
local-models.yaml
。 - 根据您使用的是 Ollama、Llama.cpp 还是 LM Studio,添加以下配置。
此配置适用于通过 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
工具将使模型能够请求特定文件的内容。
以下握手描述了代理如何使用工具:
- 在代理模式下,可用工具随
user
聊天请求一起发送。 - 模型可以选择在其响应中包含工具调用。
- 用户授予权限。如果该工具的策略设置为
Automatic
,则跳过此步骤。 - Continue 使用内置功能或提供特定工具的 MCP 服务器调用该工具。
- Continue 将结果发送回模型。
- 模型响应,可能包含另一个工具调用,然后重新开始步骤 2。
Continue 支持多个本地模型提供程序。您可以为不同的任务使用不同的模型,或根据需要切换模型。本节重点介绍本地优先解决方案,但 Continue 确实与 OpenAI、Anthropic、Microsoft/Azure、Mistral 等流行提供程序兼容。您也可以运行自己的模型提供程序。
本地模型与 MCP 的集成
现在我们已经设置好一切,让我们添加一个现有的 MCP 服务器。下面是一个在您的助手中设置新 MCP 服务器的快速示例:
- 在工作区顶层创建一个名为
.continue/mcpServers
的文件夹 - 在此文件夹中添加一个名为
playwright-mcp.yaml
的文件 - 将以下内容写入
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
的文件。
结论
通过将 Continue 与 Llama 3.1 和 MCP 服务器等本地模型结合使用,您已经解锁了一个强大的开发工作流,该工作流可以保护您的代码和数据隐私,同时利用尖端 AI 功能。
此设置让您能够灵活地使用专用工具自定义您的 AI 助手,从网络自动化到文件管理,所有这些都完全在您的本地机器上运行。准备好将您的开发工作流提升到新的水平了吗?从 Continue Hub MCP 探索页面开始尝试不同的 MCP 服务器,并发现本地 AI 如何改变您的编码体验。
< > 在 GitHub 上更新