近期,MCP
(Model Context Protocol,模型上下文协议)在科技爱好者和开发者社区中引起了广泛关注。这项技术旨在简化大型语言模型(LLM)与各种外部工具和服务交互的方式,有望重塑我们利用 AI 处理信息和完成任务的模式。然而,正如许多新兴技术一样,MCP
的配置目前对非专业用户而言仍存在一定的学习曲线。
本文将深入探讨 MCP
的基本概念,提供一份详尽的配置指南,并通过一系列实用案例,展示如何利用 MCP
连接 AI 模型与常用的应用程序(如笔记、搜索、设计工具等),旨在帮助用户更顺畅地理解和应用这项潜力巨大的技术。文中将重点演示在通用聊天客户端 Chatwise
中的操作,同时也会涵盖在 AI 编程 IDE Windsurf
中的配置步骤。
理解 MCP 的核心价值
在深入配置细节之前,有必要先理解 MCP
试图解决的问题及其核心价值。过去,当需要让 LLM
使用特定工具(例如,访问邮件、查询数据库、控制软件)时,往往需要为每个模型和每个工具进行单独的适配开发。这是因为不同工具的 API
(应用程序编程接口)数据格式各异,导致集成工作复杂、耗时,新功能的添加也相对缓慢。
MCP
协议的出现,旨在通过建立一套统一的数据交换标准来改变这一现状。它定义了应用程序应如何向 LLM
提供上下文信息和可用工具的规范。任何兼容 MCP
协议的 LLM
或 AI 应用,原则上都可以与所有支持 MCP
的工具进行交互。
这种标准化将原本复杂的双向适配工作(模型适配工具,工具也需考虑适配不同模型)简化为单向适配(主要是工具或应用端遵循 MCP
规范)。更重要的是,对于已经拥有公开 API
的现有应用,第三方开发者也可以基于其 API
创建 MCP
封装层,使其兼容 MCP
生态,而无需等待官方提供原生支持。
可以参考下图所示的概念,它形象地展示了 MCP
如何作为中间层,统一 LLM
与多样化工具之间的通信。
配置前的准备工作
在开始配置 MCP
服务之前,用户需要了解并准备一些基础环境。需要注意的是,不同操作系统(尤其是 Windows
与 macOS
)在环境配置和网络设置方面可能存在差异和潜在的复杂性。对于缺乏编程经验的用户,如果在配置过程中遇到难以解决的问题,可能需要寻求额外的技术支持。
MCP
目前主要存在两种工作模式:
Stdio
(Standard Input/Output) 模式:主要用于本地服务。这种模式下,LLM
通过标准输入输出流与本地运行的程序或脚本进行交互,适用于操作本地文件、控制本地软件(如 3D 建模软件Blender
等没有在线 API 的场景)。SSE
(Server-Sent Events) 模式:主要用于远程服务。当工具本身提供在线API
时(如访问Google
邮件、日历等云服务),通常采用SSE
模式。LLM
通过标准的 HTTP 事件流与远程服务器通信。
SSE
模式的配置通常较为直接,一般只需提供一个服务链接(URL)即可,配置过程相对简单,本文不作重点介绍。目前社区中涌现的 MCP
服务大多采用 Stdio
模式,其配置相对复杂一些,需要进行一些准备工作。
配置 Stdio
模式的 MCP
服务,通常需要依赖特定的命令行工具来启动和管理 MCP
服务进程。常见的启动命令涉及 uvx
和 npx
。
- 安装
uv
(提供uvx
命令):uv
是一个由Astral
公司开发的、号称极其快速的 Python 包安装器和解析器,一些MCP
工具使用它来运行。- Windows 用户:按下
Win
键,搜索 "PowerShell",右键选择“以管理员身份运行”,粘贴并执行以下命令。完成后建议重启计算机。powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
- macOS 用户:打开“启动台”,搜索并启动“终端”应用,粘贴并执行以下命令。
curl -LsSf https://astral.sh/uv/install.sh | sh
- Windows 用户:按下
- 安装
Node.js
(提供npx
命令):npx
是Node.js
包执行器,允许用户运行npm
包中的命令,而无需全局安装这些包。访问Node.js
官方网站(https://nodejs.org/),下载适合您操作系统的 LTS(长期支持)版本,并按照标准流程完成安装。
完成以上环境准备后,就可以开始获取和配置具体的 MCP
服务了。
获取 MCP 服务配置信息
随着 MCP
的日益普及,出现了一些 MCP
服务的聚合网站,例如 MCP.so
和 Smithery.ai
(https://smithery.ai/) 等。这些平台收集并展示了由社区或开发者提供的各种 MCP
服务。
这些聚合网站的使用方式通常类似:用户可以在网站上浏览或搜索需要的 MCP
服务。对于需要 API
密钥或其他凭证的服务,网站通常会在介绍区域说明如何获取这些信息(下文的案例部分也会提供一些常用服务的 API
获取指引)。用户按要求输入必要的 API
密钥或参数后,网站会自动生成用于导入到不同客户端(如 Windsurf
或 Chatwise
)的 JSON
配置代码或相应的命令行参数。
接下来的配置部分将分别介绍如何在 Windsurf
和 Chatwise
这两个客户端中添加和配置 MCP
服务。用户可以根据自己使用的客户端选择相应的指南进行操作。
配置 MCP 服务:Windsurf 指南
对于使用 Windsurf
这款 AI 编程 IDE 的用户,配置 MCP
服务相对集成化。
- 打开设置:点击界面右上角的用户头像,选择 “Windsurf Settings”。
- 找到 MCP 配置:在设置菜单中找到 “MCP Servers” 选项。
- 添加服务:点击右侧的 “Add Server” 按钮。
Windsurf
的一个便利之处在于它内置了一些常用的 MCP
服务,用户可以直接启用。同时,由于 Windsurf
是一个流行的 IDE,许多 MCP
聚合网站会直接提供适配 Windsurf
的 JSON
配置代码。
如果需要添加内置列表之外的 MCP
服务,可以点击 “Add custom server” 按钮。
点击后,Windsurf
会打开一个 JSON
配置文件 (mcp_servers.json
)。用户需要将从聚合网站复制的 MCP
服务 JSON
配置代码粘贴到这个文件中。
注意:编辑此文件添加多个自定义服务器时,应将新服务器的 JSON
对象(通常是以服务 ID 作为键,包含 command
, env
等属性的对象)添加到 mcpServers
对象内部,与其他已有的服务对象并列,并确保整个 JSON
文件的语法结构正确(例如,对象之间用逗号分隔)。以下是 mcp_servers.json
的基本结构:
{
"mcpServers": {
"server_id_1": {
// Server 1 configuration details
},
"server_id_2": {
// Server 2 configuration details
}
// Add more servers here, separated by commas
}
}
如果对 JSON
语法不熟悉,可以将整个配置文件内容复制并请求 AI 助手(如 Claude
或 Deepseek
)检查语法错误并进行修复。将修复后的内容粘贴回文件,并务必保存修改。
配置完成后,返回 Windsurf
的 MCP Servers
设置界面。如果配置无误,应该能在列表中看到添加的 MCP
服务名称,并且其状态指示灯显示为绿色。红色指示灯则表示配置存在问题,需要检查 JSON
文件或相关命令、环境变量。
成功添加并启用 MCP
服务后,用户可以直接在 Windsurf
的聊天或代码编辑界面中,通过自然语言向 AI 提出需要使用该工具的请求。例如,可以指示 AI 将一段内容直接添加到用户的 Flomo
笔记中。
配置 MCP 服务:Chatwise 指南
对于更广大的非开发者用户群体,Chatwise
这样的 AI 聊天客户端可能是更常用的工具。Chatwise
的 MCP
配置界面相对直观,但正确设置命令行和环境变量是关键。
便捷的 JSON 导入方式:
值得庆幸的是,Chatwise
近期更新已支持直接从剪贴板导入 JSON
配置,极大地简化了配置流程。
- 在
Chatwise
中,点击左下角表示添加的“+”号图标。 - 选择“从剪切板导入 Json”选项。
- 如果剪贴板中已包含从
MCP
聚合网站或Windsurf
配置中复制的有效JSON
代码,Chatwise
会尝试解析并自动填充配置信息。
手动配置流程:
如果无法使用 JSON
导入或需要手动调整,可以按以下步骤操作:
- 打开设置:点击
Chatwise
左下角的用户头像,进入设置菜单。 - 找到工具管理:在设置中找到“工具”(Tools)或类似的管理入口。
- 添加新工具:点击界面左下角的“+”号图标开始添加新的
MCP
服务。
此时,通常需要填写以下几个关键信息:
- 类型 (Type):一般选择
Stdio
,除非明确知道是SSE
服务并获取到了相应的 URL。如果配置来源是JSON
格式,通常对应Stdio
模式。 - ID:为这个
MCP
服务设定一个唯一的、易于识别的名称(例如,Figma
、ExaSearch
)。 - 命令 (Command):这是启动
MCP
服务进程所需的完整命令行指令。 - 环境变量 (Environment Variables):某些
MCP
服务需要通过环境变量传入API
密钥或其他配置参数。
获取命令和环境变量:
如果只有 JSON
配置代码,如何转换为 Chatwise
所需的“命令”和“环境变量”格式?一个有效的方法是利用 AI 模型本身。可以将获取到的 JSON
配置代码提供给 LLM
(如 Claude
或 Deepseek
),并指示它: "请将这个 MCP
服务的 JSON
配置转换为适用于 Chatwise
手动添加工具的 '命令' 字符串和 '环境变量' 列表(格式为 KEY=VALUE,每行一个)"。
例如,对于一个高德地图 MCP
的 JSON
配置,AI 可以帮助分离出如下信息:
- 命令:
npx -y @amap/amap-maps-mcp-server
- 环境变量:
AMAP_MAPS_API_KEY=YOUR_API_KEY
(其中YOUR_API_KEY
需要用户替换为自己的密钥)
将 AI 提供的命令和环境变量分别填入 Chatwise
的对应输入框。
测试与启用:
配置完成后,通常会有一个“测试工具”或“调试”按钮。点击它可以验证配置是否正确。
- 成功: 如果配置无误,系统会列出该
MCP
服务提供的具体工具(即它能执行的功能)。 - 失败: 如果存在问题(如命令错误、
API
密钥无效、环境变量缺失等),系统会显示错误信息。用户可以根据错误信息进行排查,或将错误信息再次提交给 AI 请求解决方案。
调试通过后,保存配置。在 Chatwise
的主聊天界面,通常可以通过输入框旁边的工具图标(例如一个锤子图标)来管理和启用 MCP
服务。
启用 MCP
服务后(注意:可能需要先打开总开关,再单独勾选要激活的服务),用户就可以在聊天中通过自然语言与 AI 交互。当用户的请求涉及到已启用 MCP
服务的功能时,AI 会自动调用相应的工具来获取信息或执行操作。
例如,提出一个需要当前时间和近期新闻的问题,配置了 Time
和 Exa
搜索 MCP
的模型可能会先调用 Time
服务获取当前日期,然后调用 Exa
服务搜索相关新闻。
对于没有潜在风险的 MCP
服务,可以考虑勾选“自动执行工具”选项,这样 AI 在判断需要使用工具时会直接执行,无需用户手动确认,从而提高交互效率。
MCP 应用案例与参数参考
接下来,将介绍几个实用的 MCP
服务案例,包括它们的来源、功能简介以及在 Chatwise
中配置所需的参数。这些配置均经过测试验证。
案例一:从 Figma 设计稿生成网页代码
- MCP 服务:
Framelink Figma MCP Server
(来源: https://mcp.so/server/Figma-Context-MCP/GLips) - 功能: 允许 AI 访问指定的
Figma
设计稿内容,并基于设计稿生成前端网页代码(HTML/CSS/JS)。 - Chatwise 参数:
# 类型: Stdio # ID: FigmaMCP # 命令: npx -y figma-developer-mcp --stdio --figma-api-key=YOUR_FIGMA_API_KEY # 环境变量: (无,API Key直接在命令中提供)
注意: 将
YOUR_FIGMA_API_KEY
替换为用户自己的Figma
API Key。 - 获取 Figma API Token:
- 登录
Figma
,点击左上角头像,进入 “Settings”。 - 在设置中找到 “Personal access tokens” 部分。
- 创建一个新的 Token,权限范围(Scopes)根据
MCP
服务文档要求设置,通常选择只读权限即可(例如File content: read
,Dev resources: read
)。 - 生成 Token 后务必立即复制并妥善保存,因为它只显示一次。
- 登录
- 使用流程:
- 在
Figma
中打开你的设计稿,选中你想要转换成网页的画板(Frame)或组件。 - 右键点击选中的元素,选择 “Copy/Paste as” > “Copy link to selection”。
- 在
Chatwise
中启用Figma MCP
服务。 - 将复制的
Figma
链接粘贴到聊天框,并指示 AI “请根据这个 Figma 设计链接生成网页代码”。推荐使用具备强大代码生成能力的模型,如Google
的Gemini 1.5 Pro
或Anthropic
的Claude 3
系列模型。
- 在
案例二:构建自定义 AI 搜索功能 (Exa + Time)
- 功能: 组合使用两个
MCP
服务,让 AI 具备感知当前时间并执行网络搜索的能力,从而回答时效性问题或进行基于最新信息的查询。 - 所需 MCP 服务:
- Time MCP: 获取当前日期和时间。通常由模型提供方(如
Anthropic
为Claude
)提供官方实现,或有社区版本。 - Exa Search MCP: 使用
Exa
(原Metaphor
) 的API
进行高质量网络搜索。
- Time MCP: 获取当前日期和时间。通常由模型提供方(如
- Chatwise 参数 - Time MCP:
# 类型: Stdio # ID: TimeMCP # 命令: uvx mcp-server-time --local-timezone Asia/Shanghai # 环境变量: (无)
注意:
--local-timezone
参数值应设置为用户所在时区,例如Asia/Shanghai
,America/New_York
等。 - Chatwise 参数 - Exa Search MCP:
# 类型: Stdio # ID: ExaSearchMCP # 命令: npx -y exa-mcp-server # 环境变量: EXA_API_KEY=YOUR_EXA_API_KEY
注意: 将
YOUR_EXA_API_KEY
替换为用户自己的Exa
API Key。 - 获取 Exa API Key: 访问
Exa
官方网站的 API Key 管理页面 (https://dashboard.exa.ai/api-keys),注册账户后即可免费创建 API Key。 - 使用流程:
- 在
Chatwise
中同时启用Time MCP
和Exa Search MCP
。 - 向 AI 提出需要结合当前时间和网络搜索的问题,例如:“
OpenAI
最近有什么重要新闻发布吗?” - AI 应能自动调用
Time MCP
确认“最近”的时间范围,并使用Exa Search MCP
搜索相关新闻,然后整合信息进行回答。对于某些模型,如果它未能主动获取时间,可以在提问时明确提示,例如:“请结合今天的日期,搜索一下...”
- 在
案例三:将 Obsidian 笔记库接入 AI
- MCP 服务:
Obsidian Model Context Protocol
(来源: https://mcp.so/zh/server/mcp-obsidian/smithery-ai) - 功能: 允许 AI 检索和分析用户本地
Obsidian
笔记库中的内容,实现基于个人知识库的问答、总结等功能。 - 前提条件: 需要在
Obsidian
中安装并启用Local REST API
社区插件。- 打开
Obsidian
设置 > 第三方插件 > 社区插件市场。 - 搜索并安装
Local REST API
插件。 - 安装后,确保在“已安装插件”列表中启用该插件。
- 打开
- 获取 Local REST API Key 和 授权:
- 在
Local REST API
插件的设置页面,找到生成的API Key
并复制。
- 访问该插件提供的授权页面:https://coddingtonbear.github.io/obsidian-local-rest-api/
- 点击页面右下角的 "Authorize" 按钮,输入刚才复制的
API Key
,完成授权,使MCP
服务能够通过API
访问Obsidian
。
- 在
- 获取 Obsidian 仓库路径:
- 在
Obsidian
左下角点击当前仓库名称,选择“管理仓库”。
- 找到你的仓库,点击旁边的选项(通常是三个点或类似图标),选择“在文件管理器中显示”(Windows)或“在访达中显示仓库文件夹”(macOS)。
- 复制该仓库文件夹的完整路径。在 macOS 上,可以按住
Option
键右键单击文件夹,选择“将‘文件夹名称’拷贝为路径名称”。
- 在
- Chatwise 参数:
# 类型: Stdio # ID: ObsidianMCP # 命令: uv tool run mcp-obsidian --vault-path "YOUR_OBSIDIAN_VAULT_PATH" # 环境变量: OBSIDIAN_API_KEY=YOUR_OBSIDIAN_LOCAL_REST_API_KEY
注意:
- 将
"YOUR_OBSIDIAN_VAULT_PATH"
替换为你复制的Obsidian
仓库文件夹的完整路径,路径两边最好加上引号,特别是当路径包含空格时。 - 将
YOUR_OBSIDIAN_LOCAL_REST_API_KEY
替换为从Local REST API
插件设置中获取的API Key
。 - 原文档提示此服务文档不清晰,配置过程可能需要用户根据实际情况调试。
- 将
- 使用流程:
- 在
Chatwise
中启用Obsidian MCP
服务。 - 向 AI 提问,要求它在你
Obsidian
笔记库的特定文件夹或全局范围内查找、总结或分析相关内容。例如:“请在我的‘项目笔记’文件夹中查找关于MCP
协议的文章,并总结其要点。”
- 在
案例四:利用高德地图 MCP 检索地点并生成展示网页
- MCP 服务: 高德地图 MCP 服务 (
@amap/amap-maps-mcp-server
) - 功能: 利用高德地图
API
进行地理位置查询(如搜索附近的兴趣点 POI),获取经纬度等信息,并可结合其他能力(如 AI 的代码生成)创建基于地理信息的应用。 - 前提条件: 需要注册高德开放平台开发者账号,并创建一个应用以获取
API Key
。- 访问高德开放平台 (https://console.amap.com/dev/key/app)。
- 注册并完成个人开发者认证。
- 在控制台创建一个新应用。
- 为该应用添加 Key,选择服务平台为“Web 服务”。
- 复制生成的
API Key
。
- Chatwise 参数:
# 类型: Stdio # ID: AmapMCP # 命令: npx -y @amap/amap-maps-mcp-server # 环境变量: AMAP_MAPS_API_KEY=YOUR_AMAP_API_KEY
注意: 将
YOUR_AMAP_API_KEY
替换为你申请的高德地图 Web 服务API Key
。 - 使用流程 (示例):
- 在
Chatwise
中启用高德地图MCP
。 - 首先,可能需要让 AI 获取你当前位置或指定位置的经纬度(如果
MCP
支持)。 - 然后,指示 AI 使用高德地图
MCP
搜索附近的特定类型地点,例如:“请帮我查找当前位置附近评价最高的 5 家咖啡馆,并列出它们的名称、地址和评分。” - 进阶: 获取到咖啡馆列表信息后,可以进一步结合 AI 的代码生成能力(可能需要其他
MCP
或模型原生能力),要求 AI 将这些信息整理成一个简单的 HTML 网页进行展示。可以参考相关提示词工程技巧来实现更美观的可视化效果。
- 在
案例五:从 Arxiv 检索和下载论文
- MCP 服务:
arxiv-mcp-server
- 功能: 允许 AI 直接搜索学术预印本网站
Arxiv
上的论文,并能根据指令下载指定论文的PDF
文件到本地。 - Chatwise 参数:
# 类型: Stdio # ID: ArxivMCP # 命令: uv tool run arxiv-mcp-server --storage-path "/path/to/your/paper/storage" # 环境变量: (无)
注意:
- 将
"/path/to/your/paper/storage"
替换为你希望保存下载论文的本地文件夹路径。请确保路径存在且程序有写入权限。 Windows
用户需使用Windows
风格的路径,例如"C:\Users\YourUser\Documents\Papers"
。
- 将
- 使用流程:
- 在
Chatwise
中启用Arxiv MCP
服务。 - 向 AI 发出检索和下载论文的指令。例如:“请从
Arxiv
检索最近一个月关于‘Transformer 模型优化’的 10 篇论文,列出标题和摘要,并将它们下载到指定目录。”
- 在
案例六:通过对话快速创建 Flomo 笔记
- MCP 服务:
@chatmcp/mcp-server-flomo
(由社区开发者贡献,如逗哥) - 功能: 允许 AI 将聊天中生成的内容、总结或其他
MCP
工具获取的信息,直接发送到用户的Flomo
账户,并可指定标签。 - 前提条件: 需要从
Flomo
获取API
接入链接 (Webhook URL)。- 访问
Flomo
网页版或 App 的设置 >Flomo API
。 - 复制提供的
API
接入链接。
- 访问
- Chatwise 参数:
# 类型: Stdio # ID: FlomoMCP # 命令: npx -y @chatmcp/mcp-server-flomo # 环境变量: FLOMO_API_URL=YOUR_FLOMO_API_URL
注意: 将
YOUR_FLOMO_API_URL
替换为你从Flomo
获取的API
接入链接。 - 使用流程:
- 在
Chatwise
中启用Flomo MCP
服务。 - 在与 AI 对话后,如果希望保存某段有价值的内容,可以直接指示 AI:“请将刚才关于
MCP
配置的要点保存到我的Flomo
,并加上 #AI #MCP 标签。” - 也可以结合其他
MCP
使用,例如:“请搜索最新的 AI 行业新闻,并将结果摘要发送到我的Flomo
。”
- 在
结语:MCP 的前景与挑战
MCP
协议的出现,象征着 AI 工具生态系统正朝着更加开放和互联的方向发展,潜力巨大,如同当年 HTTP
协议统一了 Web 访问标准一样,MCP
有望成为统一 AI 与外部世界交互的关键协议。这种标准化不仅是技术层面的进步,更可能引发 AI 应用范式的变革,让 AI 从被动响应的角色转变为能够主动调用工具、执行复杂任务的智能代理。
通过 MCP
,原本需要大型团队才能构建的复杂 AI 工作流,理论上正逐步变得可由具备一定技术理解能力的个人用户进行定制和组装。这无疑是 AI 能力民主化进程中的重要一步。
然而,MCP
目前仍处于发展初期,其配置的复杂性是推广普及的主要障碍之一。技术创新往往伴随着易用性的挑战——在追求开放性、灵活性与追求简单、直观的用户体验之间需要找到平衡。这在新兴技术发展早期是常见现象。随着生态的成熟、工具链的完善以及更多开箱即用的解决方案(例如,未来可能实现的一键“安装 MCP
工具”),这种矛盾有望逐步缓解。
对于热衷于探索前沿科技的用户而言,现在开始尝试和理解 MCP
这类技术,即便过程可能遇到一些波折,也是对未来技能的一种投资。在人工智能日益普及的时代,熟练运用 AI 工具、理解其底层工作原理,将是提升个人和组织效率的关键。