AI个人学习
和实操指南
讯飞绘镜

MCP 配置与实战:连接 AI 与常用应用教程

近期,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 与多样化工具之间的通信。

Image
Image

配置前的准备工作

在开始配置 MCP 服务之前,用户需要了解并准备一些基础环境。需要注意的是,不同操作系统(尤其是 Windows 与 macOS)在环境配置和网络设置方面可能存在差异和潜在的复杂性。对于缺乏编程经验的用户,如果在配置过程中遇到难以解决的问题,可能需要寻求额外的技术支持。

MCP 目前主要存在两种工作模式:

  1. Stdio (Standard Input/Output) 模式:主要用于本地服务。这种模式下,LLM 通过标准输入输出流与本地运行的程序或脚本进行交互,适用于操作本地文件、控制本地软件(如 3D 建模软件 Blender 等没有在线 API 的场景)。
  2. 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
      
  • 安装 Node.js (提供 npx 命令)npx 是 Node.js 包执行器,允许用户运行 npm 包中的命令,而无需全局安装这些包。访问 Node.js 官方网站(https://nodejs.org/),下载适合您操作系统的 LTS(长期支持)版本,并按照标准流程完成安装。

Image

完成以上环境准备后,就可以开始获取和配置具体的 MCP 服务了。

获取 MCP 服务配置信息

随着 MCP 的日益普及,出现了一些 MCP 服务的聚合网站,例如 MCP.so 和 Smithery.ai (https://smithery.ai/) 等。这些平台收集并展示了由社区或开发者提供的各种 MCP 服务。

这些聚合网站的使用方式通常类似:用户可以在网站上浏览或搜索需要的 MCP 服务。对于需要 API 密钥或其他凭证的服务,网站通常会在介绍区域说明如何获取这些信息(下文的案例部分也会提供一些常用服务的 API 获取指引)。用户按要求输入必要的 API 密钥或参数后,网站会自动生成用于导入到不同客户端(如 Windsurf 或 Chatwise)的 JSON 配置代码或相应的命令行参数。

Image

接下来的配置部分将分别介绍如何在 Windsurf 和 Chatwise 这两个客户端中添加和配置 MCP 服务。用户可以根据自己使用的客户端选择相应的指南进行操作。

配置 MCP 服务:Windsurf 指南

对于使用 Windsurf 这款 AI 编程 IDE 的用户,配置 MCP 服务相对集成化。

  1. 打开设置:点击界面右上角的用户头像,选择 “Windsurf Settings”。
  2. 找到 MCP 配置:在设置菜单中找到 “MCP Servers” 选项。
  3. 添加服务:点击右侧的 “Add Server” 按钮。

Image

Windsurf 的一个便利之处在于它内置了一些常用的 MCP 服务,用户可以直接启用。同时,由于 Windsurf 是一个流行的 IDE,许多 MCP 聚合网站会直接提供适配 Windsurf 的 JSON 配置代码。

如果需要添加内置列表之外的 MCP 服务,可以点击 “Add custom server” 按钮。

点击后,Windsurf 会打开一个 JSON 配置文件 (mcp_servers.json)。用户需要将从聚合网站复制的 MCP 服务 JSON 配置代码粘贴到这个文件中。

注意:编辑此文件添加多个自定义服务器时,应将新服务器的 JSON 对象(通常是以服务 ID 作为键,包含 commandenv 等属性的对象)添加到 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)检查语法错误并进行修复。将修复后的内容粘贴回文件,并务必保存修改。

Image

配置完成后,返回 Windsurf 的 MCP Servers 设置界面。如果配置无误,应该能在列表中看到添加的 MCP 服务名称,并且其状态指示灯显示为绿色。红色指示灯则表示配置存在问题,需要检查 JSON 文件或相关命令、环境变量。

Image

成功添加并启用 MCP 服务后,用户可以直接在 Windsurf 的聊天或代码编辑界面中,通过自然语言向 AI 提出需要使用该工具的请求。例如,可以指示 AI 将一段内容直接添加到用户的 Flomo 笔记中。

Image

配置 MCP 服务:Chatwise 指南

对于更广大的非开发者用户群体,Chatwise 这样的 AI 聊天客户端可能是更常用的工具。Chatwise 的 MCP 配置界面相对直观,但正确设置命令行和环境变量是关键。

便捷的 JSON 导入方式:

值得庆幸的是,Chatwise 近期更新已支持直接从剪贴板导入 JSON 配置,极大地简化了配置流程。

  1. 在 Chatwise 中,点击左下角表示添加的“+”号图标。
  2. 选择“从剪切板导入 Json”选项。
  3. 如果剪贴板中已包含从 MCP 聚合网站或 Windsurf 配置中复制的有效 JSON 代码,Chatwise 会尝试解析并自动填充配置信息。

Image

手动配置流程:

如果无法使用 JSON 导入或需要手动调整,可以按以下步骤操作:

  1. 打开设置:点击 Chatwise 左下角的用户头像,进入设置菜单。
  2. 找到工具管理:在设置中找到“工具”(Tools)或类似的管理入口。
  3. 添加新工具:点击界面左下角的“+”号图标开始添加新的 MCP 服务。

此时,通常需要填写以下几个关键信息:

  • 类型 (Type):一般选择 Stdio,除非明确知道是 SSE 服务并获取到了相应的 URL。如果配置来源是 JSON 格式,通常对应 Stdio 模式。
  • ID:为这个 MCP 服务设定一个唯一的、易于识别的名称(例如,FigmaExaSearch)。
  • 命令 (Command):这是启动 MCP 服务进程所需的完整命令行指令。
  • 环境变量 (Environment Variables):某些 MCP 服务需要通过环境变量传入 API 密钥或其他配置参数。

Image

获取命令和环境变量:

如果只有 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 服务。

Image

启用 MCP 服务后(注意:可能需要先打开总开关,再单独勾选要激活的服务),用户就可以在聊天中通过自然语言与 AI 交互。当用户的请求涉及到已启用 MCP 服务的功能时,AI 会自动调用相应的工具来获取信息或执行操作。

例如,提出一个需要当前时间和近期新闻的问题,配置了 Time 和 Exa 搜索 MCP 的模型可能会先调用 Time 服务获取当前日期,然后调用 Exa 服务搜索相关新闻。

Image

对于没有潜在风险的 MCP 服务,可以考虑勾选“自动执行工具”选项,这样 AI 在判断需要使用工具时会直接执行,无需用户手动确认,从而提高交互效率。

Image   Image

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:
    1. 登录 Figma,点击左上角头像,进入 “Settings”。
    2. 在设置中找到 “Personal access tokens” 部分。
    3. 创建一个新的 Token,权限范围(Scopes)根据 MCP 服务文档要求设置,通常选择只读权限即可(例如 File content: readDev resources: read)。
    4. 生成 Token 后务必立即复制并妥善保存,因为它只显示一次。

    Image   Image

  • 使用流程:
    1. 在 Figma 中打开你的设计稿,选中你想要转换成网页的画板(Frame)或组件。
    2. 右键点击选中的元素,选择 “Copy/Paste as” > “Copy link to selection”。
    3. 在 Chatwise 中启用 Figma MCP 服务。
    4. 将复制的 Figma 链接粘贴到聊天框,并指示 AI “请根据这个 Figma 设计链接生成网页代码”。推荐使用具备强大代码生成能力的模型,如 Google 的 Gemini 1.5 Pro 或 Anthropic 的 Claude 3 系列模型。

    Image
    Image

案例二:构建自定义 AI 搜索功能 (Exa + Time)

  • 功能: 组合使用两个 MCP 服务,让 AI 具备感知当前时间并执行网络搜索的能力,从而回答时效性问题或进行基于最新信息的查询。
  • 所需 MCP 服务:
    1. Time MCP: 获取当前日期和时间。通常由模型提供方(如 Anthropic 为 Claude)提供官方实现,或有社区版本。
    2. Exa Search MCP: 使用 Exa (原 Metaphor) 的 API 进行高质量网络搜索。
  • Chatwise 参数 - Time MCP:
    # 类型: Stdio
    # ID: TimeMCP
    # 命令:
    uvx mcp-server-time --local-timezone Asia/Shanghai
    # 环境变量: (无)
    

    注意--local-timezone 参数值应设置为用户所在时区,例如 Asia/ShanghaiAmerica/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。
  • 使用流程:
    1. 在 Chatwise 中同时启用 Time MCP 和 Exa Search MCP
    2. 向 AI 提出需要结合当前时间和网络搜索的问题,例如:“OpenAI 最近有什么重要新闻发布吗?”
    3. AI 应能自动调用 Time MCP 确认“最近”的时间范围,并使用 Exa Search MCP 搜索相关新闻,然后整合信息进行回答。对于某些模型,如果它未能主动获取时间,可以在提问时明确提示,例如:“请结合今天的日期,搜索一下...”

    Image

案例三:将 Obsidian 笔记库接入 AI

  • MCP 服务Obsidian Model Context Protocol (来源: https://mcp.so/zh/server/mcp-obsidian/smithery-ai)
  • 功能: 允许 AI 检索和分析用户本地 Obsidian 笔记库中的内容,实现基于个人知识库的问答、总结等功能。
  • 前提条件: 需要在 Obsidian 中安装并启用 Local REST API 社区插件。
    1. 打开 Obsidian 设置 > 第三方插件 > 社区插件市场。
    2. 搜索并安装 Local REST API 插件。
    3. 安装后,确保在“已安装插件”列表中启用该插件。

    Image

  • 获取 Local REST API Key 和 授权:
    1. 在 Local REST API 插件的设置页面,找到生成的 API Key 并复制。
      Image
    2. 访问该插件提供的授权页面:https://coddingtonbear.github.io/obsidian-local-rest-api/
    3. 点击页面右下角的 "Authorize" 按钮,输入刚才复制的 API Key,完成授权,使 MCP 服务能够通过 API 访问 Obsidian

    Image

  • 获取 Obsidian 仓库路径:
    1. 在 Obsidian 左下角点击当前仓库名称,选择“管理仓库”。
      Image
    2. 找到你的仓库,点击旁边的选项(通常是三个点或类似图标),选择“在文件管理器中显示”(Windows)或“在访达中显示仓库文件夹”(macOS)。
    3. 复制该仓库文件夹的完整路径。在 macOS 上,可以按住 Option 键右键单击文件夹,选择“将‘文件夹名称’拷贝为路径名称”。

    Image

  • 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
    • 原文档提示此服务文档不清晰,配置过程可能需要用户根据实际情况调试。
  • 使用流程:
    1. 在 Chatwise 中启用 Obsidian MCP 服务。
    2. 向 AI 提问,要求它在你 Obsidian 笔记库的特定文件夹或全局范围内查找、总结或分析相关内容。例如:“请在我的‘项目笔记’文件夹中查找关于 MCP 协议的文章,并总结其要点。”

    Image

案例四:利用高德地图 MCP 检索地点并生成展示网页

  • MCP 服务: 高德地图 MCP 服务 (@amap/amap-maps-mcp-server)
  • 功能: 利用高德地图 API 进行地理位置查询(如搜索附近的兴趣点 POI),获取经纬度等信息,并可结合其他能力(如 AI 的代码生成)创建基于地理信息的应用。
  • 前提条件: 需要注册高德开放平台开发者账号,并创建一个应用以获取 API Key
    1. 访问高德开放平台 (https://console.amap.com/dev/key/app)。
    2. 注册并完成个人开发者认证。
    3. 在控制台创建一个新应用。
    4. 为该应用添加 Key,选择服务平台为“Web 服务”。
    5. 复制生成的 API Key

    Image

  • 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

    Image

  • 使用流程 (示例):
    1. 在 Chatwise 中启用高德地图 MCP
    2. 首先,可能需要让 AI 获取你当前位置或指定位置的经纬度(如果 MCP 支持)。
    3. 然后,指示 AI 使用高德地图 MCP 搜索附近的特定类型地点,例如:“请帮我查找当前位置附近评价最高的 5 家咖啡馆,并列出它们的名称、地址和评分。”
    4. 进阶: 获取到咖啡馆列表信息后,可以进一步结合 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"
  • 使用流程:
    1. 在 Chatwise 中启用 Arxiv MCP 服务。
    2. 向 AI 发出检索和下载论文的指令。例如:“请从 Arxiv 检索最近一个月关于‘Transformer 模型优化’的 10 篇论文,列出标题和摘要,并将它们下载到指定目录。”

    Image

案例六:通过对话快速创建 Flomo 笔记

  • MCP 服务@chatmcp/mcp-server-flomo (由社区开发者贡献,如逗哥)
  • 功能: 允许 AI 将聊天中生成的内容、总结或其他 MCP 工具获取的信息,直接发送到用户的 Flomo 账户,并可指定标签。
  • 前提条件: 需要从 Flomo 获取 API 接入链接 (Webhook URL)。
    1. 访问 Flomo 网页版或 App 的设置 > Flomo API
    2. 复制提供的 API 接入链接。

    Image

  • Chatwise 参数:
    # 类型: Stdio
    # ID: FlomoMCP
    # 命令:
    npx -y @chatmcp/mcp-server-flomo
    # 环境变量:
    FLOMO_API_URL=YOUR_FLOMO_API_URL
    

    注意: 将 YOUR_FLOMO_API_URL 替换为你从 Flomo 获取的 API 接入链接。

  • 使用流程:
    1. 在 Chatwise 中启用 Flomo MCP 服务。
    2. 在与 AI 对话后,如果希望保存某段有价值的内容,可以直接指示 AI:“请将刚才关于 MCP 配置的要点保存到我的 Flomo,并加上 #AI #MCP 标签。”
    3. 也可以结合其他 MCP 使用,例如:“请搜索最新的 AI 行业新闻,并将结果摘要发送到我的 Flomo。”

    Image

结语:MCP 的前景与挑战

MCP 协议的出现,象征着 AI 工具生态系统正朝着更加开放和互联的方向发展,潜力巨大,如同当年 HTTP 协议统一了 Web 访问标准一样,MCP 有望成为统一 AI 与外部世界交互的关键协议。这种标准化不仅是技术层面的进步,更可能引发 AI 应用范式的变革,让 AI 从被动响应的角色转变为能够主动调用工具、执行复杂任务的智能代理。

通过 MCP,原本需要大型团队才能构建的复杂 AI 工作流,理论上正逐步变得可由具备一定技术理解能力的个人用户进行定制和组装。这无疑是 AI 能力民主化进程中的重要一步。

然而,MCP 目前仍处于发展初期,其配置的复杂性是推广普及的主要障碍之一。技术创新往往伴随着易用性的挑战——在追求开放性、灵活性与追求简单、直观的用户体验之间需要找到平衡。这在新兴技术发展早期是常见现象。随着生态的成熟、工具链的完善以及更多开箱即用的解决方案(例如,未来可能实现的一键“安装 MCP 工具”),这种矛盾有望逐步缓解。

对于热衷于探索前沿科技的用户而言,现在开始尝试和理解 MCP 这类技术,即便过程可能遇到一些波折,也是对未来技能的一种投资。在人工智能日益普及的时代,熟练运用 AI 工具、理解其底层工作原理,将是提升个人和组织效率的关键。

未经允许不得转载:首席AI分享圈 » MCP 配置与实战:连接 AI 与常用应用教程
zh_CN简体中文