MCP协议客户端

一个用于通过OpenAI的Responses API实验模型上下文协议(MCP)的异步CLI客户端,可连接任何通过stdio暴露的MCP服务器并交互式调用其工具。

  • by Fredheda
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Fredheda/mcp-client

使用说明

MCP客户端

一个异步CLI客户端,用于实验 模型上下文协议(MCP) 使用OpenAI的Responses API。客户端连接到通过stdio公开的任何MCP服务器,列出它提供的工具,并代理一个交互式聊天会话,模型可以在该会话中按需调用这些工具。

需求

  • Python 3.12或更高版本
  • 符合MCP标准的服务器可执行文件(.py 或 .js)可以在stdio上运行
  • OpenAI API密钥,可访问 gpt-4.1-mini 模型(在您的环境中设置)

安装

此项目使用 pyproject.toml 和船与 uv.lock 文件。选择与您的工具链匹配的工作流:

使用紫外线(推荐)

uv sync

这解决了依赖关系,并在中创建了一个虚拟环境 .venv/.

使用pip

python -m venv .venv
source .venv/bin/activate
pip install -e .

配置

环境变量从本地自动加载 .env 文件。至少,设置:

OPENAI_API_KEY=your_openai_key

添加目标MCP服务器所需的任何其他变量。

运行客户端

通过将客户端指向服务器脚本来启动客户端:

python client.py path/to/server_script.py
  • 脚本扩展决定客户端是否使用以下命令生成它 python 或 node.
  • 启动时,客户端会列出服务器公开的工具。
  • 键入问题或说明以推动对话;进入 quit 退出。

在后台,客户端将您的提示以及服务器的工具定义传递给OpenAI的Responses API。当模型要求调用工具时,客户端通过连接的MCP会话执行它,并将结果反馈到对话中。

故障排除

  • 服务器未启动:确认路径正确,并且脚本可以在所选运行时执行。
  • 身份验证错误:重新检查 OPENAI_API_KEY 在您的环境中或 .env 文件。
  • 未列出工具:确保服务器实现MCP list_tools 处理程序。