mcpField
M
Model Context Protocol CLI

Model Context Protocol CLI

github.com/sansan4ez框架与 SDK092 周前更新

关于 Model Context Protocol CLI

一个协议级命令行客户端,用于与 MCP 服务交互。支持工具和资源探索,可配置 OpenAI 或 Ollama 提供商。

主要功能

  1. 01与 MCP 服务通信
  2. 02动态工具和资源探索
  3. 03支持 OpenAI 和 Ollama 提供商
  4. 04交互式聊天模式
  5. 05多服务器支持

适用场景

  1. 01查询和执行服务器提供的工具
  2. 02交互式数据查询和命令执行
  3. 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)

安装

  1. 克隆仓库:
git clone https://github.com/chrishayuk/mcp-cli
cd mcp-cli
  1. 安装 UV:
pip install uv
  1. 重新同步依赖项:
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 提供商和模型运行客户端:

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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。