Skip to content

MCP 管理

配置概述

MCP(Model Context Protocol)是一种用于与大语言模型交互的通用协议,可以启用本地或远程工具与模型进行交互。通过 MCP 服务配置,您可以扩展 AI 功能,让模型能够调用外部工具和服务。

主要功能

  • 支持 Stdio、SSE(Server-Sent Events)和 Streamable 连接方式
  • 批量导入/导出 MCP 服务配置
  • 环境变量和 HTTP 头自定义配置
  • 实时服务状态管理和监控

配置项说明

配置名称

  • 说明:MCP 服务的标识名称
  • 格式:文本输入
  • 必填:是
  • 建议:使用描述性的名称,便于识别和管理,例如"filesystem"、"github"等

启用状态

  • 说明:控制 MCP 服务的启用/禁用状态
  • 选项
    • 启用:服务将在对话中可用
    • 禁用:服务暂停使用,但配置保留
  • 必填:是
  • 提示:临时停用某个服务时可设置为禁用,无需删除配置

MCP 类型

  • 说明:MCP 服务的连接方式
  • 选项
    • Stdio:标准输入输出方式,适用于本地进程
    • SSE:Server-Sent Events 方式,适用于 HTTP 服务
  • 必填:是
  • 说明:不同类型需要配置不同的参数

命令(Stdio 类型)

  • 说明:启动 MCP 服务进程的命令
  • 格式:文本输入
  • 必填:Stdio 类型必填
  • 示例
    • npx:使用 npx 运行 npm 包
    • node:直接运行 Node.js 脚本
    • python:运行 Python 脚本
  • 提示:确保命令在服务器环境中可用

参数(Stdio 类型)

  • 说明:传递给 MCP 服务进程的命令行参数
  • 格式:文本输入
  • 必填:否
  • 示例@modelcontextprotocol/server-filesystem
  • 提示:根据具体的 MCP 服务文档配置

环境变量

  • 说明:传递给 MCP 服务进程的环境变量
  • 格式:键值对,每行一个,格式为 KEY=VALUE
  • 必填:否
  • 示例
    PATH=/usr/local/bin
    API_KEY=your_api_key
  • 提示:某些 MCP 服务需要特定的环境变量才能正常工作

HTTP URL(SSE 类型)

  • 说明:SSE 服务的连接地址
  • 格式:URL 输入
  • 必填:SSE 类型必填
  • 示例https://api.example.com/mcp
  • 提示:确保 URL 可从服务器访问

HTTP 头

  • 说明:SSE 请求时包含的 HTTP 头信息
  • 格式:键值对,每行一个,格式为 KEY=VALUE
  • 必填:否
  • 示例
    Authorization=Bearer token123
    Content-Type=application/json
  • 提示:通常用于身份验证和内容协商

配置建议

连接方式选择

根据 MCP 服务的部署方式选择合适的连接类型:

Stdio 方式

  • 适用于本地运行的 MCP 服务
  • 性能较好,延迟低
  • 需要在服务器上安装对应的运行环境(Node.js、Python 等)

SSE 方式

  • 适用于远程 HTTP MCP 服务
  • 部署灵活,不依赖本地环境
  • 可能存在网络延迟

安全性配置

  1. 权限控制:仔细审查 MCP 服务的功能和权限,避免配置涉及敏感数据操作的服务
  2. 环境变量:不要在环境变量中硬编码敏感信息,使用密钥管理方案
  3. 网络隔离:对于远程 SSE 服务,确保网络连接安全
  4. 沙箱运行:尽可能在隔离环境中运行不受信任的 MCP 服务

批量管理

  • 导出配置:点击"一键导出"可导出所有 MCP 配置,便于备份和迁移
  • 批量导入:支持从 JSON 文件批量导入配置,快速部署多套环境

常用 MCP 服务

以下是一些常用的 MCP 服务示例:

文件系统操作

  • 命令:npx
  • 参数:@modelcontextprotocol/server-filesystem /allowed/path

GitHub 集成

  • 命令:npx
  • 参数:@modelcontextprotocol/server-github

数据库查询

  • 命令:npx
  • 参数:@modelcontextprotocol/server-postgres
  • 环境变量:配置 DATABASE_URL 连接字符串

常见问题

Q:MCP 服务有什么作用?

A:MCP 服务允许 AI 模型调用外部工具和服务,扩展模型的能力边界。例如:

  • 读取和写入文件
  • 查询数据库
  • 调用第三方 API
  • 执行系统命令

Q:Stdio 和 SSE 类型如何选择?

A

  • 如果 MCP 服务部署在本地服务器,选择 Stdio 类型性能更好
  • 如果 MCP 服务是远程 HTTP API,选择 SSE 类型更合适
  • HTTP 方式默认尝试 Streamable 格式,不成功会回退到标准 SSE

Q:如何测试 MCP 服务是否正常工作?

A

  1. 保存配置后,在列表中查看服务状态
  2. 在用户端对话中尝试使用相关功能
  3. 检查服务器日志,确认 MCP 服务启动和通信正常
  4. 使用导出功能备份配置,避免误操作丢失

Q:配置失败怎么办?

A:请检查:

  1. 命令是否在服务器环境中可用
  2. 参数格式是否正确(参考具体 MCP 服务的文档)
  3. 环境变量是否配置完整
  4. 网络连接是否正常(SSE 类型)
  5. 查看服务器日志获取详细错误信息

Q:是否支持自定义 MCP 服务?

A:支持。只要服务实现了 MCP 协议,都可以通过配置接入。您可以:

  • 开发自定义 MCP 服务
  • 使用社区提供的 MCP 服务
  • 配置服务的命令、参数和环境变量

Q:如何保证 MCP 服务的安全性?

A

  1. 审查 MCP 服务的功能和权限范围
  2. 仅启用必要的服务
  3. 使用最小权限原则配置环境变量
  4. 定期更新 MCP 服务到最新版本
  5. 监控服务使用情况,发现异常及时处理

相关文档

参考资源