模型上下文协议客户端

一个强大的、灵活的、交互式的模型上下文协议(MCP)客户端,用于连接大型语言模型和MCP服务器,实现AI助手与外部工具和数据源的无缝交互。

  • by dkoul
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 dkoul/atagtr2025-workshop-mcp-client

使用说明

🚀 MCP客户端

一个用Python构建的强大、灵活和交互式的模型上下文协议(MCP)客户端。该客户端弥合了大型语言模型(通过Ollama)和MCP服务器之间的差距,使您的AI助手能够与外部工具和数据源无缝交互。

✨ 特性

  • 🔌 通用MCP支持:通过stdio连接到任何标准MCP服务器(Python、Node.js等)。
  • 💬 交互式聊天界面:强大的命令行界面,用于与LLM聊天。
  • 🛠️ 工具集成:自动发现并利用连接的MCP服务器提供的工具。
  • 🌊 流媒体响应:实时响应流,提供流畅的用户体验。
  • ⚙️ 灵活的配置:通过环境变量轻松配置模型和端点。
  • 🛡️ 稳健的错误处理:对连接断开和API错误的优雅处理。
  • 📝 丰富的日志记录:调试和监视客户端活动的详细日志。

📋 先决条件

  • Python 3.12+
  • 紫外线 (建议用于依赖关系管理)
  • 奥拉玛 在本地(或远程实例)运行

🚀 入门指南

1.克隆存储库

git clone <your-repo-url>
cd mcp-client

2.安装依赖项

使用 uv (推荐):

uv sync

或者使用pip:

pip install -r requirements.txt

3.配置环境

创建一个 .env 根目录中的文件以覆盖默认值:

# Optional: Override defaults
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=gpt-oss:20b
LOG_LEVEL=INFO

4.运行客户端

您需要提供命令来运行要连接的MCP服务器。

示例:连接到Python MCP服务器

uv run python client.py python path/to/server.py

示例:连接到Node.js/Playwright MCP服务器

uv run python client.py npx -y @playwright/mcp@latest

🎮 用法

连接后,您可以自然地与客户端交互:

  • 提出问题:“东京的天气怎么样?”(如果使用天气工具)
  • 使用工具:“前往google.com并截图”(如果使用浏览器工具)
  • 系统命令:
    • clear:清除对话历史记录。
    • quit:退出客户端。

🛠️ 配置选项

变量 默认值 描述
OLLAMA_BASE_URL http://localhost:11434 Ollama实例的URL
OLLAMA_MODEL gpt-oss:20b 要使用的LLM模型
LOG_LEVEL INFO 记录详细信息(调试、信息、警告、错误)

🤝 贡献

欢迎投稿!请随时提交拉取请求。

  1. 分叉项目
  2. 创建功能分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some AmazingFeature')
  4. 推到分支(git push origin feature/AmazingFeature)
  5. 打开拉取请求

📄 许可证

根据MIT许可证分发。看 LICENSE 了解更多信息。