面向制造商的 MCP 实践指南
简而言之
MCP 是什么?制造商的 MCP 服务器应该暴露哪些能力?
MCP(Model Context Protocol,模型上下文协议)是一项开放标准,它让 AI 助手直接调用你的系统,而不是从你的网页里去推测答案。制造商的 MCP 服务器是一个托管的 HTTP 端点,对外暴露一小组带类型的工具——参数化检索、型号查询、替代料与交叉参考、合规文件、CAD 链接,以及经 OAuth 管控的库存与价格——任何兼容的助手都可以调用它们,得到精确且可审计的答案。按现行的 2026-07-28 规范,它是一个无状态的请求/响应服务,运行在一台普通的负载均衡器之后即可。协议本身是容易的那部分;难的是背后要有一份唯一、规范、经过核验的产品记录。
用大白话说,MCP 是什么?
Model Context Protocol(模型上下文协议)是一套标准化的做法,让 AI 助手能够调用别人的系统,并拿回带类型、有结构的答案。
Anthropic 于 2024 年 11 月 25 日将其开源,称之为“一套把 AI 助手连接到数据所在系统的新标准”。2025 年 12 月 9 日,Anthropic 把 MCP 捐赠给 Agentic AI Foundation——这是 Linux Foundation 旗下的一支定向基金,由 Anthropic 与 Block、OpenAI 共同发起,AWS、Bloomberg、Cloudflare、Google 和 Microsoft 以白金级别提供支持。到那时,MCP 的 SDK 月下载量已超过 9,700 万次,公开发布的服务器超过 10,000 台,并在 ChatGPT、Claude、Cursor、Gemini、Microsoft Copilot 和 VS Code 中获得一流的客户端支持。
Parse the pages
- GET /category/breakers
- GET /product/… ×40
- guess at the layout
- hope it is current
Forty requests, brittle to any redesign, and no way to filter before fetching.
Call the endpoint
- parts.search({
- type: "MCB",
- ratedCurrent: 10,
- breaking: "6kA" })
One request. Typed, filtered, current, with your own data and your own stock position.
对不写代码的决策者来说,真正要紧的区别是这样的:助手读取你的网站时,它是在解读一份文档——它可能看错表格、漏掉脚注,或者把两个型号变体混为一谈。助手调用你的 MCP 服务器时,它是在查询一个系统——它请求某个零件,接收字段,然后如实报告。前一种方式产出的是听上去合理的答案,后一种产出的是正确的答案——前提是背后的数据本身没错,而这恰恰是大部分真功夫所在。
这个行业里,已经有谁上线了?
这件事早已不再停留在设想阶段,而且现有案例的类型相当有参考价值:
- Microchip Technology 于 2025 年 11 月 6 日上线了一台免费的公开 MCP 服务器,通过 MCP Streamable HTTP 对外提供经过核验的产品规格、数据手册、库存、价格与交期,响应以 JSON 编码,面向各类 copilot、聊天机器人和企业智能体。
- Siemens 在
mcp.siemens.com运行着一台公开服务器,其文档中列出的插件——资产、开发者门户、搜索与网页内容——无需身份认证即可使用。 - Zoovu 于 2025 年 12 月 11 日推出 MCP 服务器,让智能体在受治理的前提下访问产品数据,其定位就落在兼容性与应用场景类问题的回答准确度上。
- ECIA 于 2026 年 6 月 11 日推出 TrustedParts.com Inventory AI Agent Service,把授权渠道的电子元器件库存直接送进 Microsoft Copilot、ChatGPT 和 Claude。
- Shopify 为店铺提供 Storefront MCP 服务器,地址形如
https://{shop}.myshopify.com/api/mcp,工具包括search_catalog、lookup_catalog和get_product,storefront 这一层无需认证。
有两点规律值得留意。上述每一个案例,都建立在一套已有的权威数据源之上。而且每一个案例,都在公开目录数据与任何涉及商业敏感的信息之间划出了一条清晰的界线。
工具还是资源——零件服务器该用哪一种?
规范对二者的区别写得很明确,一旦搞反,做出来的服务器模型就用不顺手。
工具由模型控制。 规范写道,工具“被设计为由模型控制,即语言模型可以基于自身对上下文的理解和用户的提示,自动发现并调用工具”。发现用 tools/list,调用用 tools/call。每个工具都带有一个 inputSchema(默认采用 JSON Schema 2020-12)、一个可选的 outputSchema,并返回符合该 schema 的 structuredContent。
资源由应用驱动。 规范写道,资源“被设计为由应用驱动,由宿主应用根据自身需要决定如何纳入上下文”——通常表现为一个选择器、一份列表,或由宿主自动纳入。每个资源以一个 URI 标识,模板则支持带参数的 URI。
产品目录是一个查询空间,而不是一份固定的文档清单。没有人愿意在一个装着 4 万个零件的资源选择器里一路下拉。因此,零件服务器的主体应当是工具,另加两点讲究:用 resource_link 内容块指向数据手册和 CAD 文件,而不要把大体积内容内联进来;把真正意义上的资源,留给分类字典或变更日志这类少数几份稳定文档。
现行规范里有两个细节值得琢磨。工具列表不得因连接而异,但可以随请求所出示的授权而变化。另外,服务器应当以确定的顺序返回工具,因为稳定的排序能让客户端缓存这份列表,并提高提示词缓存的命中率。
2026-07-28 规范改了什么?
这一版重塑了传输层,任何依据 2025 年资料写成的设计方案,都会在几个具体的地方出错。
| 变化项 | 此前 | 自 2026-07-28 起 |
|---|---|---|
| 会话 | Mcp-Session-Id 请求头,由服务器分配 | 已移除;状态改为以服务器签发的显式句柄,通过工具参数传递 |
| 握手 | initialize / notifications/initialized | 已移除;协议版本与客户端能力随每次请求放在 _meta 中传递 |
| 能力发现 | 在初始化时获知 | 新增 server/discover RPC,服务器必须实现 |
| 服务器发起的请求 | 通过 SSE 流下发 | 改为多轮往返请求:服务器返回 resultType: "input_required",客户端带上 inputResponses 重试 |
| 路由 | 网关需要解析 JSON 请求体 | POST 请求必须带上 Mcp-Method 与 Mcp-Name 请求头 |
| 缓存 | 仅有 listChanged 通知 | 列表与读取结果必须带上 ttlMs 和 cacheScope |
| 流恢复 | 通过 Last-Event-ID 重放 | 已移除;流一旦中断,该请求即告丢失,由客户端重新发起 |
如今的传输形态平淡得让人舒心。服务器只暴露一个接受 POST 的 MCP 端点,例如 https://example.com/mcp。每一次 JSON-RPC 请求都是一次独立的 POST。客户端必须发送 Accept 请求头,同时列出 application/json 与 text/event-stream,并附带 MCP-Protocol-Version 请求头;该值必须与请求体 _meta 中的值一致,否则服务器必须以 400 和 HeaderMismatch 错误予以拒绝。服务器必须校验 Origin 请求头,若该头存在且无效,则返回 403。
这对基础设施团队的实际影响是:由于协议层不再有会话,你的 MCP 服务器可以像任何其他无状态 HTTP 服务一样,部署在一台普通的轮询负载均衡器之后。Roots、Sampling 和 Logging 现已弃用,过渡期至少十二个月;旧的 HTTP+SSE 传输方式也已正式弃用。
如何用 OAuth 守住价格与库存?
在 MCP 中,授权是可选的,这一点对零件服务器来说恰到好处:公开目录完全不该需要任何令牌,只有涉及商业敏感的工具才应该发起认证质询。
真要实现时,要求写得很具体。MCP 服务器充当 OAuth 2.1 资源服务器,遵循 OAuth 2.1 的 IETF 草案。它必须实现受保护资源元数据(Protected Resource Metadata,RFC 9728),客户端必须依据这份元数据来发现授权服务器。客户端必须实现资源指示符(Resource Indicators,RFC 8707),在授权请求和令牌请求中都发送一个标识你规范服务器 URI 的 resource 参数;而你的服务器必须校验令牌确实是以它为目标受众而签发的。授权服务器应当按 RFC 9207 返回 iss 参数,客户端必须对其加以校验。动态客户端注册(Dynamic Client Registration)现已弃用,取而代之的是客户端 ID 元数据文档(Client ID Metadata Documents),但出于向后兼容仍可继续使用。
对分销商或制造商行之有效的模式是:
- 01免认证层——规格参数、参数化检索、替代料、合规文件、CAD 链接,以及你本就公开的目录价。
- 02需认证层——合同价、客户专属可供量、报价创建。以 403 加
error="insufficient_scope"发起质询,并写明所需的 scope,让客户端一个来回就能完成权限升级,而不必反复试探。 - 03绝不要把客户标识写进工具参数,并以此作为唯一的访问控制手段。句柄只是一个名字,不是一种权限;每一次调用都要校验授权。
一台零件 MCP 服务器应该暴露什么?
六到八个工具是合适的量级。再多,模型的工具选择就会变差。
| 工具 | 用途 | 认证 |
|---|---|---|
search_parts | 在某一产品类目内,按带类型的约束条件与单位做参数化检索 | 公开 |
get_part | 返回某一型号完整的规范记录,含数据来源与最后核验日期 | 公开 |
find_alternates | 功能等效件、第二货源与竞品交叉参考,并注明等效性的判定依据 | 公开 |
get_compliance_documents | RoHS、REACH、性能声明、证书、EPD——以带签发日期的记录形式返回,而不只是给个链接 | 公开 |
get_cad_models | 按格式给出 2D、3D 与 BIM 资源的资源链接 | 公开 |
get_availability | 分库位的实时库存与交期 | 受控 |
get_price | 客户合同价,按数量阶梯 | 受控 |
一份工具定义看上去应该平平无奇,而这正是重点所在:
{
"name": "search_parts",
"title": "Parametric part search",
"description": "Search the catalog by product class and typed parameter constraints. Returns matching parts with their key parametrics, units and last-verified date. Use get_part for the full record.",
"inputSchema": {
"type": "object",
"properties": {
"product_class": { "type": "string", "description": "ETIM class code or class name" },
"constraints": {
"type": "array",
"items": {
"type": "object",
"properties": {
"parameter": { "type": "string" },
"operator": { "type": "string", "enum": ["eq", "gte", "lte", "between", "in"] },
"value": {},
"unit": { "type": "string" }
},
"required": ["parameter", "operator", "value"]
}
},
"limit": { "type": "integer", "default": 20 }
},
"required": ["product_class"],
"additionalProperties": false
}
}留意这段描述做了什么:它既告诉模型这个工具会返回什么,也告诉模型什么时候该换用另一个工具。仅这一个习惯,对答案质量的提升就胜过在 schema 上反复打磨。
一个完整的实例
美国得州一家代工厂的设计工程师,正要为一块电路板更换一颗停产的元器件,而这块板子同时还要供给德国的一家成套设备厂。这位工程师的助手已经连上了这家制造商的 MCP 服务器。
工程师: 我们降压级里那颗 60 V N 沟道 MOSFET 要停产了。我需要一颗同封装的直接替代料,10 V 栅极驱动下 R_DS(on) 不高于 12 毫欧,而且我要知道它到底有没有货。
助手发起了四次调用。
→ tools/call get_part
{ "part_number": "XYZ-60N12-D2PAK" }
← structuredContent
{ "package": "D2PAK", "vds_v": 60, "rds_on_mohm": 11.5,
"vgs_meas_v": 10, "lifecycle": "EOL", "last_verified": "2026-08-04" }
→ tools/call find_alternates
{ "part_number": "XYZ-60N12-D2PAK", "basis": "form_fit_function" }
← structuredContent
[ { "part_number": "XYZ-60N10-D2PAK", "equivalence": "drop-in",
"rds_on_mohm": 9.8, "differences": ["lower R_DS(on)", "higher Qg"] },
{ "part_number": "XYZ-60N14-D2PAK", "equivalence": "footprint",
"rds_on_mohm": 13.5, "differences": ["exceeds R_DS(on) limit"] } ]
→ tools/call get_availability
{ "part_numbers": ["XYZ-60N10-D2PAK"] }
← 403 Forbidden
WWW-Authenticate: Bearer error="insufficient_scope",
scope="stock:read", resource_metadata="https://mcp.example.com/.well-known/oauth-protected-resource"
[client performs step-up authorisation, then retries]
← structuredContent
{ "part_number": "XYZ-60N10-D2PAK",
"stock": [ { "location": "US-TX", "qty": 14200 },
{ "location": "DE-BW", "qty": 3800 } ],
"lead_time_weeks": 8, "as_of": "2026-08-09T06:12:00Z" }
→ tools/call get_compliance_documents
{ "part_number": "XYZ-60N10-D2PAK", "types": ["rohs", "reach"] }
← content: [ { "type": "resource_link", "uri": "https://…/rohs-2026-03.pdf",
"name": "RoHS declaration (issued 2026-03-11)" } ]随后助手作答:第一个候选料是直接替代件,导通电阻更低但栅极电荷更高,值得对照栅极驱动器复核一下;第二个封装吻合,却没能满足 R_DS(on) 的上限;截至今天上午,得州有 14,200 颗、巴登-符腾堡有 3,800 颗库存,交期八周;RoHS 与 REACH 声明已随附,并标明各自的签发日期。
单从工程角度看,这里没有什么了不起的技术。了不起的是它作为一桩生意的意义。三项采购决策就此做成,全程没有人打开过浏览器,而且每一个数字都能回溯到一条带时间戳的记录。
今天究竟谁能连上你的服务器?
在这个问题上请对董事会实话实说,因为真实答案比大多数厂商宣传材料所暗示的要窄得多。
| 客户端 | 能否连上自建 MCP 服务器? | 条件 |
|---|---|---|
| Claude | 可以 | Free、Pro、Max、Team 与 Enterprise 均支持自定义远程连接器;免费用户限一个;服务器必须能从 Anthropic 的 IP 段经公网访问 |
| ChatGPT | 部分可以 | 通过开发者模式接入自建 MCP 服务器;具备写入能力的连接器仅限 Business、Enterprise 与 Edu,Plus 和 Pro 只读。ChatGPT 内的应用基于 MCP 构建,需经目录审核 |
| Gemini | 仅企业版 | 由管理员在 Gemini Enterprise 中把自建 MCP 服务器注册为数据存储;仅支持 Streamable HTTP 传输 |
| Microsoft Copilot | 可以,限企业配置 | 由管理员注册连接器 |
| IDE 与 CLI 智能体 | 可以 | 由开发者直接配置端点——面向工程人群阻力最小的一条路径 |
| 客户自建的智能体 | 可以 | 采购与工程团队越来越多地在内部跑起自己的智能体;实践中这是增长最快的一类调用方 |
所以,MCP 能触达的是那些自己配置了助手的工程师,以及由 IT 部门帮忙注册了你服务器的企业采购方。按互联网流量的标准衡量,这是一个很小的人群;按销售管道的标准衡量,这是一个非常大的人群。
智能体怎样发现你的服务器?
并不存在 DNS 层面的发现机制。目前只有三种途径:
- 01官方 MCP 注册表,位于
registry.modelcontextprotocol.io,它是面向公开可访问服务器的集中式元数据仓库,由 Anthropic、GitHub、Microsoft 和 PulseMCP 共同支持。它是开源的,支持子注册表,目前仍处于正式发布前的预览阶段——所以要做好它还会变动的准备。 - 02客户端侧的目录,例如 Claude 的连接器目录和 ChatGPT 的应用目录,各自都有一套自己的审核流程。
- 03你自己的文档。 今天绝大多数连接其实就是这么建立起来的:一个开发者页面写明端点 URL、工具清单和授权 scope,客户把它粘贴进自己的客户端。
即便大部分工具都是公开的,也请发布你的 .well-known/oauth-protected-resource 文档,并为端点路径加上版本号。你的工具面迟早会变,而你希望那是一次有计划的迁移,而不是一次悄无声息的中断。
实施清单
- 01为每个零件归一出唯一的规范记录,带上有类型的属性、单位、数据来源和最后核验时间戳。不要一上来就从协议入手。
- 02挑选六到八个工具,并在每个工具的描述里写清楚什么情况下不该用它。
- 03声明输出 schema 并返回
structuredContent。每一份返回内容都要包含单位和核验日期。 - 04只提供一个 POST 端点,正确处理
Mcp-Method与Mcp-Name请求头,校验Origin,并在列表结果上设置ttlMs和cacheScope。 - 05把公开工具与受控工具分开,实现 RFC 9728 元数据,按 RFC 8707 校验令牌受众,并用 scope 质询让权限升级在一个来回内完成。
- 06以确定的顺序返回工具,并保持工具名称稳定,这样客户端缓存才能真正发挥作用。
- 07记录每一次调用——工具、参数、延迟,以及这次查询是否命中。没有分析数据的 MCP 服务器,是一条你管不了的渠道。
- 08持续对照事实基准监测准确率。一个信誓旦旦返回过期额定参数的工具,比没有这个工具更糟。
Partsgraph 以托管层的形式提供这一整套能力:我们把你现有的产品目录归一为一张经过核验的 Parts Graph,托管 MCP 端点并为受控层配置 OAuth,同时向你报告哪些智能体调用了什么、以及哪些答案出了错。
如果你想在动手写代码之前先摸清自己的现状,可以把你的域名交给 /audit 上的免费评分工具跑一遍——它会检查机器目前能从你的目录里读到什么,以及一个 MCP 端点是否真有可靠的内容可供输出。
常见问题
我们已经有 REST API 了,还需要 MCP 吗?
REST API 是正确的地基,但智能体没法直接用它——除非运营该智能体的一方专门做一轮定制集成。MCP 把 REST API 留白的三件事标准化了:客户端如何发现有哪些操作可用、这些操作的输入输出如何为模型定义类型,以及授权如何协商。实践中,零件 MCP 服务器就是把既有 API 做一层薄而有主张的投影,其 schema 和描述是写给模型看的,而不是写给开发者看的。
零件数据该以工具还是资源的形式暴露?
绝大部分应该用工具。规范把工具描述为由模型控制——模型根据上下文自行发现并调用;而资源是由应用驱动的,由宿主应用呈现出来供用户挑选。产品目录是一个查询空间,不是一份固定的文件清单,因此天然合适的形式是接受参数的工具。资源只在少数几份稳定文档上才有存在价值;至于数据手册和 CAD 文件,工具可以返回指向它们的资源链接,而不必把几兆字节的内容内联进来。
2026-07-28 规范会让现有的 MCP 服务器失效吗?
它对传输层的形态做了相当大的改动。协议层会话和 Mcp-Session-Id 请求头没有了,initialize 握手没有了,独立的 GET 流没有了,通过 Last-Event-ID 恢复 SSE 的能力也没有了。服务器必须实现 server/discover,并要求 POST 请求带上 Mcp-Method 与 Mcp-Name 请求头。同时支持新旧两代规范的客户端,会先尝试发一个新版请求、检查错误响应体,再决定是否回退,以此判断某台服务器讲的是哪一套。
怎样防止某个智能体看到别的客户的价格?
靠授权层来解决,而不是靠藏着掖着。MCP 服务器充当 OAuth 2.1 资源服务器,必须实现受保护资源元数据(RFC 9728),并且必须按 RFC 8707 校验访问令牌确实是以它为目标受众而专门签发的。关键在于,规范允许可见的工具集与资源集随请求所出示的授权而变化,因此对未经认证的调用方,可以只展示公开目录相关的工具。
智能体最初究竟是怎么找到我们的 MCP 服务器的?
并不存在 DNS 层面的发现机制,而假装存在,正是 MCP 相关文章里最常见的错误。发现途径有三条:一是位于 registry.modelcontextprotocol.io 的官方 MCP 注册表,由 Anthropic、GitHub、Microsoft 和 PulseMCP 共同支持,目前仍处于正式发布前的预览阶段;二是客户端侧的目录,例如 Claude 的连接器目录和 ChatGPT 的应用目录;三是——也是今天最常见的——你把 URL 写进了开发者文档,客户把它粘贴了进去。
第一版零件 MCP 服务器最大的设计错误是什么?
暴露了太多工具,描述又含糊不清。模型是靠名称、描述和 schema 来挑选工具的,因此二十个彼此重叠的检索端点,表现会比六个命名清晰的工具还要差。请依据已声明的输出 schema 返回结构化内容,让工具名称保持确定且稳定,并在返回内容中写入单位、公差和最后核验时间戳,这样答案日后才能被审计。
MCP 服务器对开放网络上的 AI 可见性有帮助吗?
没有直接帮助。搜索与检索类爬虫不会调用 MCP 服务器,它们只抓取 HTML。MCP 能触达的是那些已经连接了你服务器的用户,今天这意味着自己配置连接器的工程师,以及由管理员完成注册的企业采购方。它是一条做深度的渠道,而不是一条做覆盖面的渠道,最好与服务端渲染的结构化产品页面配合使用。
资料来源
- 01Anthropic, Introducing the Model Context Protocol (25 November 2024)
- 02Model Context Protocol, MCP joins the Agentic AI Foundation (9 December 2025)
- 03Linux Foundation, Formation of the Agentic AI Foundation (9 December 2025)
- 04Model Context Protocol, 2026-07-28 specification changelog
- 05Model Context Protocol, Streamable HTTP transport (2026-07-28)
- 06Model Context Protocol, Authorization (2026-07-28)
- 07Model Context Protocol, Tools (2026-07-28)
- 08Model Context Protocol, Resources (2026-07-28)
- 09Model Context Protocol, The MCP Registry
- 10Microchip Technology, Microchip unveils Model Context Protocol (MCP) Server (6 November 2025)
- 11Siemens MCP Server documentation
- 12Zoovu, Zoovu launches MCP Server (11 December 2025)
- 13ECIA, TrustedParts.com launches Inventory AI Agent Service (11 June 2026)
- 14Shopify, Storefront MCP server documentation
- 15Anthropic, Get started with custom connectors using remote MCP
- 16OpenAI Help Center, Developer mode and MCP apps in ChatGPT
- 17Google Cloud, Set up your custom MCP server data store (Gemini Enterprise)
看清 AI 助手今天究竟能读取您产品的哪些信息、又有哪些读不到——爬虫抓取策略、目录覆盖率、数据手册可访问性,逐项评分,并与全球 984 家分销商和制造商对标。
为我的产品目录评分相关现场笔记
AI 爬虫不会执行 JavaScript
GPTBot、ClaudeBot 与 PerplexityBot 只解析服务器返回的原始 HTML,从不执行脚本,Google 是唯一的例外。客户端渲染的参数化目录,在 AI 助手眼中只是一具空壳。本文讲清如何用一条 c…
技术为什么 AI 读不了你的数据手册
机器人拦截、纯图像扫描件、只能在阅读器里打开的文档,以及自带一套 robots.txt 与 WAF 规则的独立文档主机,都会让数据手册在 AI 面前彻底消失——而规格真正的所在正是数据手册,产品页承载的从来只是一份摘要。…
解决方案什么是智能体就绪的产品目录?
智能体就绪的产品目录要同时服务四个机器接触面:服务端渲染页面、纯文本视图、推送式产品数据流,以及 MCP 端点,四者互不替代。本文讲清每一个究竟是什么、今天真正在消费它的是哪些 AI 助手、它们各自做不到什么,以及如何用…