mcpField
C
Consult7

Consult7

本地服务
github.com/szeiderAI 与智能体2951 天前更新

关于 Consult7

Consult7 是一个 MCP 服务,可将指定文件和问题发送给 OpenRouter 上的模型。它帮助 AI Agent 分析超出自身上下文限制的代码库和文档集合,并支持选择模型及分析模式。

主要功能

  1. 01分析指定文件和通配符模式
  2. 02使用 OpenRouter 模型
  3. 03选择模型和推理模式
  4. 04将结果保存到文件
  5. 05检查路径和文件大小限制

适用场景

  1. 01总结大型代码库
  2. 02审查源文件中的安全问题
  3. 03分析文档集合
  4. 04生成报告而不占满 Agent 上下文

MCP 相关

向 MCP 客户端提供咨询工具。该工具收集指定路径中的文件,将文件与问题发送给选定的 OpenRouter 模型,并返回或保存结果。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"consult7": {
"command": "uvx",
"args": [
"consult7"
]
}
}
}
启动命令uvx consult7

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiconsult7

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Consult7 MCP 服务

Consult7 是一个模型上下文协议(MCP)服务,可通过 OpenRouter 调用大上下文窗口模型,让 AI Agent 分析大量文件集合——例如完整代码库、文档存储库或混合内容,这些内容超出了当前 Agent 的上下文限制。

为什么选择 Consult7?

Consult7 可让任何兼容 MCP 的 Agent 将文件分析任务交给大上下文模型(最多 2M 个 token)。适用于以下场景:

  • Agent 当前上下文已满
  • 任务需要特定模型能力
  • 需要在单次查询中分析大型代码库
  • 希望比较不同模型的结果

“对于 Claude Code 用户来说,Consult7 是一项颠覆性的工具。”

工作原理

Consult7 会从你指定的路径收集文件(文件名中可选用通配符),将其整合到单个上下文中,并连同你的查询一起发送给大上下文窗口模型。结果会直接返回给你正在使用的 Agent。

示例用例

快速总结代码库
  • 文件: ["/Users/john/project/src/*.py", "/Users/john/project/lib/*.py"]
  • 查询: “总结这个 Python 项目的架构和主要组件”
  • 模型: "google/gemini-3.8-flash"
  • 模式: "fast"
深度分析与推理
  • 文件: ["/Users/john/webapp/src/*.py", "/Users/john/webapp/auth/*.py", "/Users/john/webapp/api/*.js"]
  • 查询: “分析整个代码库中的身份验证流程。请逐步思考安全漏洞,并提出改进建议”
  • 模型: "anthropic/claude-opus-4.8"
  • 模式: "think"
生成并保存报告到文件
  • 文件: ["/Users/john/project/src/*.py", "/Users/john/project/tests/*.py"]
  • 查询: “生成一份全面的代码审查报告,包含架构分析、代码质量评估和改进建议”
  • 模型: "google/gemini-4-argon"
  • 模式: "think"
  • 输出文件: "/Users/john/reports/code_review.md"
  • 结果: 返回 "Result has been saved to /Users/john/reports/code_review.md",并附上一行元数据页脚,而不会让 Agent 的上下文被大量内容淹没

特色模型:Gemini

Consult7 支持 Google 的 Gemini 系列:

  • Gemini 4 Argon (google/gemini-4-argon) - 旗舰推理模型,1M 上下文
  • Gemini 3.8 Flash (google/gemini-3.8-flash) - 快速且便宜,1M 上下文

高级用户的快捷记忆词:

  • gemt = Gemini 4 Argon + think(旗舰推理)
  • gemf = Gemini 3.8 Flash + fast(快速且便宜)
  • gptt = GPT-6 Astra + think(最新 GPT,effort xhigh)
  • grot = Grok 4.7 + think(effort xhigh)
  • oput = Claude Opus 4.8 + think(自适应思考)
  • fabt = Claude Fable 5.1 + think(最深入的推理,effort xhigh;高级版)
  • ULTRA = 并行运行 GPTT、GROT 和 FABT(3 个前沿模型)
  • FUSE = 融合:前沿模型小组进行审议,再由评审模型综合结果,一次调用即可完成

