内容
# mcp-harness
[](https://github.com/Ztein/mcp-harness/actions/workflows/ci.yml)
一个用于测试运行MCP服务器的终端窗口,通过一个真正的LLM和系统提示 - 就像一个宿主环境(Intric,Claude Desktop,Cursor,一个自己的代理)会做的那样,但在终端下并在您的完全控制之下。
> **原因:** MCP在真空中不会表现出色 - 它会通过运行它的环境(系统提示,工具集的呈现方式,连接的服务器,模型+参数,工具响应如何反馈)来表现。`mcp-harness`允许您重现该环境并查看您的MCP实际上如何表现 - 无需实际的环境。
参见 **[PRD.md](PRD.md)** 了解产品的发展方向。这里的代码是起点(源自 `use-case-mcp` 的 `mcp_chat.py`)。
## 快速开始(MVP)
```bash
uv venv && uv pip install -e .
cp .env.example .env # 填写 LLM_* + MCP_URL/MCP_KEY
# 交互式
mcp-harness --system prompts/min-skill.md
# 脚本式(一行=一轮,EOF时退出)- 使协议运行成为可能
printf '%s\n' "你好,你能做什么?" "列出我的任务。" \
| mcp-harness --system prompts/min-skill.md --transcript transcripts/run.md
```
聊天命令: `/tools` (列出工具), `/reset` (重置历史), `/quit`。
标志: `--system <文件>` (系统提示/技能), `--transcript <文件>`,
`--tools a,b,c` (仅显示一部分工具 - 近似每种辅助范围)。
## 状态
MVP(复制核心): **一个** 通过 `MCP_URL`/`MCP_KEY` 的MCP服务器,一个系统提示,工具允许列表,可读的转录。 [PRD.md](PRD.md) 中的路线图通向多个服务器,环境配置文件和文件上传。
## 开发
该项目由带有严格TDD的票据驱动。参见 **[DOCS/README.md](DOCS/README.md)**
获取工作台(TODO/DOING/DONE)和 **[CONTRIBUTING.md](CONTRIBUTING.md)**
获取工作方式。在本地运行测试:
```bash
uv sync --group dev
uv run --group dev ruff check . && uv run --group dev mypy && uv run --group dev pytest
```
## 许可证
[MIT](LICENSE).