> ## 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 客户端中通过 stdio 或 HTTP 接入 Coding Tools MCP。

# 客户端接入

Coding Tools MCP 可以由客户端通过 stdio 启动，也可以作为 HTTP 服务暴露 `/mcp`。本地编辑器类集成优先使用 stdio；长期运行或远程场景优先使用 HTTP。

## Stdio 配置

当客户端负责启动 server 子进程时，可使用：

```json theme={null}
{
  "mcpServers": {
    "coding-tools": {
      "command": "coding-tools-mcp",
      "args": ["--stdio", "--workspace", "/path/to/workspace"]
    }
  }
}
```

stdio 不需要 Bearer 鉴权，因为客户端直接拥有该子进程。`--workspace` 应指向模型被允许检查和修改的项目目录。

## HTTP 配置

先启动服务：

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

客户端连接：

```text theme={null}
http://127.0.0.1:8000/mcp
```

远程或非 loopback HTTP 需要鉴权：

```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"
```

客户端请求需要携带：

```text theme={null}
Authorization: Bearer replace-with-a-strong-token
```

## OAuth 模式

如果客户端支持 OAuth 2.1 Authorization Code + PKCE，可以启用：

```bash theme={null}
coding-tools-mcp --host 0.0.0.0 --port 8000 --oauth-mode
```

常用环境变量包括 `CODING_TOOLS_MCP_SERVER_URL`、`CODING_TOOLS_MCP_OAUTH_CLIENT_ID`、`CODING_TOOLS_MCP_OAUTH_CLIENT_SECRET`、`CODING_TOOLS_MCP_OAUTH_PASSWORD` 和 `CODING_TOOLS_MCP_OAUTH_TOKEN_SECRET`。

启用 OAuth 后，服务会暴露相应 well-known 元数据端点。

## 工具发现

客户端完成 `initialize` 后应调用 `tools/list`。实际工具集合由 `--tool-profile` 决定：

* `full` 暴露全部实现工具。
* `read-only` 隐藏修改型和权限相关工具。
* `compat-readonly-all` 兼容要求所有工具都带 `readOnlyHint: true` 的客户端。

## 会话行为

HTTP 响应包含 `Mcp-Session-Id`。如果后续请求带了未知 session id，服务会返回 unknown-session 错误。Stdio 会话则跟随子进程生命周期。

## 推荐默认值

* 单工作区本地使用：优先 `--stdio`。
* 持久服务：HTTP 加 Bearer token 或 OAuth。
* 只读检查客户端：从 `--tool-profile read-only` 开始。
* 需要运行本地开发命令时，再考虑 `--permission-mode trusted`。
* 除非外层已有沙箱，否则不要使用 `dangerous`。
