关于 Model Context Protocol CLI
一个协议级命令行客户端,用于与 MCP 服务交互。支持工具和资源探索,可配置 OpenAI 或 Ollama 提供商。
主要功能
- 01与 MCP 服务通信
- 02动态工具和资源探索
- 03支持 OpenAI 和 Ollama 提供商
- 04交互式聊天模式
- 05多服务器支持
适用场景
- 01查询和执行服务器提供的工具
- 02交互式数据查询和命令执行
- 03集成多个 MCP 服务进行协作
MCP 相关
作为 MCP 客户端,这个 CLI 连接到 MCP 服务并提供命令行界面来发现和调用服务器公开的工具、资源和提示词。
详细介绍
Model Context Protocol 命令行工具
此仓库包含一个协议级命令行工具,设计用于与 Model Context Protocol 服务交互。该客户端允许用户发送命令、查询数据,并与服务提供的各种资源进行交互。
功能特性
- 与 MCP 服务进行协议级通信。
- 动态工具和资源探索。
- 支持多个提供商和模型:
- 提供商:OpenAI、Ollama。
- 默认模型:OpenAI 使用
gpt-4o-mini,Ollama 使用qwen2.5-coder。
前置要求
- Python 3.8 或更高版本。
- 所需的依赖项(参见安装)
- 如果使用 Ollama,应确保 Ollama 已安装并正在运行。
- 如果使用 OpenAI,应在环境变量中设置 API 密钥(OPENAI_API_KEY=yourkey)
安装
- 克隆仓库:
git clone https://github.com/chrishayuk/mcp-cli
cd mcp-cli
- 安装 UV:
pip install uv
- 重新同步依赖项:
uv sync --reinstall
用法
要启动客户端并与 SQLite 服务交互,请运行以下命令:
uv run mcp-cli --server sqlite
命令行参数
--server:指定要使用的服务配置。必需。--config-file:(可选)JSON 配置文件的路径。默认为server_config.json。--all:(可选)使用配置中提供的所有服务
--provider:(可选)指定要使用的提供商(openai或ollama)。默认为openai。--model:(可选)指定要使用的模型。默认值取决于提供商:- OpenAI 为
gpt-4o-mini。 - Ollama 为
llama3.2。
- OpenAI 为
示例
使用默认 OpenAI 提供商和模型运行客户端:
uv run mcp-cli --server sqlite
使用特定配置和 Ollama 提供商运行客户端:
uv run mcp-cli --server sqlite --provider ollama --model llama3.2
使用默认 OpenAI 提供商和模型运行客户端,配置中提供的所有服务:
uv run mcp-cli --config "path to your server_config.json" --all
交互模式
客户端支持交互模式,允许你动态执行命令。输入 help 以查看可用命令列表,或输入 quit 退出程序。
支持的命令
ping:检查服务是否响应。list-tools:显示可用的工具。list-resources:显示可用的资源。list-prompts:显示可用的提示词。chat:进入交互式聊天模式。clear:清空终端屏幕。help:显示支持的命令列表。quit/exit:退出客户端。
聊天模式
要进入聊天模式并与服务交互:
uv run mcp-cli --server sqlite
或对于多个服务:
uv run mcp-cli --server sqlite --server exa --server filesystem --server sequential-thinking --server memory
然后使用 'chat' 命令进入聊天模式。 在聊天模式中,你可以使用工具并以交互方式查询服务。启动时指定的提供商和模型将按如下方式显示:
Entering chat mode using provider 'ollama' and model 'llama3.2'...
使用 OpenAI 提供商:
如果你希望使用 OpenAI 模型,应该
- 在运行客户端前设置
OPENAI_API_KEY环境变量,可以在 .env 或作为环境变量设置。
贡献
欢迎贡献!请提出问题或提交包含你的建议更改的拉取请求。
许可证
此项目在 MIT 许可证下获得许可。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。