这些记忆词让你可以在查询中轻松引用模型和模式组合。

关于 Fable 5.1 的说明。 anthropic/claude-fable-5.1 是 Anthropic 能力最强的模型,但价格较高(约为 Opus 4.8 的 2 倍)。对于单次调用而言,它不会取代 Opus 4.8,成为日常首选的 Claude 模型。自 v3.11.0 起,它在 ULTRA 小组中占据 Anthropic 的席位(该小组本就用于处理棘手问题)。与仅支持自适应思考的 Opus 4.8 不同,OpenRouter 会遵循 Fable 的 effort 等级,因此 mid/think 会分别映射到 effort=high/effort=xhigh。

特色功能:Fusion(多模型分析)

Consult7 支持 OpenRouter 的 Fusion(openrouter/fusion)——只需调用一次,一组前沿模型(Opus、GPT、Gemini Pro)便会并行回答你的问题,再由一个评审模型综合各方回复,生成一个答案。遇到适合多种视角、且答错的代价远高于多几次额外补全的难题时,不妨使用它。

  • 上下文: 128K——小于单个模型的 1M–2M,因此更适合输入量适中的难题,而不是包含海量文件的请求。
  • 模式 → 研究深度: fast / mid / think 将面板的网页搜索/抓取预算分别映射到 max_tool_calls 2 / 8 / 16。
  • 助记符: FUSE = openrouter/fusion。

简单提示词会直接作答(不启用面板);只有在问题值得深入讨论时,才会启动面板。Fusion 按面板运行次数计费,因此费用高于单模型调用。

安装

Claude Code

只需运行:

claude mcp add -s user consult7 uvx -- consult7 your-openrouter-api-key
Claude Desktop

将以下内容添加到 Claude Desktop 配置文件中:

{
  "mcpServers": {
    "consult7": {
      "type": "stdio",
      "command": "uvx",
      "args": ["consult7", "your-openrouter-api-key"]
    }
  }
}

将 your-openrouter-api-key 替换为你的实际 OpenRouter API 密钥。

无需安装——uvx 会自动下载 consult7,并在隔离环境中运行。

命令行选项

uvx consult7 <api-key> [--test]
  • <api-key>:必填。你的 OpenRouter API 密钥
  • --test:可选。测试 API 连接

模型和模式是在调用工具时指定的,而非在启动时指定。

支持的模型

Consult7 支持 OpenRouter 上的全部 500 多种模型。下表列出了具有动态文件大小限制优化配置的旗舰模型:

模型上下文适用场景
openai/gpt-6-astra1M最新的顶级 GPT,基于推理力度进行推理;价格较高
google/gemini-4-argon1M旗舰级 Gemini,基于推理力度进行推理
google/gemini-3.8-flash1MGemini 3.8 Flash,速度快、成本低
anthropic/claude-fable-5.11M能力最强;价格较高——仅用于棘手问题
anthropic/claude-opus-4.81M质量最佳,支持自适应思考
anthropic/claude-sonnet-4.61M推理能力出色,速度快
anthropic/claude-haiku-4.5200k经济实惠,速度极快
x-ai/grok-4.7500k前沿 Grok,基于推理力度进行推理
x-ai/grok-4.202M自动推理,超大上下文
x-ai/grok-4.1-fast2M上下文窗口最大
openrouter/fusion128k多模型面板 + 评审模型(参见“特色功能:Fusion”)

已被取代的 ID 仍可使用,并保留其调优设置:openai/gpt-5.6-sol、x-ai/grok-4.6、anthropic/claude-fable-5、google/gemini-3.1-pro-preview。

