HTTP 与 MCP
约 1149 字大约 4 分钟
HTTP 与 MCP
这一页现在只负责一件事:
帮你分清 http、httpServer、mcpServer 三条线分别适合干什么。
具体到每个方法的参数、默认值、返回结构、失败行为,不再在这里和专页重复写第二遍。
先记住这 6 条
http是你去请求别人。httpServer是别人来请求你。mcpServer也是“别人来调你”,但它走的是 MCP 协议,不是你自己手写 REST 风格接口。httpServer和mcpServer都建立在 HTTP 之上,但抽象层级不一样。- 想看
mcpServer.tool(...)、resource(...)、prompt(...)的完整字段,只去mcp-server.md看一份。 - 想看
http.get(...)、http.post(...)的详细规则,去http.md;想看httpServer.start(...)的详细规则,去http-server.md。
三条能力线怎么分工
| 你想做的事 | 应该用谁 |
|---|---|
| 请求云端 API、下载配置、提交数据 | http |
| 起一个本地接口,让浏览器 / curl / 局域网程序来访问你的脚本 | httpServer |
| 把脚本能力发布成 Tool / Resource / Prompt,给 Agent 或 MCP 客户端使用 | mcpServer |
如果一句话概括:
http是客户端httpServer是普通服务端mcpServer是 MCP 协议服务端
什么时候用 http
当你的脚本要“主动访问外部服务”时,用 http。
典型场景:
- 请求远程接口
- 提交表单
- 拉配置
- 上传日志
详细方法统一看:
什么时候用 httpServer
当你的脚本要“对外暴露一个普通 HTTP 接口”时,用 httpServer。
典型场景:
- 本地调试入口
- 给浏览器一个临时控制面板
- 给局域网设备一个简单接口
- 用
curl/ Postman 触发脚本行为
详细方法统一看:
什么时候用 mcpServer
当你的脚本要“被 MCP 客户端以 Tool / Resource / Prompt 的方式调用”时,用 mcpServer。
典型场景:
- 给 Codex、Claude Desktop、IDE 插件暴露 ScriptX 能力
- 把 APK 分析、运行时状态、脚本操作包装成 MCP Tool
- 把固定说明或动态内容发布成 Resource
- 把一套工作流包装成 Prompt
详细方法统一看:
这页和详细页怎么分工
为了去掉重复,现在分工固定成这样:
| 页面 | 负责什么 |
|---|---|
| http.md | http 和 httpServer 的完整方法说明 |
| mcp-server.md | mcpServer 的完整方法说明 |
| 当前页 | 只负责比较三者用途和推荐选择顺序 |
也就是说,像下面这些方法:
mcpServer.start(...)mcpServer.state()mcpServer.tool(...)mcpServer.quickTool(...)mcpServer.resource(...)mcpServer.resourceTemplate(...)mcpServer.prompt(...)
现在只在 mcp-server.md 保留详细讲解。
mcpServer 启动前最该先确认的 5 个点
虽然详细字段已经挪到专页,这里还是保留一张“别踩坑”清单,方便你在动手前先对一下。
1. 地址和端口
默认情况下,mcpServer 走的是:
http://127.0.0.1:5698/mcp
如果你要给局域网里的别的设备访问,再考虑:
hostallowLanport
2. 路径不是随便写个空串就算
endpoint 最终应该是一个明确路径。
空串、/、缺前导斜杠这类情况,统一去看专页里的归一化规则:
3. name / version 才是当前正式字段
现在应优先写:
name: "jsxhook-mcp",
version: "1.0.0"
4. 要不要 token
- 本机自己调试时,可以先不加
token - 局域网或外部客户端要接入时,建议至少明确考虑鉴权
5. 要不要 allowedOrigins
- 纯本机
localhost / 127.0.0.1 / [::1]调试,通常不用额外配 - 非本机网页来源要跨域访问时,再看
allowedOrigins
支持的 MCP 协议版本
当前源码内置支持:
2025-11-252025-06-182025-03-262024-11-05
更细的协商行为和兼容规则只保留在:
一个最小工作流
下面这个流程是当前最推荐的理解顺序:
- 先决定你是要普通 HTTP,还是要 MCP。
- 如果只是给自己或浏览器调,优先
httpServer。 - 如果要给 Agent / MCP 客户端调,直接
mcpServer。 - 细节实现时,不要在这页停留,直接跳到专页。
普通 HTTP 方向
- 看 httpServer.start(config)
- 再看
get/post/put/delete/...路由注册
MCP 方向
- 先看 mcpServer.start(config)
- 再看
tool / resource / prompt
下一步看哪里
- 你已经确定要写普通请求:去 http.md
- 你已经确定要写本地 HTTP 路由:去 http-server.md
- 你已经确定要暴露 MCP 能力:去 mcp-server.md
- 你想配合 APK 工作区分析能力一起用:再看 内置 MCP 工具总览
