mcpField
M
Model Context Protocol CLI

Model Context Protocol CLI

github.com/shahshrey框架与 SDK189 周前更新

关于 Model Context Protocol CLI

Model Context Protocol CLI 是用于交互式访问 MCP 服务的命令行客户端,支持 OpenAI 和 Ollama 模型。它提供聊天模式,并可探索服务端的工具、资源和提示词。

主要功能

  1. 01通过协议与 MCP 服务交互
  2. 02动态发现工具和资源
  3. 03支持 OpenAI 和 Ollama
  4. 04交互式聊天模式
  5. 05列出工具、资源和提示词的命令

适用场景

  1. 01探索服务端提供的工具和资源
  2. 02使用 OpenAI 与服务端聊天
  3. 03使用 Ollama 与服务端交互

MCP 相关

通过指定的服务配置连接 MCP 服务,可列出工具、资源和提示词,并通过聊天与服务端交互。

详细介绍

Model Context Protocol 命令行

这个代码库包含一个协议级命令行工具,用于与 Model Context Protocol 服务交互。客户端允许用户发送命令、查询数据以及与服务提供的各种资源进行交互。

功能特性

  • 与 MCP 服务的协议级通信。
  • 动态工具和资源探索。
  • 支持多个提供商和模型:
    • 提供商:OpenAI、Ollama。
    • 默认模型:OpenAI 的 gpt-4o,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。
  • --provider:(可选)指定要使用的提供商(openai 或 ollama)。默认为 openai。
  • --model:(可选)指定要使用的模型。默认值取决于提供商:
    • OpenAI 的 gpt-4o。
    • Ollama 的 llama3.2。
示例

使用默认的 OpenAI 提供商和模型运行客户端:

uv run mcp-cli --server sqlite

使用特定的配置和 Ollama 提供商运行客户端:

uv run mcp-cli --server sqlite --provider ollama --model llama3.2

交互模式

客户端支持交互模式,允许你动态执行命令。输入 help 查看可用命令列表,或输入 quit 退出程序。

支持的命令

  • ping:检查服务是否响应。
  • list-tools:显示可用的工具。
  • list-resources:显示可用的资源。
  • list-prompts:显示可用的提示词。
  • chat:进入交互式聊天模式。
  • clear:清空终端屏幕。
  • help:显示支持命令的列表。
  • quit/exit:退出客户端。
聊天模式

要进入聊天模式并与服务交互:

uv run mcp-cli --server sqlite

在聊天模式中,你可以使用工具并与服务器进行交互。在启动时指定的提供商和模型将按以下方式显示:

Entering chat mode using provider 'ollama' and model 'llama3.2'...

使用 OpenAI 提供商:

如果你希望使用 openai 模型,你应该

  • 在运行客户端前设置 OPENAI_API_KEY 环境变量,可以在 .env 文件中或作为环境变量设置。

贡献

欢迎贡献!请开启一个 issue 或提交包含你的建议更改的 pull request。

许可证

本项目采用 MIT 许可证 许可。

评论

支持 Markdown

第一次接触 MCP?

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

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