网淘吧来吧,欢迎您!

返回首页 微信
微信
手机版
手机版

mcp-adapter

2026-03-28 新闻来源:网淘吧 围观:16
电脑广告
手机广告

MCP集成使用指南

概述

使用MCP集成插件来发现并执行外部MCP服务器提供的工具。此功能使您能够访问法律数据库、查询API、搜索数据库,并与任何提供MCP接口的服务集成。

该插件提供了一个统一的mcp工具,它包含两个操作:

  • list- 从所有已连接的服务器中发现可用工具
  • call- 使用参数执行特定工具

流程

🔍 阶段 1:工具发现

1.1 检查可用工具

始终从列出可用工具开始,以查看连接了哪些MCP服务器以及它们提供了哪些功能。

操作:

{
  tool: "mcp",
  args: {
    action: "list"
  }
}

响应结构:

[
  {
    "id": "server:toolname",
    "server": "server-name",
    "name": "tool-name", 
    "description": "What this tool does",
    "inputSchema": {
      "type": "object",
      "properties": {...},
      "required": [...]
    }
  }
]

1.2 理解工具模式

对于每个工具,检查:

  • id格式为"服务器:工具名"- 在:处分割以获取服务器和工具名
  • 描述: 理解工具的功能
  • 输入模式: 定义参数的JSON模式
    • 属性: 可用参数及其类型和描述
    • 必需项: 必需参数名称的数组

1.3 将工具与用户请求匹配

常见的工具命名模式:

  • search_*- 查找或搜索操作(例如:search_statutesearch_users
  • get_*- 检索特定数据(例如:get_statute_full_text,get_weather)
  • query- 执行查询(例如,database:query)
  • analyze_*- 分析操作(例如,analyze_law)
  • resolve_*- 解析引用(例如,resolve_citation)

🎯 阶段 2:工具执行

2.1 验证参数

在调用工具之前:

  1. inputSchema.required
  2. 识别所有必需的参数
  3. 验证参数类型是否符合模式(字符串、数字、布尔值、数组、对象)
  4. 检查约束条件(最小值、最大值、枚举值、模式)

2.2 构建工具调用

动作:

{
  tool: "mcp",
  args: {
    action: "call",
    server: "<server-name>",
    tool: "<tool-name>",
    args: {
      // Tool-specific parameters from inputSchema
    }
  }
}

示例 - 韩国法律检索:

{
  tool: "mcp",
  args: {
    action: "call",
    server: "kr-legal",
    tool: "search_statute",
    args: {
      query: "연장근로 수당",
      limit: 5
    }
  }
}

2.3 解析响应

工具响应遵循此结构:

{
  "content": [
    {
      "type": "text",
      "text": "JSON string or text result"
    }
  ],
  "isError": false
}

对于JSON响应:

const data = JSON.parse(response.content[0].text);
// Access data.result, data.results, or direct properties

🔄 阶段3:多步骤工作流

3.1 链式工具调用

对于复杂请求,按顺序执行多个工具:

示例 - 法律研究工作流:

  1. 搜索-search_statute以查找相关法律
  2. 检索-get_statute_full_text以获取完整文本
  3. 分析-analyze_law以进行解释
  4. 判例-搜索案例法查找相关案例

每个步骤使用上一步的输出信息来指导下一次调用。

3.2 保持上下文

在工具调用之间:

  • 从每个响应中提取相关信息
  • 使用提取的数据作为后续调用的参数
  • 逐步构建理解
  • 向用户呈现综合结果

⚠ 第四阶段:错误处理

4.1 常见错误

"未找到工具:服务器:工具名"

  • 原因:服务器未连接或工具不存在
  • 解决方案:运行操作:"列表"以验证可用工具
  • 检查服务器和工具名称的拼写

"工具参数无效"

  • 原因:缺少必需参数或类型错误
  • 解决方案:审查输入模式从列表响应
  • 确保提供所有必需的参数且类型正确

"服务器连接失败"

  • 原因:MCP服务器未运行或无法访问
  • 解决方案:告知用户服务暂时不可用
  • 如有可能,建议替代方案

4.2 错误响应格式

错误返回:

{
  "content": [{"type": "text", "text": "Error: message"}],
  "isError": true
}

优雅处理:

  • 清晰地解释问题所在
  • 不要暴露技术实现细节
  • 建议后续步骤或替代方案
  • 不要过度重试

完整示例

用户请求:"查找关于加班费的韩国法律"

步骤 1:发现工具

{tool: "mcp", args: {action: "list"}}

响应显示kr-legal:search_statute带有:

  • 必需:query(字符串)
  • 可选:限制(数量),类别(字符串)

步骤 2:执行搜索

{
  tool: "mcp",
  args: {
    action: "call",
    server: "kr-legal",
    tool: "search_statute",
    args: {
      query: "연장근로 수당",
      category: "노동법",
      limit: 5
    }
  }
}

步骤 3:解析并呈现

const data = JSON.parse(response.content[0].text);
// Present data.results to user

面向用户的响应:

Found 5 Korean statutes about overtime pay:

1. 근로기준법 제56조 (연장·야간 및 휴일 근로)
   - Overtime work requires 50% premium
   
2. 근로기준법 제50조 (근로시간)
   - Standard working hours: 40 hours per week

Would you like me to retrieve the full text of any statute?

快速参考

列出工具

{tool: "mcp", args: {action: "list"}}

调用工具

{
  tool: "mcp",
  args: {
    action: "call",
    server: "server-name",
    tool: "tool-name",
    args: {param1: "value1"}
  }
}

基本模式

工具 ID 解析: "服务器:工具名"→ 按:分割服务器和工具名称

参数验证:检查inputSchema.requiredinputSchema.properties[参数].type

响应解析: JSON.parse(response.content[0].text)用于 JSON 响应

错误检测:检查response.isError === true


参考文档

核心文档

使用示例

  • 示例集合:EXAMPLES.md- 包含13个真实世界示例,例如:
    • 法律研究流程
    • 数据库查询
    • 天气服务集成
    • 多步骤复杂工作流
    • 错误处理模式

请记住:当不确定可用的工具时始终从以下操作开始:action: "list"

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部
上一篇:GitHub AI Trends 下一篇:Travel Manager

相关文章

您是本站第289436名访客 今日有217篇新文章/评论