mcpField
M
mcp-expert

mcp-expert

github.com/oakossAgent 工作流2093 次安装10 周前更新
代码仓库

关于 mcp-expert

MCP Expert 是帮助 Agent 构建和管理 MCP 生态的参考技能,面向开发 MCP 服务及配置连接的开发者。内容覆盖工具设计、传输、安全、测试和故障排查。

主要功能

  1. 01MCP 工具与接口设计指南
  2. 02Stdio 和 Streamable HTTP 配置
  3. 03OAuth 2.1 与权限安全建议
  4. 04测试、评估和 CI 检查方法
  5. 05连接故障排查参考

适用场景

  1. 01设计面向 LLM 的 MCP 工具
  2. 02配置本地或远程 MCP 服务传输
  3. 03测试 MCP 服务并排查连接问题

MCP 相关

该技能专门提供 MCP 服务开发、配置和管理指导,涵盖工具、资源、提示词、传输及安全。它不作为 MCP 服务本身向客户端提供功能。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/oakoss/agent-skills --skill mcp-expert

安装后在 Claude Code 中输入/mcp-expert确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
security-auth.md
server-development.md
testing-and-evaluation.md
transports.md
troubleshooting.md

详细介绍

MCP Expert

概述

构建和管理 Model Context Protocol 生态系统的权威资源。涵盖完整生命周期,从服务端开发和传输配置,到安全性、用户输入征询和异步任务执行。设计以 Agent 为先的工具接口,最大限度减少 token 用量并提高大模型准确性。

适用场景: 构建 MCP 服务、设计工具接口、配置传输方式(Stdio/Streamable HTTP)、实现 OAuth 2.1、排查连接问题,以及使用用户输入征询实现由服务端发起的用户交互。

不适用场景: 应用层业务逻辑、非 MCP API 设计、前端 UI 组件,以及与 MCP 无关的通用 HTTP API 开发。

快速参考

模式API/方法要点
以结果为导向的工具单次调用操作避免繁琐的多步骤 API
参数扁平化带描述的扁平 Zod 模式减少模型幻觉
渐进式披露为大型数据返回 mcp:// URIAgent 通过 resources/read 部分读取
可重试工具返回 retry_with 建议帮助大模型在输入不正确时自行纠正
有帮助的错误提供修复指导的描述性字符串绝不返回原始异常或堆栈跟踪
分页has_more + next_cursor 元数据每次调用最多返回 20-50 条记录
结构化输出在 outputSchema 中使用 JSON Schema为程序化使用提供类型化工具结果
Stdio 传输本地工具,仅向 stderr 写入日志除 JSON-RPC 外,绝不向 stdout 写入内容
Streamable HTTP远程/云端工具,单一端点替代已弃用的 SSE 传输
使用 PKCE 的 OAuth 2.1企业数据访问MCP 服务是资源服务端,而非认证服务端
用户输入征询由服务端发起的用户输入扁平模式映射到表单,包含三种响应状态
异步任务tasks/get、tasks/cancel长时间运行的操作返回任务句柄
能力范围read:docs、write:code、admin:users细粒度权限边界
HITL 门控confirmation_required 标志对破坏性操作进行人工审批
URL 用户输入征询安全凭据收集将用户重定向到浏览器,以输入敏感信息
扩展带命名空间的能力协商无需分叉规范即可支持可选功能
带工具的采样由服务端发起的大模型请求支持服务端 Agent 循环
MCP Inspectornpx @modelcontextprotocol/inspector无需大模型即可交互式测试工具
单元测试InMemoryTransport + Vitest使用模拟客户端测试工具处理程序
评估框架模式、错误、分页断言验证工具对大模型的适用质量
工具契约测试模式字段描述、边界情况描述每个字段,并处理可选参数
CI 冒烟测试GitHub Actions + Inspector CLI自动执行构建、测试和传输健康检查

规范版本

当前 MCP 规范为 2025-11-25。重要里程碑:

  • 2025-03-26:Streamable HTTP 传输(弃用独立 SSE)、工具注释
  • 2025-06-18:结构化工具输出、引导式输入、OAuth 授权服务器分离
  • 2025-11-25:异步任务、扩展框架、带工具的采样、CIMD 授权、服务发现

入门流程

当 Agent 需要新能力时:

  1. 验证:检查所需的 MCP 服务是否已处于活动状态
  2. 引导:如果缺少,则向用户提供直接的安装途径
  3. 配置:尽可能使用 uvx 或 npx 实现零安装执行

常见错误

错误正确做法
设计需要多次往返、交互繁琐的 API构建以结果为导向的工具,一次调用即可完成任务
向 stdout 写入日志,导致 Stdio 传输中断仅向 stderr 写入日志,以保持传输通道畅通
向大模型返回原始异常和堆栈跟踪返回实用的错误消息,并附上建议的修正方法
构建包含数十种工具的单体服务将服务的工具数量控制在 5-15 个,便于发现和维护
为新服务使用已弃用的 HTTP+SSE 传输远程服务使用 Streamable HTTP(单个端点,可选 SSE)
在 MCP 服务配置中硬编码密钥对所有敏感值使用环境变量映射
在一次工具调用中返回大型数据集对大型数据使用分页(20-50 条记录)或资源 URI
在 MCP 服务内部实现授权服务器MCP 服务仅充当 OAuth 2.1 资源服务器,并将授权委托给外部服务
工具描述含糊,导致大模型产生幻觉在工具描述字段中添加用法示例和严格约束
对长时间运行的操作进行同步阻塞对耗时超过超时阈值的操作返回异步任务句柄
将收到的令牌传递给上游 API在本地验证令牌;切勿转发,以避免混淆代理人攻击
通过引导式输入请求密钥使用 URL 模式的引导式输入或专用 OAuth 流程来收集凭证

MCP 原语

MCP 服务向客户端公开三种核心原语:

  • 工具:由模型控制、供大模型调用以完成任务的操作(函数调用)
  • 资源:由应用控制,通过 mcp:// URI 暴露、供客户端按需读取的数据
  • 提示词:由用户控制的模板,为特定工作流提供结构化上下文

服务会在 initialize 握手期间进行能力协商,并声明其支持的原语。2025 年 11 月的规范将 Tasks 添加为用于异步执行的实验性原语。

传输方式选择

场景传输方式说明
本地 CLI 工具Stdio启动最快,无网络开销
远程/云端服务Streamable HTTP单个端点,可选 SSE 流式传输
旧版远程服务HTTP+SSE自 2025-03-26 起已弃用,请迁移至 Streamable HTTP

客户端应尽可能支持 Stdio。Streamable HTTP 通过可选的 Mcp-Session-Id 标头支持无状态和有状态服务实现。

委派

  • 发现并审查现有 MCP 服务配置:使用 Explore Agent 检查活跃服务、验证连接,并找出缺失的功能
  • 构建并部署经过验证且具备身份验证的新 MCP 服务:使用 Task Agent 搭建服务框架、实现 Zod 验证并配置 OAuth
  • 为多 Agent 工作流设计 MCP 生态系统架构:使用 Plan Agent 规划工具边界、传输方式选择和安全范围

参考资料

评论

支持 Markdown