SuperAPI AI 工具集

mcp

智能体与模型

查看项目

更新于 10-15 08:48

技能介绍

用途

本技能面向使用 Model Context Protocol(MCP)扩展 LLM 能力的开发场景。MCP 是一个标准化协议,使 LLM 能够访问外部工具和数据源,实现 AI 应用与集成之间的双向通信,为上下文提供方提供统一接口,并支持安全、可扩展的 AI 集成。其核心价值在于:MCP 标准化了 LLM 访问上下文的方式,使集成可在不同应用间复用。

适用场景包括:构建向 LLM 暴露工具、资源或提示的 MCP 服务器;创建与 Claude 或其他 LLM 应用集成的 MCP 客户端;扩展 Claude Desktop 的自定义功能;实现标准化的 LLM 上下文协议;为 AI 应用开发插件;创建可复用的 AI 工具集成;构建带安全性的企业级 AI 集成;为 MCP 实现 OAuth 2.1 授权;使用 Inspector 工具调试 MCP 服务器;了解 MCP 架构与最佳实践;将外部 API 与 LLM 集成;构建可供 AI 助手访问的知识库。

主要能力

MCP 架构由 LLM 客户端(如 Claude Desktop 或自定义客户端)、MCP 服务器(集成实现)以及外部 API 与数据源组成,客户端与服务器之间通过 MCP 协议(JSON-RPC)通信。

核心概念包括三类:

  1. 资源(Resources):客户端可读取的类文件数据,类似 GET 端点,提供无副作用的信息,例如文件内容、API 响应、数据库记录。
  2. 工具(Tools):LLM 可调用的函数,类似 POST 端点,执行代码并产生副作用,需要用户批准,例如发送邮件、创建文件、调用 API。
  3. 提示(Prompts):预编写的模板,可复用的交互模式,保证用户与模型交互的一致性,例如代码审查模板、数据分析提示。

使用方式

安装方面,Python SDK 可使用 uv(推荐)执行 uv add "mcp[cli]",或使用 pip 执行 pip install "mcp[cli]",开发时执行 pip install "mcp[cli,dev]";要求 Python 3.10+ 与 MCP SDK 1.2.0+。TypeScript SDK 执行 npm install @modelcontextprotocol/sdk zod,TypeScript 项目可执行 npm install --save-dev typescript @types/node;要求 Node.js 16+ 与 Zod v3.25+。MCP Inspector 无需安装,使用 npx @modelcontextprotocol/inspector <command> 运行。

构建服务器时,Python 可使用 FastMCP,通过 @mcp.resource、@mcp.tool、@mcp.prompt 装饰器分别定义资源、工具和提示;开发运行使用 uv run mcp dev my_server.py,生产环境可使用 stdio 或 HTTP/SSE 方式启动。TypeScript 服务器使用 @modelcontextprotocol/sdk/server/index.js 中的 Server 类,注册 tools/list 与 tools/call 请求处理器,并通过 StdioServerTransport 连接。

构建客户端时,Python 客户端使用 ClientSession 与 stdio_client 连接服务器,列出工具并转换为 Claude 可用的工具格式,循环处理 tool_use 响应并回传 tool_result。TypeScript 客户端使用 Client 与 StdioClientTransport,流程类似。

与 Claude Desktop 集成时,编辑 claude_desktop_config.json(macOS 路径为 ~/Library/Application Support/Claude/claude_desktop_config.json,Windows 路径为 %APPDATA%\Claude\claude_desktop_config.json),在 mcpServers 中配置服务器命令与参数。注意必须使用绝对路径,需完全重启 Claude Desktop,macOS 日志位于 ~/Library/Logs/Claude/。验证时完全重启 Claude Desktop、开启新对话,查看 🔨 图标确认工具可用。

安全与授权

MCP 使用标准化 OAuth 2.1 进行授权,适用于服务器处理敏感数据、企业环境、多用户系统以及有审计追踪要求的场景。可通过 OAuth2Provider 配置授权端点、令牌端点、客户端 ID、密钥与作用域,并在工具上声明 required_scopes。安全最佳实践包括:使用环境变量存储密钥;实现令牌验证(校验签名、过期时间、受众);使用短期令牌(如 15 分钟);遵循最小权限作用域;绝不记录凭据;向客户端返回通用错误信息;生产环境强制使用 HTTPS。

调试与常见模式

MCP Inspector 可用于检查本地服务器、带参数服务器、TypeScript 服务器或 npm 包。其功能包括:服务器连接面板(配置 stdio、HTTP、SSE 传输方式与命令行参数)、资源标签页(查看资源、测试订阅、预览内容与 MIME 类型)、提示标签页(列出模板、测试参数、预览消息)、工具标签页(查看 schema、执行工具、测试参数校验与响应格式)、通知面板(监控日志、实时通知与错误警告)。调试工作流为:启动 Inspector、测试工具、修改服务器代码、在 Inspector 中重连、测试边界情况(无效输入、缺失参数)。

常见模式包括文件系统服务器(读取文件、写入文件、列出目录)与 API 集成服务器等。

关键限制

在 STDIO 服务器中绝不能向 stdout 写入内容,否则会破坏 JSON-RPC 通信;应使用 stderr 或日志库输出调试信息。