> ## Documentation Index
> Fetch the complete documentation index at: https://coding-1afcb9be.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 远程 MCP

> HTTP 传输、Bearer token 和 tunnel 脚本的使用边界。

# 远程 MCP

Coding Tools MCP 可以作为 Streamable HTTP MCP server 运行。远程访问适合托管工作区、开发容器，或无法启动本地子进程的客户端。

## 入口

JSON-RPC 入口是：

```text theme={null}
/mcp
```

服务卡片元数据也可从以下路径获取：

```text theme={null}
/.well-known/mcp.json
/.well-known/mcp/server-card.json
```

## 优先本地绑定

最安全的默认方式是只监听 loopback：

```bash theme={null}
coding-tools-mcp --workspace /repo --host 127.0.0.1 --port 8000
```

如果远程客户端需要访问，可通过反向代理、SSH tunnel 或开发 tunnel 暴露本地服务。

## 远程绑定必须处理鉴权

当前实现会拒绝无鉴权的非 loopback 绑定，除非显式设置 `CODING_TOOLS_MCP_AUTH_MODE=noauth`。

Bearer 示例：

```bash theme={null}
export CODING_TOOLS_MCP_AUTH_TOKEN="replace-with-a-strong-token"
coding-tools-mcp --workspace /repo --host 0.0.0.0 --port 8000 --auth-token "$CODING_TOOLS_MCP_AUTH_TOKEN"
```

OAuth 示例：

```bash theme={null}
export CODING_TOOLS_MCP_SERVER_URL="https://mcp.example.com"
export CODING_TOOLS_MCP_OAUTH_PASSWORD="replace-with-login-password"
coding-tools-mcp --workspace /repo --host 0.0.0.0 --port 8000 --oauth-mode
```

## Origin 和请求限制

HTTP handler 会在请求带有 `Origin` 时检查该 origin 是否符合当前鉴权姿态。JSON-RPC POST body 限制为 1 MiB，batch 限制为 50 项。

## Tunnel 脚本和端口默认值

直接 CLI 默认端口是 `8000`。仓库中的某些安装、tunnel 或包装脚本可能使用 `8765`。排查连接问题时要确认：

* 直接 CLI：`--port` 或 `CODING_TOOLS_MCP_PORT`，默认 `8000`
* 包装脚本或 tunnel：查看脚本参数和导出的环境变量
* 客户端配置：URL 是否以 `/mcp` 结尾

## 部署检查清单

* 使用能满足任务的最小工作区。
* 只读远程场景使用 `--tool-profile read-only`。
* 所有非 loopback 部署都使用 Bearer auth 或 OAuth。
* 跨机器或网络访问时放在 TLS 后面。
* 启用 `--permission-mode dangerous` 前，先使用容器或 VM 隔离。
* 把远程 `exec_command` 当作在服务端环境内的远程代码执行来看待。
