MCP管理Skill mcp-management

MCP管理技能专注于管理和交互Model Context Protocol (MCP) 服务器,使AI代理能够连接外部工具和数据源。它提供脚本和实用程序来发现、分析和执行MCP能力,支持智能工具选择和多服务器管理。关键词:MCP管理,AI代理,工具集成,协议管理,智能选择,MCP服务器,上下文高效。

AI智能体 0 次安装 0 次浏览 更新于 3/15/2026

名称:mcp-management 描述:管理Model Context Protocol (MCP) 服务器 - 从配置的MCP服务器发现、分析和执行工具/提示/资源。使用场景包括处理MCP集成、需要发现可用MCP能力、为特定任务过滤MCP工具、以编程方式执行MCP工具、访问MCP提示/资源或实现MCP客户端功能。支持智能工具选择、多服务器管理和上下文高效的能力发现。

MCP管理

技能用于管理和与Model Context Protocol (MCP) 服务器交互。

概述

MCP是一种开放协议,使AI代理能够连接外部工具和数据源。此技能提供脚本和实用程序,从配置的服务器发现、分析和执行MCP能力,而不污染主上下文窗口。

主要优点

  • 渐进式披露MCP能力(仅加载所需内容)
  • 基于任务需求的智能工具/提示/资源选择
  • 从单个配置文件进行多服务器管理
  • 上下文高效:子代理处理MCP发现和执行
  • 持久化工具目录:自动将发现的工具保存到JSON以供快速参考

何时使用此技能

使用此技能当:

  1. 发现MCP能力:需要列出配置服务器中的可用工具/提示/资源
  2. 基于任务的工具选择:分析哪些MCP工具与特定任务相关
  3. 执行MCP工具:以编程方式调用MCP工具,正确处理参数
  4. MCP集成:构建或调试MCP客户端实现
  5. 上下文管理:通过将MCP操作委托给子代理避免上下文污染

核心能力

1. 配置管理

MCP服务器配置在.claude/.mcp.json中。

Gemini CLI集成(推荐):创建到.gemini/settings.json的符号链接:

mkdir -p .gemini && ln -sf .claude/.mcp.json .gemini/settings.json

参见references/configuration.mdreferences/gemini-cli-integration.md

GEMINI.md响应格式:项目根目录包含GEMINI.md,Gemini CLI自动加载以强制执行结构化JSON响应:

{"server":"name","tool":"name","success":true,"result":<data>,"error":null}

这确保可解析、一致的输出,而不是不可预测的自然语言。文件定义:

  • 强制仅JSON响应格式(无markdown,无解释)
  • 最大500字符响应
  • 错误处理结构
  • 可用MCP服务器参考

优点:可编程解析的输出、一致错误报告、DRY配置(格式定义一次)、上下文高效(Gemini CLI自动加载)。

2. 能力发现

npx tsx scripts/cli.ts list-tools  # 保存到assets/tools.json
npx tsx scripts/cli.ts list-prompts
npx tsx scripts/cli.ts list-resources

从多个服务器聚合能力,并标识服务器。

3. 智能工具分析

LLM直接分析assets/tools.json - 优于关键字匹配算法。

4. 工具执行

主要:Gemini CLI(如果可用)

# 重要:使用stdin管道,而非-p标志(已弃用,跳过MCP初始化)
echo "Take a screenshot of https://example.com" | gemini -y -m gemini-2.5-flash

次要:直接脚本

npx tsx scripts/cli.ts call-tool memory create_entities '{"entities":[...]}'

回退:mcp-manager子代理

参见references/gemini-cli-integration.md获取完整示例。

实现模式

模式1:Gemini CLI自动执行(主要)

使用Gemini CLI进行自动工具发现和执行。Gemini CLI从项目根目录自动加载GEMINI.md以强制执行结构化JSON响应。

快速示例

