关于 MCP Client
MCP Client 是一个用于与 Claude 3.5 Sonnet 对话并处理工具调用查询的 Python 客户端。它提供命令行界面和 Chainlit UI,并通过 MCP 访问 PostgreSQL。
主要功能
- 01与 Claude 3.5 Sonnet 对话
- 02命令行和 Chainlit 界面
- 03通过 MCP 访问 PostgreSQL
- 04支持 Python 和 JavaScript MCP 服务
适用场景
- 01通过命令行与 Claude 对话
- 02使用 Web UI 查询数据库
- 03对 PostgreSQL 执行工具调用查询
MCP 相关
客户端可连接 MCP 服务,包括 PostgreSQL MCP 服务,并支持 Python 和 JavaScript 实现的服务端。
详细介绍
MCP 客户端
Model Context Protocol (MCP) 的 Python 客户端实现,集成 Claude 3.5 Sonnet。
前置要求
- Python 3.12 或更高版本
- PostgreSQL 数据库
- Node.js(用于运行 PostgreSQL MCP 服务)
uv包管理器(推荐)或pip
安装
-
克隆仓库:
-
创建并激活虚拟环境:
# Create virtual environment
uv venv
# Activate virtual environment
# On Windows:
.venv\Scripts\activate
# On Unix or MacOS:
source .venv/bin/activate
- 安装依赖
# For python equivalent of:
# Install required packages
uv add mcp anthropic python-dotenv chainlit asyncpg
# or install from requirements.txt
# For node:
npm init
npm install @modelcontextprotocol/server-postgres
- 在项目根目录创建
.env文件并添加你的 Anthropic API 密钥:
ANTHROPIC_API_KEY=your_api_key_here
使用
客户端可以在两种模式下运行:
- 命令行界面:
uv run client.py <path-to-mcp-server> <database-url>
例如:
uv run client.py ./node_modules/@modelcontextprotocol/server-postgres/dist/index.js postgresql://localhost/your_database
- 使用 Chainlit 的 UI 首次设置:
- 在 postgres 中创建名为
chat_history的数据库 - 通过运行
init_db.py初始化数据库中的表。bash python app/init_db.py
要启动 chainlit,请运行:
chainlit run app/chainlit_app.py
其中:
<path-to-mcp-server>是 MCP 服务 JavaScript 文件的路径<database-url>是你的 PostgreSQL 连接字符串
运行后,你可以通过命令行界面与客户端交互。输入你的查询,输入 'quit' 退出。
功能
- 与 Claude 3.5 Sonnet 的交互式聊天界面
- 通过 MCP 与 PostgreSQL 数据库集成
- 支持 Python 和 JavaScript MCP 服务
- 基于工具的查询处理
开发
该项目使用:
anthropic用于 Claude API 集成mcp用于 Model Context Protocol 实现python-dotenv用于环境变量管理
许可证
MIT 许可证
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。