plugins/plugin-dev/skills/mcp-integration/SKILL.md
当用户要求 "add MCP server", "integrate MCP", "configure MCP in plugin", "use .mcp.json", "set up Model Context Protocol", "connect external service", 提到 "${CLAUDE_PLUGIN_ROOT} with MCP", 或讨论 MCP 服务器类型 (SSE, stdio, HTTP, WebSocket) 时应使用此技能. 提供将模型上下文协议服务器集成到 Claude Code 插件中以实现外部工具和服务集成的全面指导.
npx skillsauth add phpmac/skills mcp-integrationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
模型上下文协议 (MCP) 使 Claude Code 插件能够通过提供结构化工具访问来与外部服务和 API 集成. 使用 MCP 集成将外部服务能力作为 Claude Code 内的工具暴露.
核心能力:
插件可以通过两种方式捆绑 MCP 服务器:
在插件根目录创建 .mcp.json:
{
"database-tools": {
"command": "${CLAUDE_PLUGIN_ROOT}/servers/db-server",
"args": ["--config", "${CLAUDE_PLUGIN_ROOT}/config.json"],
"env": {
"DB_URL": "${DB_URL}"
}
}
}
优点:
在 plugin.json 中添加 mcpServers 字段:
{
"name": "my-plugin",
"version": "1.0.0",
"mcpServers": {
"plugin-api": {
"command": "${CLAUDE_PLUGIN_ROOT}/servers/api-server",
"args": ["--port", "8080"]
}
}
}
优点:
将本地 MCP 服务器作为子进程执行. 最适合本地工具和自定义服务器.
配置:
{
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/allowed/path"],
"env": {
"LOG_LEVEL": "debug"
}
}
}
用例:
进程管理:
连接到带 OAuth 支持的托管 MCP 服务器. 最适合云服务.
配置:
{
"asana": {
"type": "sse",
"url": "https://mcp.asana.com/sse"
}
}
用例:
认证:
连接到带令牌认证的 RESTful MCP 服务器.
配置:
{
"api-service": {
"type": "http",
"url": "https://api.example.com/mcp",
"headers": {
"Authorization": "Bearer ${API_TOKEN}",
"X-Custom-Header": "value"
}
}
}
用例:
连接到 WebSocket MCP 服务器以实现实时双向通信.
配置:
{
"realtime-service": {
"type": "ws",
"url": "wss://mcp.example.com/ws",
"headers": {
"Authorization": "Bearer ${TOKEN}"
}
}
}
用例:
所有 MCP 配置支持环境变量替换:
${CLAUDE_PLUGIN_ROOT} - 插件目录 (始终用于可移植性):
{
"command": "${CLAUDE_PLUGIN_ROOT}/servers/my-server"
}
用户环境变量 - 来自用户的 shell:
{
"env": {
"API_KEY": "${MY_API_KEY}",
"DATABASE_URL": "${DB_URL}"
}
}
最佳实践: 在插件 README 中记录所有必需的环境变量.
当 MCP 服务器提供工具时, 它们会自动添加前缀:
格式: mcp__plugin_<plugin-name>_<server-name>__<tool-name>
示例:
asanaasanacreate_taskmcp__plugin_asana_asana__asana_create_task在命令 frontmatter 中预允许特定 MCP 工具:
---
allowed-tools: [
"mcp__plugin_asana_asana__asana_create_task",
"mcp__plugin_asana_asana__asana_search_tasks"
]
---
通配符 (谨慎使用):
---
allowed-tools: ["mcp__plugin_asana_asana__*"]
---
最佳实践: 预允许特定工具, 而不是通配符, 以确保安全.
自动启动:
生命周期:
mcp__plugin_...__...查看服务器:
使用 /mcp 命令查看所有服务器, 包括插件提供的服务器.
OAuth 由 Claude Code 自动处理:
{
"type": "sse",
"url": "https://mcp.example.com/sse"
}
用户在首次使用时在浏览器中进行认证. 无需额外配置.
静态或环境变量令牌:
{
"type": "http",
"url": "https://api.example.com",
"headers": {
"Authorization": "Bearer ${API_TOKEN}"
}
}
在 README 中记录必需的环境变量.
将配置传递给 MCP 服务器:
{
"command": "python",
"args": ["-m", "my_mcp_server"],
"env": {
"DATABASE_URL": "${DB_URL}",
"API_KEY": "${API_KEY}",
"LOG_LEVEL": "info"
}
}
命令使用 MCP 工具与用户交互:
# 命令: create-item.md
---
allowed-tools: ["mcp__plugin_name_server__create_item"]
---
步骤:
1. 从用户收集项目详情
2. 使用 mcp__plugin_name_server__create_item
3. 确认创建
用于: 在 MCP 调用前添加验证或预处理.
Agents 自主使用 MCP 工具:
# Agent: data-analyzer.md
分析流程:
1. 通过 mcp__plugin_db_server__query 查询数据
2. 处理和分析结果
3. 生成洞察报告
用于: 无需用户交互的多步骤 MCP 工作流.
集成多个 MCP 服务器:
{
"github": {
"type": "sse",
"url": "https://mcp.github.com/sse"
},
"jira": {
"type": "sse",
"url": "https://mcp.jira.com/sse"
}
}
用于: 跨多个服务的工作流.
始终使用安全连接:
好: "url": "https://mcp.example.com/sse"
坏: "url": "http://mcp.example.com/sse"
应该:
不应该:
仅预允许必要的 MCP 工具:
好: allowed-tools: [
"mcp__plugin_api_server__read_data",
"mcp__plugin_api_server__create_item"
]
坏: allowed-tools: ["mcp__plugin_api_server__*"]
处理 MCP 服务器不可用:
处理失败的 MCP 操作:
验证 MCP 配置:
MCP 服务器按需连接:
尽可能批量处理类似请求:
# 好: 带过滤器的单个查询
tasks = search_tasks(project="X", assignee="me", limit=50)
# 避免: 许多单独的查询
for id in task_ids:
task = get_task(id)
.mcp.json 中配置 MCP 服务器.claude-plugin/)/mcp 验证服务器出现claude --debug 日志以发现连接问题/mcp 输出中claude --debug
查看:
服务器未连接:
工具不可用:
/mcp 查看可用工具认证失败:
| 类型 | 传输 | 最适合 | 认证 | |------|------|--------|------| | stdio | 进程 | 本地工具, 自定义服务器 | 环境变量 | | SSE | HTTP | 托管服务, 云 API | OAuth | | HTTP | REST | API 后端, 令牌认证 | 令牌 | | ws | WebSocket | 实时, 流式 | 令牌 |
应该:
不应该:
有关详细信息, 请参阅:
references/server-types.md - 深入了解每种服务器类型references/authentication.md - 认证模式和 OAuthreferences/tool-usage.md - 在命令和 agents 中使用 MCP 工具examples/ 中的工作示例:
stdio-server.json - 本地 stdio MCP 服务器sse-server.json - 带 OAuth 的托管 SSE 服务器http-server.json - 带令牌认证的 REST APIclaude --debug 和 /mcp 命令向插件添加 MCP 集成:
.mcp.json 配置/mcp 命令本地测试对于自定义/本地服务器专注于 stdio, 对于带 OAuth 的托管服务专注于 SSE.
data-ai
当用户提到 Linux 提权/本地提权/local privilege escalation/获取root权限/内核漏洞利用/LPE/SUID/sudo滥用/容器逃逸/权限提升检测; 或要求在Linux系统上从普通用户提升到root权限; 或查询CVE提权漏洞(如Dirty Pipe/CopyFail/Dirty Frag/PwnKit/Looney Tunables); 或需要安全加固建议时应使用此技能
tools
当用户要求 "计算仓位", "仓位管理", "止损比例", "凯利公式", "盈亏比", "资金管理", "半凯利", "反马丁格尔", "固定风险", "position sizing", "策略评估", "策略体检", "SQN", "夏普比率", "卡玛比率", "期望值", "获利因子", "MAE", "MFE", "R乘数", "索提诺", "蒙特卡洛", "样本外测试", "策略回测" 或需要计算合约交易的最优仓位/止损/资金分配/策略质量评估时应使用此技能. 覆盖仓位管理/策略评估/交易解剖/压力测试的完整框架. 即使用户只是提到 "这笔交易该下多少", "策略好不好", "复盘怎么算" 等模糊描述也应触发.
development
当用户要求 "提取API", "逆向APK", "分析APP接口", "提取业务端点", "React Native逆向", "Flutter逆向" 或需要从移动应用提取后端API信息时使用此技能. 覆盖APK解包/JS bundle分析/kernel_blob.bin分析/H5页面参数发现/Spring Boot API验证全流程. 支持React Native和Flutter两种框架.
research
当用户要求 "推荐VPS", "选服务器", "对比服务商", "建站VPS", "便宜VPS", "VPS推荐" 或需要研究/筛选/对比VPS服务商时应使用此技能. 从 hostloc/lowendtalk/lowendbox/测评站搜集真实评测数据, 交叉验证后给出可溯源排名.