# 重要:使用stdin管道,而非-p标志(已弃用,跳过MCP初始化)
# 添加“Return JSON only per GEMINI.md instructions”以强制执行结构化输出
echo "Take a screenshot of https://example.com. Return JSON only per GEMINI.md instructions." | gemini -y -m gemini-2.5-flash

预期输出

{"server":"puppeteer","tool":"screenshot","success":true,"result":"screenshot.png","error":null}

优点

  • 自动工具发现
  • 结构化JSON响应(可被Claude解析)
  • GEMINI.md自动加载以保持格式一致
  • 比子代理协调更快
  • 无自然语言歧义

参见references/gemini-cli-integration.md获取完整指南。

模式2:基于子代理的执行(回退)

当Gemini CLI不可用时使用mcp-manager代理。子代理发现工具、选择相关工具、执行任务并报告回来。

优点:主上下文保持清洁,仅加载所需工具定义。

模式3:LLM驱动的工具选择

LLM读取assets/tools.json,使用上下文理解、同义词和意图识别智能选择相关工具。

模式4:多服务器协调

跨多个服务器协调工具。每个工具知道其源服务器以进行正确路由。

脚本参考

scripts/mcp-client.ts

核心MCP客户端管理器类。处理:

  • .claude/.mcp.json加载配置
  • 连接到多个MCP服务器
  • 列出所有服务器中的工具/提示/资源
  • 执行工具并正确处理错误
  • 连接生命周期管理

scripts/cli.ts

MCP操作的命令行接口。命令:

  • list-tools - 显示所有工具并保存到assets/tools.json
  • list-prompts - 显示所有提示
  • list-resources - 显示所有资源
  • call-tool <server> <tool> <json> - 执行一个工具

注意list-tools将完整工具目录持久化到assets/tools.json,包含完整模式以供快速参考、离线浏览和版本控制。

快速开始

方法1:Gemini CLI(推荐)

npm install -g gemini-cli
mkdir -p .gemini && ln -sf .claude/.mcp.json .gemini/settings.json
# 重要:使用stdin管道,而非-p标志(已弃用,跳过MCP初始化)
# GEMINI.md自动加载以强制执行JSON响应
echo "Take a screenshot of https://example.com. Return JSON only per GEMINI.md instructions." | gemini -y -m gemini-2.5-flash

返回结构化JSON:{"server":"puppeteer","tool":"screenshot","success":true,"result":"screenshot.png","error":null}

方法2:脚本

cd .claude/skills/mcp-management/scripts && npm install
npx tsx cli.ts list-tools  # 保存到assets/tools.json
npx tsx cli.ts call-tool memory create_entities '{"entities":[...]}'

方法3:mcp-manager子代理

参见references/gemini-cli-integration.md获取完整指南。

技术细节

参见references/mcp-protocol.md获取:

  • JSON-RPC协议细节
  • 消息类型和格式
  • 错误代码和处理
  • 传输机制(stdio、HTTP+SSE)
  • 最佳实践

集成策略

执行优先级

  1. Gemini CLI(主要):快速、自动、智能工具选择

    • 检查:command -v gemini
    • 执行:echo "<task>" | gemini -y -m gemini-2.5-flash
    • 重要:使用stdin管道,而非-p标志(已弃用,跳过MCP初始化)
    • 最佳用于:所有任务当可用时
  2. 直接CLI脚本(次要):手动工具指定

    • 使用当:需要特定工具/服务器控制
    • 执行:npx tsx scripts/cli.ts call-tool <server> <tool> <args>
  3. mcp-manager子代理(回退):上下文高效委托

    • 使用当:Gemini不可用或失败时
    • 保持主上下文清洁

与代理集成

mcp-manager代理使用此技能来:

  • 首先检查Gemini CLI可用性
  • 如果可用则通过gemini命令执行
  • 回退到直接脚本执行
  • 发现MCP能力而不加载到主上下文
  • 报告结果回主代理

这保持主代理上下文清洁,并实现高效的MCP集成。