⚡ Termcp
English | 中文
## Termcp:最终的 MCP | Terminus MCP
使用 Termcp:
- **AI 能动态安装、使用不限数量的 MCP。**
- **AI 可以自行开发 MCP 并热装载。**
- **AI 可以使用 SSH 管理主机,由人类审批,协作。**
- **AI 可以仅基于 SSH 跨机器安装和调用 MCP。**
**只暴露一个 tool。** 基于 [**Termcp 协议**](./docs/protocol.md)(Terminalization Model Context Protocol/终端化
上下文协议)实现:装载多个 MCP 和 skills 不会导致上下文增加。
**无依赖单文件(10M+)、跨平台,提供所见即所得的 WebUI**,人与 AI 共用终端、交互协作。
安装 80+ MCP server 与 skill。
主机管理。
## 安装
### 0 · AI 安装
```
把 npx -y @open-mcp-ai/termcp daemon stdio 装成名为 termcp 的 MCP。
```
复制给 AI。
### 1 · 一行命令接上你的 Agent
| Agent | 命令 |
| --- | --- |
| **Claude Code** | `claude mcp add termcp -- npx -y @open-mcp-ai/termcp daemon stdio` |
| **Codex** | `codex mcp add termcp -- npx -y @open-mcp-ai/termcp daemon stdio` |
| **Gemini CLI** | `gemini mcp add termcp npx -- -y @open-mcp-ai/termcp daemon stdio` |
### 2 · 配置文件
```json
{
"mcpServers": {
"termcp": {
"command": "npx",
"args": ["-y", "@open-mcp-ai/termcp", "daemon", "stdio"]
}
}
}
```
其他安装方式 —— npm / Go / Docker / 预编译二进制
| | 命令 |
| --- | --- |
| **npm** | `npm i -g @open-mcp-ai/termcp` —— 装出 `termcp` 命令;有了它,上面每处的 `npx -y @open-mcp-ai/termcp` 都换成 `termcp` 即可。包装器:[open-mcp-ai/Termcp-npm](https://github.com/open-mcp-ai/Termcp-npm)。 |
| **Go** | `go install github.com/open-mcp-ai/termcp@latest` —— 国内用 `GOPROXY=https://goproxy.cn,direct`;也可作为模块使用(`go get github.com/open-mcp-ai/termcp`)。 |
| **Docker** | `docker run -d --name termcp -p 18765:18765 -v termcp-data:/home/termcp -e TERMCP_AUTH_TOKEN=change-me-to-a-long-random-secret ghcr.io/open-mcp-ai/termcp:latest termcp --no-internal --host 0.0.0.0 --port 18765` |
| **二进制** | [预编译 Release](https://github.com/open-mcp-ai/termcp/releases/latest) —— `linux` / `darwin` / `windows` 的 `amd64` / `arm64`,各一个静态文件。 |
npm 包装器会下载对应平台的预编译二进制(可用 `TERMCP_VERSION`、`TERMCP_MIRROR`、`TERMCP_BIN`、`TERMCP_SKIP_DOWNLOAD` 覆盖)。完整 flag 见 [`docs/cli.md`](./docs/cli.md);Docker 方案、Compose 与免 token 本机部署见 [`docs/deploy.md`](./docs/deploy.md)。
**HTTP 传输**,适用于已经有个实例在某处应答(`npx -y @open-mcp-ai/termcp`):
```json
{
"mcpServers": {
"termcp": {
"type": "http",
"url": "http://localhost:18765/stream"
}
}
}
```
客户端在 Docker 里可用 `http://host.docker.internal:18765/stream`(macOS/Windows)或宿主机的 LAN IP;同网络的另一个容器用 `http://termcp:18765/stream`。旧 SSE 用 `http://localhost:18765/sse`——只配 `/sse`,JSON-RPC 会自己 POST 到 `/message`。开了 `--auth-token` 就加 bearer 请求头:`"headers": {"Authorization": "Bearer "}`。
## 文档
| | |
| --- | --- |
| [`docs/cli.md`](./docs/cli.md) | 全部 flag 与子命令、能力闸门、认证。 |
| [`docs/clients.md`](./docs/clients.md) | 四个入口的完整接法:MCP 传输、stdio 桥、认证、REST 示例,以及单工具面。 |
| [`docs/deploy.md`](./docs/deploy.md) | Docker、多阶段构建、Compose、纯 API 构建。 |
| [`docs/protocol.md`](./docs/protocol.md) | `TERM/1` 规格:线格式、状态码、标头、19 条指令、三个闸门。 |
| [`docs/capabilities.md`](./docs/capabilities.md) | 完整能力面与安全模型。 |
| [`docs/api.md`](./docs/api.md) | REST 端点、WebSocket 帧、定位符解析。 |
| [`docs/capabilities.md`](./docs/capabilities.md) | 完整能力面与安全模型。 |
| [`docs/architecture.md`](./docs/architecture.md) | 会话内核、四个入口、存储。 |
| [`docs/design/`](./docs/design) | 设计记录:Web UI、资源模型、会话存储、字体栈、移动端终端。 |
| [`CHANGELOG.md`](./CHANGELOG.md) | 版本记录。 |
## Benchmark
Comming Soon
## 功能安全性测试
Comming Soon
## Star 趋势
## 许可证
基于 [MIT License](./LICENSE) 开源。
感谢 [linux.do](https://linux.do/) 社区朋友们的讨论、建议与支持。
---