快速助记符:

  • gptt = openai/gpt-6-astra + think(最新 GPT,深度推理 [effort xhigh];价格较高)
  • gemt = google/gemini-4-argon + think(Gemini 4 Argon,深度推理 [effort high])
  • grot = x-ai/grok-4.7 + think(Grok 4.7,深度推理 [effort xhigh];500K 上下文——处理更大的文件集合请使用 x-ai/grok-4.20)
  • oput = anthropic/claude-opus-4.8 + think(Claude Opus,自适应思考)
  • opuf = anthropic/claude-opus-4.8 + fast(Claude Opus,不进行推理)
  • fabt = anthropic/claude-fable-5.1 + think(Claude Fable,最深度推理 [effort xhigh];价格较高,仅用于棘手问题)
  • fabm = anthropic/claude-fable-5.1 + mid(Claude Fable,高强度推理;价格较高)
  • gemf = google/gemini-3.8-flash + fast(Gemini 3.8 Flash,速度快、成本低)
  • ULTRA = 并行调用 GPTT、GROT 和 FABT(3 个前沿模型,获取最大程度的洞见)
  • FUSE = openrouter/fusion(一次调用:前沿模型面板进行讨论,由评审模型综合;模式决定网络研究深度)

你可以使用任意 OpenRouter 模型 ID(例如 deepseek/deepseek-r1-0528)。请参阅完整模型列表。文件大小限制会根据各模型的上下文窗口自动计算。

性能模式

  • fast:不要求推理——适用于快速回答和简单任务。GPT-6 Astra、Grok 4.7 和 Fable 默认会进行推理,因此对它们来说,fast 表示各自的默认级别(计费),页脚会显示为 reasoning: model default。Gemini 4 Argon、3.8 Flash 和 3.1 Pro 在每种模式下都会明确设置推理强度:fast = 低,mid = 中,think = 高
  • mid:适度推理——适用于代码审查、错误分析
  • think:最大程度推理——适用于安全审计、复杂重构

