项目简介
CLI Agent 是一个多功能的HTTP网关服务,它将HTTP请求桥接到多种AI CLI工具(Claude、Codex、Cursor、Gemini、Qwen)的无头模式,同时集成MCP工具链,为LLM应用提供统一的上下文服务框架。
主要功能
- MCP工具集成:支持WebFetch、Playwright等MCP服务器的工具调用
- 多CLI支持:统一接口调用Claude、Codex、Cursor、Gemini、Qwen等AI CLI工具
- 会话管理:支持session_id和resume功能,实现多轮对话
- 资源访问:通过Claude Skills功能访问本地文件和目录
- 流式输出:支持Server-Sent Events(SSE)实时流式响应
- Prompt模板:支持系统提示词和对话历史管理
- 权限控制:支持bypassPermissions模式自动授权MCP工具使用
安装步骤
- 环境要求:Go 1.16或更高版本
- 构建项目:
go mod init claude-cli-gateway go build -o claude-cli-gateway
服务器配置
在MCP客户端配置中,需要设置服务器的启动命令和参数:
{ "mcpServers": { "cli-agent": { "command": "./claude-cli-gateway", "args": ["-p", "8080"] }
配置说明:
- 'command':编译后的可执行文件路径
- 'args':启动参数,如端口配置
基本使用方法
通过HTTP POST请求调用服务:
非流式请求:
curl -X POST http://localhost:8080/chat \ -H "Content-Type: application/json" \ -d '{ "prompt": "你的问题", "allowed_tools": ["WebFetch", "playwright"], "permission_mode": "bypassPermissions" }'
流式请求(启用SSE):
curl -N -X POST http://localhost:8080/chat \ -H "Content-Type: application/json" \ -d '{ "prompt": "写一首诗", "stream": true
MCP工具调用示例:
# 使用Playwright抓取网页 curl -X POST http://localhost:8080/chat \ -H "Content-Type: application/json" \ -d '{ "prompt": "访问https://example.com获取内容并总结", "allowed_tools": ["playwright"], "permission_mode": "bypassPermissions" }'
该服务支持多种传输协议,包括Stdio和HTTP,能够为LLM客户端提供安全、可扩展的上下文服务。
信息
分类
开发者工具