MCP Host CLI
本地 HTTP 服务器,代理对 LLM 的请求,并在需要时使用 mcp-servers。
VyacheslavVanin
README
MCP Host CLI
一个基于 FastAPI 的 CLI 应用程序,用于托管和管理 MCP (模型上下文协议) 服务器,提供 HTTP API 以与工具和资源进行交互。
特性
- 管理多个 MCP 服务器连接
- 提供 HTTP API 端点,用于:
- 用户请求
- 工具审批工作流
- 会话状态管理
- 支持直接 LLM API 和 Ollama 本地模型
安装
- 克隆仓库:
git clone https://github.com/VyacheslavVanin/mcp-host-cli.git
cd mcp-host-cli
- 运行:
uv run main.py
配置
服务器配置
- 创建/编辑
servers_config.json以配置您的 MCP 服务器:
{
"mcpServers": {
"server-name": {
"command": "node",
"args": ["path/to/server.js"],
"env": {
"API_KEY": "your-api-key"
}
}
}
}
应用程序配置
配置可以通过环境变量或命令行参数设置(CLI 参数优先级更高)。
环境变量
LLM_API_KEY: LLM 服务的 API 密钥(如果未使用 Ollama)LLM_PROVIDER: "ollama" (默认) 或 "openai"LLM_MODEL: 模型名称 (默认: "qwen2.5-coder:latest")PORT: 服务器端口 (默认: 8000)OPENAI_BASE_URL: OpenAI 兼容 API 的基本 URL (默认: "https://openrouter.ai/api/v1")USE_OLLAMA: 设置为 "true" 以使用本地 Ollama 模型
命令行参数
python main.py --model MODEL_NAME --port PORT_NUMBER --provider PROVIDER --openai-base-url URL
其中:
- PROVIDER 是 "ollama" (默认) 或 "openai"
- URL 是 OpenAI 兼容 API 的基本 URL (默认: "https://openrouter.ai/api/v1")
配置优先级
- 命令行参数 (最高优先级)
- 环境变量
- 默认值 (最低优先级)
示例
# 使用环境变量
export LLM_MODEL="llama3:latest"
export PORT=8080
python main.py
# 使用 CLI 参数
python main.py --model "llama3:latest" --port 8080
# 使用默认值
python main.py
API 端点
POST /user_request
处理用户输入并返回 LLM 响应或工具审批请求。
请求:
{
"input": "你的问题或命令"
}
响应:
{
"message": "响应文本",
"request_id": "如果需要审批,则为 uuid",
"requires_approval": true/false,
"tool": "如果适用,则为工具名称"
}
POST /approve
批准或拒绝工具执行请求。
请求:
{
"request_id": "来自 user_request 的 uuid",
"approve": true/false
}
响应:
{
"message": "执行结果或拒绝消息",
"request_id": "相同的 request_id",
"tool": "工具名称"
}
GET /session_state
获取当前聊天会话状态,包括消息和待处理的请求。
响应:
{
"messages": [
{"role": "system/user/assistant", "content": "消息文本"}
],
"_pending_request_id": "uuid 或 null",
"_pending_tool_call": {
"tool": "工具名称",
"arguments": {}
}
}
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。
Linear MCP Server
一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。
Adamik MCP Server
通过 Claude Desktop 实现与 60 多个区块链网络的读写交互,为交易管理、账户洞察、质押和代币交互提供标准化的多链 API。