文件指定规则

  • 仅限绝对路径:/Users/john/project/src/*.py
  • 通配符只能用于文件名:/Users/john/project/*.py(不能用于目录路径)
  • 使用通配符时必须指定扩展名:*.py,不能只写 *
  • 混合指定文件和模式:["/path/src/*.py", "/path/README.md", "/path/tests/*_test.py"]

常见模式:

  • 所有 Python 文件:/path/to/dir/*.py
  • 测试文件:/path/to/tests/*_test.py 或 /path/to/tests/test_*.py
  • 多种扩展名:["/path/*.js", "/path/*.ts"]

自动忽略: __pycache__、.env、secrets.py、.DS_Store、.git、node_modules。通配符会跳过这些文件;显式指定其中任何一个都会报错。

快速失败: 相对路径或不存在的路径、目录、匹配不到任何内容的通配符、显式指定的忽略文件、二进制文件(前 8 KB 中含有 NUL 字节;.pdf 除外),或超过模型大小预算的文件,都会导致整个调用在发送给模型之前失败(不产生费用)。错误信息会列出所有问题。

PDF(v3.12.0): .pdf 文件会通过 OpenRouter 作为原生文档发送给模型(模型可以看到包括图表在内的页面),并与同一调用中的文本文件一并发送。OpenRouter 上未列出文件输入能力的模型会在调用前被拒绝。排版数学公式和手写内容会从渲染后的页面读取,而非从 PDF 文本层读取(已通过 LaTeX 论文中的公式和一份扫描版手写提交进行验证)。每页在 Gemini 上大约消耗 500 个输入令牌,在 GPT 上约 1,500 个,在 Claude 和 Grok 上约 2,500-3,000 个,因此对于高级模型上的长篇 PDF,请先将其转换为文本(pdftotext),再发送 .txt 文件。PDF 有独立的 32 MB 传输大小预算;Anthropic 模型每次请求最多接受 600 页。PDF 始终以原生格式转发,不会经过 OpenRouter 的 OCR 解析器,因此 PDF 不会离开所选模型的提供商(使用 zdr 时也如此)。

大小预算: 所有文件合计共用一个预算,没有单文件限制:(模型上下文 − 输出预留 − 推理预留)× 每个令牌约 4 字节,例如,1M 上下文模型约为 4 MB,Grok 4.7(500K)约为 2 MB,Grok 4.20(2M)约为 8 MB。还会根据估算的令牌数进行第二次检查,以保留 10% 的安全余量。大小错误会说明预算和请求的总大小。

工具参数

咨询工具接受以下参数:

  • files(必需):绝对文件路径列表,或文件名中带通配符的模式
  • query(必需):要让大模型处理这些文件的问题或指令
  • model(必需):要使用的大模型(见上方的支持模型)
  • mode(必需):性能模式——fast、mid 或 think
  • output_file(可选):用于将响应保存到文件而非直接返回的绝对路径
    • 在调用大模型前会检查路径,因此无效路径不会产生费用
    • 如果文件已存在,将使用 _updated 后缀保存(例如,report.md → report_updated.md,然后是 report_updated_1.md,……)
    • 指定此参数时,会返回 "Result has been saved to /path/to/file" 以及元数据页脚
    • 适用于生成报告、文档或分析结果,避免占满 Agent 的上下文
  • zdr(可选):启用零数据保留路由(默认为 false)
    • 为 true 时,仅路由到具有 ZDR 策略的端点(提供商不会保留提示词)
    • 支持 ZDR:GPT-6 Astra、Grok 4.7、Gemini 4 Argon、Gemini 3.8 Flash、Gemini 3.1 Pro、Claude Opus 4.8、GPT-5、GPT-5.5、Grok 4.6
    • 不支持:Claude Fable 5.1 和 5、GPT-5.6 Sol、Grok 4.20(会返回错误)

使用示例

通过 Claude Code 中的 MCP 使用

Claude Code 会自动使用此工具并提供正确的参数:

{
  "files": ["/Users/john/project/src/*.py"],
  "query": "Explain the main architecture",
  "model": "google/gemini-3.8-flash",
  "mode": "fast"
}
通过 Python API 使用
from consult7.consultation import consultation_impl

result = await consultation_impl(
    files=["/path/to/file.py"],
    query="Explain this code",
    model="google/gemini-3.8-flash",
    mode="fast",  # fast, mid, or think
    provider="openrouter",
    api_key="sk-or-v1-..."
)

测试

# Test OpenRouter connection
uvx consult7 sk-or-v1-your-api-key --test

卸载

从 Claude Code 中移除 consult7:

claude mcp remove consult7 -s user

版本历史

v3.13.1
  • 提前说明 PDF 额度:工具描述和拒绝消息现在都会说明,每次调用可处理约 24 MB 的 PDF 文件(32 MB 限制针对 base64 负载),扫描件每页约 1–2 MB。
  • 上游在处理过程中超时时,会提示错误是暂时性的,且 consult7 不会重试,让调用方知道需要重新运行。
  • 包和 consultation_impl 文档字符串说明,MCP 工具是唯一受支持的接口;批量处理由调用方 Agent 负责(每项调用一次工具,并使用 output_file 保存答案)。consult7.__version__ 现在会报告真实版本。
v3.13.0
  • PDF 输入。 files 中的 .pdf 文件会作为原生文档发送给大模型(OpenRouter file 内容部分,仅限原生引擎,不使用 OCR 回退)。可在一次调用中与文本文件混合处理;页脚会显示页数和 PDF 数量;按供应商显示每页的 token 估算;不支持文件输入的模型、超大 PDF 负载(32 MB base64)以及 Anthropic 模型中超过 600 页的 PDF,都会在调用前报错。
  • GPT-6.1 Terra(openai/gpt-6.1-terra)作为经济型 GPT 选项加入:上下文长度为 1M,每百万 token 收费 $1/$5,基于推理强度进行推理(mid = high,think = xhigh),不支持 ZDR。GPT-6 Astra 仍是默认 GPT。
v3.12.0
  • Gemini 4 Argon(google/gemini-4-argon)是旗舰 Gemini 模型,也是 gemt 模型。Gemini 3.8 Flash(google/gemini-3.8-flash)取代 Gemini 3 Flash,成为 gemf 模型。两者都支持 ZDR。
  • 修正 Gemini 推理级别。 Gemini 4 Argon、3.8 Flash 和 3.1 Pro 即使未设置推理参数也会进行推理,因此旧映射(fast 不发送参数,mid 发送 low 强度)会导致 mid 的推理量低于 fast(在 3.1 Pro 上约为其三分之一)。现在这些模型在所有模式下都会收到明确的推理强度:fast = low,mid = medium,think = high。
  • 从调优列表中移除旧版 Gemini 模型:Gemini 3 Flash、3.1 Flash Lite、3 Pro(已不再登陆 OpenRouter)、2.5 Pro 和 2.5 Flash。这些模型仍可作为未知模型运行,但不会使用推理参数。
  • consult7 --help 会打印用法说明,而不会被当作 API 密钥。现已支持 Python 3.15(重新锁定依赖,并移除未使用的 anthropic 开发依赖)。
v3.11.2
  • 不再限制单个文件的大小。 所有文件共用一个总预算,因此单个大文件可以用完全部预算(之前,单个文件最多只能占预算的一半)。大小错误会报告请求的总大小和预算,令牌错误会提及 10% 的安全余量。
  • 二进制文件会快速失败(前 8 KB 中包含 NUL 字节),而不会作为无效令牌发送。
  • 未知模型 ID: 如果模型不在 OpenRouter 的模型列表中,错误会说明这一点,指出假定的 128K 上下文,并建议最接近的已列出 ID。model:nitro 等变体 ID 使用基础模型的上下文大小。
  • 页脚: 显示墙钟 time,始终显示模式(包括 [fast]),启用时显示 zdr。两种令牌估算现在使用相同的提示词文本;被拒绝的 fast 调用也不再声称 reasoning disabled。
v3.11.1
  • 在任何付费调用前快速失败。 列表中缺少文件、通配符未匹配到任何文件、明确指定了被忽略的文件(.env、secrets.py 等),或文件超出模型的单文件或总大小限制时,现在会在发送任何内容前以清晰的错误使调用失败。之前,这些情况只会在提示词中报告(或被丢弃),付费调用仍会基于不完整输入执行。
  • 调用前检查 output_file。 相对路径或不可写路径会免费失败。如果调用后保存仍然失败,则会返回响应,而不是将其丢失。
  • 错误会在 MCP 结果中设置 isError=true,客户端和封装程序无需解析文本即可检测失败。
  • 上游错误消息不再包含 OpenRouter 账户的 user_id。
  • 页脚:显示 1 file(而不是 1 files)。使用 fast 时,始终进行推理的模型(GPT-6 Astra、Grok 4.7、Fable)会显示 reasoning: model default。
  • 工具描述更短(少于 2,000 个字符,文件规则置于前)。Claude Code 之前会截断旧描述中的文件规则。
v3.11.0
  • 新增 ULTRA 面板:GPTT + GROT + FABT(3 个模型并行)。Gemini 3.1 Pro 退出面板(gemt 和所有 Gemini 模型仍可用);Opus 4.8(oput/opuf)仍可用,但其 ULTRA 席位改由 Fable 使用。
  • gptt → GPT-6 Astra(openai/gpt-6-astra,1M 上下文,$10/$50 每百万令牌)——也是 consult7 <key> --test 使用的模型。Astra 必须启用推理,因此 mid/think 现在分别映射为 effort=high/effort=xhigh(GPT-5.6 Sol 使用 medium/high)。支持 ZDR。
  • grot → Grok 4.7(x-ai/grok-4.7,500K 上下文;自 v3.10.0 起,默认模型一直是 Grok 4.6)。使用相同的 effort 映射(high/xhigh)。支持 ZDR。
  • fabt/fabm → Claude Fable 5.1(anthropic/claude-fable-5.1,1M 上下文)。使用相同的 effort 映射。不支持 ZDR。
  • 已被取代的 ID(openai/gpt-5.6-sol、x-ai/grok-4.6、anthropic/claude-fable-5)仍可使用,并保留之前的设置。
v3.9.0
  • 新增默认 GPT:GPT-5.6 Sol(openai/gpt-5.6-sol)——最新的顶级 GPT,约 1M 上下文 / 128K 输出,基于 effort 的推理(mid → effort=medium,think → effort=high)。取代 GPT-5.5 成为 gptt 的默认模型;GPT-5.5 仍可作为旧版模型使用。GPT-5.6 Sol 不支持 ZDR(GPT-5.5 仍支持)。
  • 未添加 Grok 4.5: x-ai/grok-4.5 在 OpenRouter 上受区域限制(返回 403“你所在的区域不可用”),且无法通过真实 API 验证,因此未集成。Grok 4.20 仍是 grot 的默认模型。
v3.8.0
  • 新增 Claude Fable 5(anthropic/claude-fable-5)——Anthropic 能力最强的模型,上下文长度为 1M。价格较高(约为 Opus 4.8 的 2 倍),因此仅用于特别棘手的问题,且不属于 ULTRA 面板;它不会取代 Opus 4.8 成为默认 Claude 模型。新增助记符 fabt(think)/ fabm(mid)。与仅支持自适应思考的 Opus 4.8 不同,OpenRouter 会遵循 Fable 的 effort 等级,因此 mid/think 分别对应 effort=high/effort=xhigh(刻意不提供 max——它往往会过度思考,令 token 成本增加约 2 倍)。不支持 ZDR(Fable 要求保留数据 30 天)。
  • **调整了回复长度提示词:**系统提示词现在会要求模型根据任务匹配答案长度(问题需要深入解答时提供详尽回复,否则简洁作答),而不是一味要求“保持简洁”。
v3.7.1
  • 显示流式传输过程中的 API 错误:当 OpenRouter 在初始 200 响应后以流式数据块的形式发送错误时,调用现在会返回该错误消息,而不是误导性的“未收到内容”。
v3.7.0
  • 新增 Fusion(openrouter/fusion)——一次调用即可使用多模型面板加评审模型;mode 对应网络研究深度(fast/mid/think → max_tool_calls 2/8/16)。新增 FUSE 助记符。
  • 将 Claude Opus 从 4.7 升级至 4.8(上下文长度为 1M,支持自适应思考);oput/opuf 现在指向 4.8,4.7 保留为旧版 ID。
  • 回复页脚现在会报告调用成本(美元)(来自 OpenRouter 使用情况统计),例如 cost: $0.0923。
v3.6.1
  • 切换推理模式的页脚现在会区分自适应模型(Opus、Grok)的 mid 与 think
  • 当模型没有零数据保留端点时,显示更友好的错误消息
  • output_file 返回内容现在包含元数据页脚,调用方可以据此确认运行了什么
v3.6.0
  • 升级模型:GPT-5.5、Claude Opus 4.7、Grok 4.20
  • Claude Opus 4.7(上下文长度为 1M)使用自适应思考——reasoning.enabled=true
  • Grok 4.20(上下文长度为 2M)使用自动推理——reasoning.enabled=true
  • 更新助记符:gptt → GPT-5.5,oput/opuf → Claude Opus 4.7,grot → Grok 4.20
  • 仍支持旧版模型 ID
v3.5.0
  • 将 GPT-5.2 升级至 GPT-5.4(上下文长度约为 1M)
v3.4.0
  • 升级模型:Gemini 3.1 Pro、Claude Opus 4.6、Claude Sonnet 4.6、Grok 4.1 Fast
  • 新增模型:Claude Haiku 4.5、Gemini 3.1 Flash Lite
  • 更新助记符:gemt → Gemini 3.1 Pro,oput/opuf → Claude Opus 4.6
  • 仍支持旧版模型 ID
v3.3.0
  • 修复 GPT-5.2 思考模式下的截断问题(改用流式传输)
  • 新增 google/gemini-3-flash-preview(Gemini 3 Flash,速度极快)
  • 更新 gemf 助记符,使其使用 Gemini 3 Flash
  • 新增 zdr 参数,用于零数据保留路由
v3.2.0
  • 更新至支持基于 effort 的推理的 GPT-5.2
v3.1.0
  • 新增 google/gemini-3-pro-preview(上下文长度为 1M 的旗舰推理模型)
  • 新增助记符:gemt(Gemini 3 Pro)、grot(Grok 4)、ULTRA(并行执行)
v3.0.0
  • 移除 Google 和 OpenAI 直连提供商——现在仅使用 OpenRouter
  • 移除 |thinking 后缀——改用 mode 参数(现为必填)
  • 简化 mode 参数 API:fast、mid、think
  • 将 CLI 从 consult7 <provider> <key> 简化为 consult7 <key>
  • 改进 MCP 集成,为模式添加枚举验证
  • 根据模型上下文窗口动态调整文件大小限制
v2.1.0
  • 新增 output_file 参数,可将回复保存到文件
v2.0.0
  • 新增文件列表接口,并简化验证
  • 将文件大小限制下调至更符合实际的值

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。