MCP Server 自动发现机制详解:/.well-known/mcp.json 新标准正式落地
MCP 生态系统近日迎来一项重要进展:/.well-known/mcp.json 自动发现机制已开始实际部署。这意味着客户端不再需要手动告知“这里存在 MCP 服务”,而是能够自主完成服务发现。该机制基于一套标准化的路径约定,与互联网上早已通用的 robots.txt 类似,为开发者提供了更简洁的服务接入方式。

什么是 /.well-known/mcp.json?
简而言之,它是一个固定且约定俗成的网络路径。任何 MCP 客户端只需访问服务端域名下的 /.well-known/mcp.json,即可获取一份 JSON 配置文件,其中清晰地列出了该服务端提供了哪些 MCP 工具以及连接方式。
举例来说,访问 aiphotoshop.mynatapp.cc/.well-known/mcp.json,您可能会看到类似这样的配置:
{"mcpServers": {"shotapi": {"type": "streamable-http","url": "https://aiphotoshop.mynatapp.cc/mcp","description": "Screenshot & HTML render MCP server"}}}
这份 JSON 文件告知客户端:这里存在一个名为 shotapi 的 MCP 服务,类型为 streamable-http,访问地址为 https://aiphotoshop.mynatapp.cc/mcp,主要提供截图与 HTML 渲染功能。
streamable-http 与 stdio 的区别
这里需要区分两个概念:streamable-http 和 stdio。
传统的 stdio 模式要求用户在本地安装各类依赖库,配置过程相对复杂。而 streamable-http 的核心优势在于“一行配置即可完成集成”。以上述示例为例,您只需在客户端执行一条命令:
claude mcp add --transport streamable-http shotapi https://aiphotoshop.mynatapp.cc/mcp
客户端即可通过 HTTP 协议与服务端通信,完全摆脱本地环境依赖。
技术实现原理
streamable-http 的传输流程并不复杂,核心步骤仅有三步:
- 客户端向 MCP 的 endpoint 发送一个
POST请求。 - 服务端以
JSON-RPC格式返回响应数据。 - 整个过程支持长连接与流式传输,非常适合对实时性要求较高的应用场景。
这套机制确保客户端与服务端之间能够实现结构化、双向的通信,而不仅仅是简单的“请求-响应”模式。
实际应用案例
以 ShotAPI 服务为例,目前它开放了三个 MCP 工具:
- screenshot_one_liner:直接截取指定 URL 的页面截图,一步到位。
- screenshot:支持通过 CSS 选择器精准定位页面中的特定元素并截图。
- render:将任意 HTML 代码渲染为图片。
这三个工具覆盖了从整页截图到局部元素提取、再到自定义渲染的典型需求场景。其配置依旧保持简洁,核心 JSON 片段如下:
{"mcpServers": {"shotapi": {"type": "streamable-http","url": "https://aiphotoshop.mynatapp.cc/mcp"}}}
如需获取更多技术细节与接口文档,请参考官方地址:aiphotoshop.mynatapp.cc/docs。
