关于 BulkPublish
BulkPublish 提供用于社交媒体发布与管理的 MCP 服务,面向通过 AI 工具处理多平台内容的团队。它覆盖帖子、媒体、排期、分析、收件箱和审批,并提供托管与本地服务器选项。
主要功能
- 01管理并排期社交媒体帖子
- 02跨平台管理频道与媒体
- 03查看分析及链接点击数据
- 04处理收件箱和评论
- 05支持团队审批与交互面板
适用场景
- 01通过 AI 工具安排多平台帖子
- 02上传媒体并维护发布日历
- 03审阅待审批帖子后发布
- 04回复消息、评论并查看表现
MCP 相关
BulkPublish 提供托管 MCP 服务和可本地运行的 MCP server,向客户端开放帖子、频道、媒体、分析、收件箱及评论等工具;本地服务器可切换 core、inbox 或 full 工具配置。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
BulkPublish AI 工具包
将你的 AI 助手连接到 BulkPublish——安排帖子发布、管理频道、上传媒体,并跟踪 15 个社交媒体平台的分析数据,所有操作都可通过你选择的 AI 工具完成。
你将获得
79 个 MCP 工具,包括交互式 MCP Apps 小组件,可通过 Claude Code 插件(托管于 https://mcp.bulkpublish.com/mcp/full)或本地服务(npx @bulkpublish/[email protected])使用。托管服务 https://mcp.bulkpublish.com/mcp(OAuth 2.1,供 Claude 和 ChatGPT 目录使用)提供较精简的一组工具——频道、帖子、媒体、分析和交互式面板,以及收件箱和评论工具;设置 BULKPUBLISH_TOOL_PROFILE=core|inbox|full 可切换本地服务的工具配置。
| 类别 | 工具(完整配置) | 示例 |
|---|---|---|
| 帖子 | 13 | 创建、更新、获取、列出、发布、重试、删除、批准、拒绝、限时动态、批量操作、指标、队列时段 |
| 频道 | 5 | 列出账号、平台、健康检查、平台选项、@提及搜索 |
| 媒体 | 10 | 上传(URL/文件)、列出、获取、替代文本、删除、预签名和分块上传 |
| 分析 | 1 | 按日期范围汇总,并按平台细分 |
| 标签、话题标签组、模板、日历备注 | 16 | 分别创建、列出、更新、删除 |
| 客户审核与连接链接 | 8 | 分享/取消分享帖子、批量审核链接、客户连接链接 |
| 排期、频道集、RSS 自动发布 | 12 | 分别创建、列出、更新、删除 |
| 收件箱和评论 | 7 | 列出并读取对话、回复私信和评价、分流处理(标记为已读/归档/延后/指派)、列出评论、回复和审核评论 |
| 配额 | 1 | 计划用量和限制 |
| 交互式面板 | 6 | 撰写器、帖子、频道、媒体、分析、配额 |
每个工具都带有标题,以及明确的 readOnlyHint / destructiveHint / idempotentHint / openWorldHint 值。
团队审批:帖子带有独立于 status 的 approvalStatus(默认值为 none,另有 pending、approved、rejected)——待审批或已拒绝的帖子绝不会发布。创建或更新已排期的帖子时,传入 requestApproval: true(默认值为 false)可将帖子暂存以供审核(草稿会忽略此设置);对于不具备 post:publish 权限的 API 密钥(贡献者),该选项会被强制启用,且调用发布/重试时也会返回 403 APPROVAL_REQUIRED。所有者、管理员和审批者可通过 approve_post / reject_post 放行帖子。已批准的帖子会在排期时间发布;如果排期时间已过但未超过 15 分钟,则会立即发布;如果已超过 15 分钟,帖子会恢复为 status: "draft"(approvalStatus: "approved",scheduledAt 不变),并通知作者选择新的时间。创建/更新时设置 publishWhenApproved: true,可让逾期审批通过后立即发布(适用于“批准后立即发布”,即将排期设为当前时间,而不是已指定具体时间的情况);approve_post 也可选传入 whenLate("publish" | "hold"),为单条逾期帖子指定处理方式;若省略,则由该帖子的 publishWhenApproved 决定。两个工具都可选传入 ifUnmodifiedSince——请传入向用户展示的版本的 updatedAt;如果帖子在加载后发生变化(仅在发送 ifUnmodifiedSince 时检查)或已不再等待审批,则返回 409;不会写入任何内容,因此请重新加载并再次审核。批准或拒绝会将 publishWhenApproved 设为 false。
链接追踪: BulkPublish 可以将帖子的链接改写为 bulkpubli.sh 短链接并统计点击量——这是衡量出站点击量的唯一方法,因为平台 API 不会报告此数据(X 已彻底移除该字段)。此功能默认关闭,需由组织选择启用,且仅适用于 Pro 和 Business 套餐(Free 套餐始终按原样发布链接);linkTrackingOverride(true | false | null,默认值为 null)可针对单篇帖子覆盖此设置。它是三态设置——除非用户明确提出要求,否则请省略,因为 false 明确表示“按原样发布链接”,并不等同于继承设置。点击量会以 linkClicks / totalLinkClicks 的形式返回,由我们统计,因此适用于所有平台;它们有意不计入 clicks / totalClicks——同一次访问可能同时计入这两项,因此切勿将它们相加。在任何改写后的链接会超出平台字符限制的渠道上,系统都会跳过缩短处理(短链接长 28 个字符,可能比被替换的链接还长),因此追踪功能可能不会应用于 X 或 Bluesky;帖子仍会使用原始链接发布。
收件箱和评论: 收件箱(私信、评价、评论串)属于 Pro 和 Business 套餐;除 Free 套餐外,所有套餐均支持回复或管理帖子的评论;所有套餐均可读取帖子的评论。在开放消息或评论访问权限之前连接的渠道可能需要重新连接,且部分平台尚不支持私信或回复。回复和删除操作无法撤回,因此 manage-inbox 技能会让助手显示确切内容和收件人,并等待你逐条确认。
支持的平台: Facebook、Instagram、X/Twitter、TikTok、YouTube、Threads、Bluesky、Pinterest、Google Business Profile、LinkedIn、Mastodon、Discord、Telegram、Tumblr、Snapchat
前提条件
- BulkPublish API 密钥 — 在 app.bulkpublish.com/developer 获取
- Node.js 18+ — 仅当你通过
npx在本地运行 MCP 服务时需要(Claude Code 插件或托管服务无需安装)
快速安装
有三种开始方式——选择适合你工作流的方式:
# 1. Claude Code Plugin (recommended — auto-updates, includes skills)
/plugin marketplace add bulkpublish/bulkpublish-ai-toolkit
/plugin install bulkpublish@bulkpublish-ai-toolkit
# 2. Agent Skills (works with 41+ agents — Claude Code, Cursor, Codex, Copilot, etc.)
npx [email protected] add bulkpublish/bulkpublish-ai-toolkit
# 3. MCP Server (any MCP-compatible tool)
claude mcp add bulkpublish -- npx -y @bulkpublish/[email protected]
按工具配置
Claude Code
选项 A — 插件(推荐,可自动更新):
/plugin marketplace add bulkpublish/bulkpublish-ai-toolkit
/plugin install bulkpublish@bulkpublish-ai-toolkit
插件会让每个工具连接到托管服务;你的计算机上无需安装或运行任何内容。若要登录,请运行 /mcp,选择 bulkpublish,然后选择 Authenticate:系统会打开 BulkPublish 页面,你只需粘贴一次 API 密钥。Claude Code 会保留生成的登录令牌,而不是密钥;你也可以从同一菜单退出登录。
由于服务托管在远程,无法通过路径读取你计算机上的文件。若要附加本地文件,Claude 会直接上传:create_media_upload 会返回上传链接,文件会从你的计算机发送到该链接,而 finalize_media_upload 会将其添加到你的媒体库。位于公开 URL 的文件仍可通过 upload_media 上传。
如果你之前手动添加过本地服务(claude mcp add bulkpublish -- npx …),请将其移除(claude mcp remove bulkpublish),避免工具列表中出现重复项。
选项 B — Agent Skills:
npx [email protected] add bulkpublish/bulkpublish-ai-toolkit
或安装单个技能:
npx [email protected] add bulkpublish/bulkpublish-ai-toolkit --skill schedule-post
选项 C — 仅使用 MCP:
claude mcp add bulkpublish -- npx -y @bulkpublish/[email protected]
然后设置 API 密钥:
export BULKPUBLISH_API_KEY=bp_your_key_here
选项 D — 使用托管服务,密钥不保存到磁盘(仅使用 MCP 时推荐):
claude mcp add --transport http bulkpublish https://mcp.bulkpublish.com/mcp
首次使用工具时,Claude Code 会打开登录页面。该令牌仅属于 此客户端,你可以随时从账户中撤销。
Claude Desktop
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows):
{
"mcpServers": {
"bulkpublish": {
"command": "npx",
"args": ["-y", "@bulkpublish/[email protected]"],
"env": {
"BULKPUBLISH_API_KEY": "bp_your_key_here"
}
}
}
}
重启 Claude Desktop 以启用。
Cursor
选项 A — 插件(推荐,包含技能且无需密钥):
在 Cursor 设置 → 插件中搜索 BulkPublish,然后点击安装,接着 按照 BulkPublish 登录提示完成登录。也可以将此仓库添加为市场,然后 从中安装:
/add-plugin bulkpublish
该插件连接到托管服务 https://mcp.bulkpublish.com/mcp。
登录采用 OAuth 2.1、动态客户端注册和 PKCE,因此 Cursor 会自行注册,
无需粘贴客户端 ID 或 API 密钥。插件还附带全部
七项技能。
选项 B — Agent 技能:
npx [email protected] add bulkpublish/bulkpublish-ai-toolkit -a cursor
选项 C — MCP 配置。 在项目根目录创建或编辑 .cursor/mcp.json(也可以在全局路径 ~/.cursor/mcp.json 中编辑):
{
"mcpServers": {
"bulkpublish": {
"command": "npx",
"args": ["-y", "@bulkpublish/[email protected]"],
"env": {
"BULKPUBLISH_API_KEY": "bp_your_key_here"
}
}
}
}
选项 D — 托管服务,密钥不存储在磁盘上。 .cursor/mcp.json:
{
"mcpServers": {
"bulkpublish": {
"url": "https://mcp.bulkpublish.com/mcp"
}
}
}
Windsurf
选项 A — Agent 技能:
npx [email protected] add bulkpublish/bulkpublish-ai-toolkit -a windsurf
选项 B — MCP 配置。 编辑 ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"bulkpublish": {
"command": "npx",
"args": ["-y", "@bulkpublish/[email protected]"],
"env": {
"BULKPUBLISH_API_KEY": "${env:BULKPUBLISH_API_KEY}"
}
}
}
}
在 shell 环境中设置密钥:
export BULKPUBLISH_API_KEY=bp_your_key_here
或者直接在上方的 env 块中写入密钥。
选项 C — 托管服务,密钥不存储在磁盘上。 对于
远程服务,Windsurf 使用 serverUrl,而不是 url。在 ~/.codeium/windsurf/mcp_config.json 中:
{
"mcpServers": {
"bulkpublish": {
"serverUrl": "https://mcp.bulkpublish.com/mcp"
}
}
}
VS Code(GitHub Copilot)
选项 A — Agent 技能:
npx [email protected] add bulkpublish/bulkpublish-ai-toolkit -a github-copilot
选项 B — MCP 配置。 添加到 VS Code 的 settings.json 中(Cmd+Shift+P >“首选项:打开用户设置(JSON)”):
{
"mcp": {
"servers": {
"bulkpublish": {
"command": "npx",
"args": ["-y", "@bulkpublish/[email protected]"],
"env": {
"BULKPUBLISH_API_KEY": "bp_your_key_here"
}
}
}
}
}
选项 C — 托管服务,密钥不存储在磁盘上。 VS Code 使用的键是 servers,而不是
mcpServers。在 .vscode/mcp.json 中:
{
"servers": {
"bulkpublish": {
"type": "http",
"url": "https://mcp.bulkpublish.com/mcp"
}
}
}
Gemini CLI
推荐 — 安装为 Gemini CLI 扩展(托管 MCP 服务 + 全部技能):
gemini extensions install https://github.com/bulkpublish/bulkpublish-ai-toolkit
选项 A — CLI 命令:
gemini mcp add bulkpublish -- npx -y @bulkpublish/[email protected]
选项 B — 编辑 ~/.gemini/settings.json:
{
"mcpServers": {
"bulkpublish": {
"command": "npx",
"args": ["-y", "@bulkpublish/[email protected]"],
"env": {
"BULKPUBLISH_API_KEY": "$BULKPUBLISH_API_KEY"
}
}
}
}
设置密钥:
export BULKPUBLISH_API_KEY=bp_your_key_here
选项 C — 托管服务,密钥不存储在磁盘上:
gemini mcp add --transport http bulkpublish https://mcp.bulkpublish.com/mcp
也可以手动编辑 ~/.gemini/settings.json,但流式 HTTP 服务的键是
httpUrl。普通的 url 表示 SSE,无法连接:
{
"mcpServers": {
"bulkpublish": {
"httpUrl": "https://mcp.bulkpublish.com/mcp"
}
}
}
OpenAI Codex CLI
选项 A — Agent 技能:
npx [email protected] add bulkpublish/bulkpublish-ai-toolkit -a codex
选项 B — CLI 命令:
codex mcp add bulkpublish -- npx -y @bulkpublish/[email protected]
选项 C — 编辑 ~/.codex/config.toml:
[mcp_servers.bulkpublish]
command = "npx"
args = ["-y", "@bulkpublish/[email protected]"]
[mcp_servers.bulkpublish.env]
BULKPUBLISH_API_KEY = "bp_your_key_here"
选项 D — 托管服务,密钥不存储在磁盘上。 codex mcp add 仅适用于 stdio
服务,因此此配置需要编辑 ~/.codex/config.toml:
[mcp_servers.bulkpublish]
url = "https://mcp.bulkpublish.com/mcp"
托管服务(ChatGPT、claude.ai 和其他 Web 托管平台)
基于 Web 的托管平台无法启动本地进程,因此需要远程 HTTP 端点,
而不是上面的 npx stdio 配置。BulkPublish 提供了一个:
https://mcp.bulkpublish.com/mcp
它通过 Streamable HTTP 提供与 stdio 服务相同的工具套件,并支持两种 身份验证方式:
- OAuth 2.1(推荐)。 将此 URL 添加为自定义连接器,托管平台
会引导你完成授权页面,并在其中一次性粘贴
bp_API 密钥。 密钥不会存储在连接器 URL 中。 - 将密钥放入 URL 中, 适用于不支持 OAuth 的托管平台:
https://mcp.bulkpublish.com/mcp?key=bp_your_key_here。请将此 URL 视为 密钥——任何持有它的人都能使用你的 API 密钥。
请前往 app.bulkpublish.com/developer 获取密钥。
Antigravity
Antigravity 的远程服务配置只接受 serverUrl。其文档明确指出,
不支持 url 和 httpUrl,因此在 Cursor 中可用的配置格式
在这里会静默失败。编辑 ~/.gemini/config/mcp_config.json(或工作区中的
.agents/mcp_config.json):
{
"mcpServers": {
"bulkpublish": {
"serverUrl": "https://mcp.bulkpublish.com/mcp"
}
}
}
Cline
请明确设置 type,不要让 Cline 自行推断传输方式。在
cline_mcp_settings.json 中:
{
"mcpServers": {
"bulkpublish": {
"type": "streamableHttp",
"url": "https://mcp.bulkpublish.com/mcp"
}
}
}
Warp
Warp 的对话框直接接收服务对象本身,无需在外面套上 mcpServers
包装对象。打开 MCP 服务 > + 添加,然后粘贴:
{
"bulkpublish": {
"url": "https://mcp.bulkpublish.com/mcp"
}
}
Grok
无需配置文件。打开 grok.com/connectors > 新建连接器 > 自定义,输入
https://mcp.bulkpublish.com/mcp,并在提示时登录。Grok
要求 URL 可从公网访问,而托管服务满足这一要求。
Grok Bot
Grok Bot 是 xAI 始终在线的云端 Agent,需在聊天中而非设置页面进行配置。向它发送:
Add a custom MCP server called BulkPublish at https://mcp.bulkpublish.com/mcp
确认它返回的名称和地址,然后点击连接卡片上的 授权 并登录。在聊天中输入 @,即可添加 BulkPublish。Grok Bot 只能访问公开的 HTTPS 服务,而托管服务符合这一条件。它无法运行本地 npx 服务。
Muse
Muse 是 Meta 的个人 AI Agent,没有连接器设置页面。你需要在聊天中向它发起配置请求。向 Muse 发送类似这样的消息:
Add a custom MCP connector called BulkPublish. The server is at
https://mcp.bulkpublish.com/mcp over Streamable HTTP and signs in with OAuth.
Muse 可能会询问服务器是否需要密钥。它不需要:服务器通过 OAuth 登录,因此你只需在浏览器中批准访问,无需粘贴任何内容。之后,用自然语言让它发布、安排发布或读取分析数据。
其他兼容 MCP 的工具
任何支持 Model Context Protocol 的工具都可以连接到 BulkPublish。一般流程如下:
Stdio 传输:
command: npx
args: -y @bulkpublish/[email protected]
env: BULKPUBLISH_API_KEY=bp_your_key_here
技能(Claude Code 插件)
如果你通过 Claude Code 插件安装,即可使用以下技能:
| 技能 | 命令 | 说明 |
|---|---|---|
| 平台参考 | /bulkpublish:platform-reference | 全部 15 个平台 — 帖子类型、媒体规则、必填字段、限制 |
| 安排帖子 | /bulkpublish:schedule-post | 创建并安排帖子,选择最佳发布时间,包括团队审批流程 |
| 获取分析数据 | /bulkpublish:get-analytics | 获取表现报告和互动数据 |
| 管理频道 | /bulkpublish:manage-channels | 查看已连接的账号、频道组并排查问题 |
| 批量发布 | /bulkpublish:bulk-publish | 上传媒体(视频支持 multipart,最大 1GB)并批量发布帖子 |
| 查看配额 | /bulkpublish:check-quota | 查看套餐限制和当前用量 |
可直接使用的提示词
连接服务器后,粘贴以下任意一条。这些提示词只会用到托管的 core 配置文件所支持的功能,因此助手无需猜测。
将方括号中的内容替换掉。
查看已连接的渠道
显示我的 BulkPublish 渠道,然后列出这些渠道接下来七天内安排的所有内容。告诉我哪些渠道没有排队内容。
撰写一条帖子并加入队列
写一条关于[你的主题]的 LinkedIn 帖子。保持我一贯的风格:[用一句话描述]。先给我看草稿,等我确认后,再通过 BulkPublish 将它安排到队列中的下一个空闲时段。
将链接转换为帖子
阅读[粘贴 URL],并为我已连接的每个 BulkPublish 渠道各写一条帖子,针对各个平台的特点分别调整,而不是所有平台都用相同的文案。将它们安排在下周二上午。安排前先把所有帖子都给我看。
一次性规划一周内容
这是我本周想发布的五件事:[列出它们]。为每件事创建一条 BulkPublish 帖子,并将它们分散安排到队列中的空闲时段,避免连续发布。完成后,把本周的安排展示给我。
发布图片并提供配文选项
将[文件路径,或附上图片]上传到我的 BulkPublish 媒体库,然后为 Instagram 写三种不同角度的配文选项。我选定后,再将它与图片一起安排发布。
查看接下来两周的安排
按日期分组,列出 BulkPublish 接下来十四天内安排的所有内容。标出重复内容、安排在不适合该平台的时间发布的内容,以及完全没有安排内容的日期。
处理失败的帖子
查找过去七天内发布失败的 BulkPublish 帖子。用通俗的语言告诉我每条失败的原因,然后只重试看起来属于暂时性问题的帖子,并告诉我哪些帖子需要我先处理问题。
查看数据
调取我过去三十天的 BulkPublish 分析数据。告诉我表现最好的三条帖子、它们的共同点,以及我下个月应该多做的一件事。请依据我的数据,而不是泛泛而谈。
每份客户端指南上都提供了同一份列表,共有九种语言,见 bulkpublish.com/integrations。
示例
连接后,只需用自然语言向 AI 助手提问:
"Schedule a post about our new feature to Twitter and LinkedIn for tomorrow at 9am EST"
"How did my posts perform this week?"
"Upload these 5 images and schedule them as daily Instagram posts"
"Which of my channels have connection issues?"
"How many posts do I have left on my plan today?"
"Set up my blog's RSS feed so new articles land as drafts for my LinkedIn and X channels"
"Schedule this for Friday 9am but hold it for my editor to approve"
"Show me everything waiting on approval, then approve the LinkedIn one"
"What came into my inbox today? Draft replies for the questions"
MCP 工具参考
托管服务提供下方标记为 * 的 20 个工具 core 配置(以及在提供 inbox 配置时标记为 + 的工具);本地
服务提供全部 79 个(下方列表展示主要分组;标签、话题标签
分组、模板、日历备注和审核/连接链接已在上表中概述)。设置 BULKPUBLISH_TOOL_PROFILE=core|inbox|full 可切换。
点击展开完整工具列表
帖子(13):
create_post、update_post、delete_post、list_posts、get_post、publish_post、retry_post、get_post_metrics、get_queue_slot*、approve_post、reject_post、publish_story、bulk_posts
频道(4):
list_channels*、get_channel_health、get_channel_options、search_mentions
平台(1):
list_platforms
媒体(9):
upload_media、list_media、create_media_upload、finalize_media_upload、get_media、delete_media、create_multipart_upload、complete_multipart_upload、abort_multipart_upload
分析(1):
get_analytics*
标签(4):
list_labels、create_label、update_label、delete_label
频道集(4):
list_channel_sets、create_channel_set、update_channel_set、delete_channel_set
计划(4):
list_schedules、create_schedule、update_schedule、delete_schedule
RSS 自动发布(4):
list_rss_feeds、create_rss_feed、update_rss_feed、delete_rss_feed
收件箱和评论(7):
list_conversations+、get_conversation+、reply_to_conversation+、update_conversation+、list_post_comments+、reply_to_comment+、moderate_comment+
配额(1):
get_quota_usage
交互式 UI(MCP Apps)(6):
compose_post、view_analytics、view_posts、view_channels、view_media*、view_quota
* = 属于托管的 core 配置。+ = 由 inbox 配置添加。
其他集成
BulkPublish 可用于多个平台:
| 集成 | 安装 |
|---|---|
| Node.js SDK | npm install bulkpublish |
| Python SDK | pip install bulkpublish |
| Homebrew 命令行工具 | brew tap azeemkafridi/bulkpublish && brew install bulkpublish |
| Zapier | 在 Zapier 中搜索“BulkPublish” |
| n8n | n8n-nodes-bulkpublish(社区节点) |
| Make.com | 在 Make 中搜索“BulkPublish” |
| IFTTT | ifttt.com/services/bulkpublish |
| REST API | app.bulkpublish.com/docs |
| Postman | 导入集合 |
链接
- BulkPublish — 主站
- API 文档 — 交互式 API 参考
- 开发者仪表板 — API 密钥和用量
- npm 上的 MCP 服务 —
@bulkpublish/[email protected] - GitHub — SDK、示例和指南
网络端点和凭据
mcp.json(Agent Plugins 格式,由 Cursor 使用):通过 HTTPS 连接到托管服务https://mcp.bulkpublish.com/mcp,并使用 OAuth 登录。仓库中不存储密钥。.claude-plugin/plugin.json和.mcp.json(Claude Code 插件、Grok Build 和其他客户端):通过 HTTPS 连接到托管服务https://mcp.bulkpublish.com/mcp/full,并使用 OAuth 登录。不会在本地运行任何内容,也不会读取你计算机上的密钥。- 凭据:BulkPublish API 密钥(以
bp_开头,在 https://app.bulkpublish.com/developer 创建)或 OAuth 登录。不会读取其他机密、文件或环境变量。
隐私政策
该插件通过 HTTPS 连接到 BulkPublish 托管的 MCP 服务,并通过你批准的登录操作你的 BulkPublish 账户。它不会读取你的对话历史记录、文件或记忆,也不会向 BulkPublish 以外的任何人发送信息。BulkPublish 如何收集、使用、保留和共享数据,以及如何联系我们,请参阅 BulkPublish 隐私政策。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。