toolbox-mcp
README.md
# toolbox-mcp
一个**工具型 MCP Server**(Tools-only),演示「AI Host → MCP 协议 → 多语言后端」的完整调用链。
三层架构:
| 层 | 语言 | 职责 |
|----|------|------|
| 胶水(协议 + 进程桥) | TypeScript / Node | MCP 协议、工具注册、spawn C++ 子进程 |
| 内核(计算) | C++ | 纯计算内核(如 twoSum 两数之和) |
## 目录结构
```
toolbox-mcp
├── src/ TS 胶水层
│ ├── server.ts 主入口(serveStdio + 6 个 register)
│ ├── pathGuard.ts 路径守卫(限制读写 data/)
│ └── tools/ 6 个工具
├── native/ C++ 内核
│ ├── 001.cpp twoSum 源码
│ └── 001.exe 编译产物(不提交,见下)
├── data/ 读写文件工具的操作目录
└── TODO.md 开发计划(#8 Web 面板待办)
```
## 环境要求
- Node.js ≥ 20
- MinGW `g++`(编译 C++ 内核用,仅 `two_sum` 工具需要)
## 安装
```bash
npm i
```
## 编译 C++ 内核
`native/001.exe` 是编译产物,不入库。克隆后需自行编译:
```bash
g++ -O2 -std=c++20 -static-libgcc -static-libstdc++ native/001.cpp -o native/001.exe
```
`-static-libgcc -static-libstdc++` 让 exe 自带运行时,避免依赖 `libstdc++-6.dll`。
## 运行
```bash
npm run dev # 开发(tsx watch)
npm start # 运行
npm run typecheck # 类型检查(tsc --noEmit)
```
## 工具列表
| 工具 | 说明 | 层 |
|------|------|----|
| `echo` | 回显消息 | TS |
| `add` | 两数相加 | TS |
| `reverse` | 反转字符串 | TS |
| `read_file` | 读取 `data/` 内文件 | TS |
| `write_file` | 写入 `data/` 内文件 | TS |
| `two_sum` | 两数之和(spawn C++ 内核) | TS → C++ |
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues