使用说明
项目简介
psql-service 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在连接本地 PostgreSQL 数据库,为 LLM 客户端(如 Claude)提供数据访问和操作能力。通过 psql-service,LLM 应用可以方便地查询、修改 PostgreSQL 数据库,并利用预定义的 Prompt 模板与用户进行更结构化的交互。
主要功能点
- 资源 (Resources):
- 提供 'memo://insights' 资源,用于存储和访问业务洞察笔记。该笔记会随着数据分析的进行而自动更新,作为 LLM 应用的上下文信息。
- Prompt 模板 (Prompts):
- 提供 'mcp-demo' Prompt 模板,允许用户指定主题,引导 LLM 应用创建数据库表、分析数据、生成洞察等,以演示 PostgreSQL MCP 服务器的功能。
- 工具 (Tools):
- 'read-query': 执行 SELECT 查询,从数据库读取数据。
- 'write-query': 执行 INSERT, UPDATE, DELETE 查询,修改数据库数据。
- 'create-table': 在数据库中创建新表。
- 'list-tables': 列出数据库中所有表名。
- 'describe-table': 获取指定表的结构信息。
- 'append-insight': 将业务洞察添加到 'memo://insights' 资源中。
安装步骤
psql-service 服务器本身无需单独安装,它作为一个 Python 项目,通常以开发或发布的形式提供。对于用户而言,主要是在 MCP 客户端(如 Claude Desktop)中配置服务器连接信息。
服务器配置
要将 psql-service 服务器配置到 MCP 客户端,您需要编辑客户端的配置文件(例如 Claude Desktop 的 'claude_desktop_config.json')。在 'mcpServers' 字段中添加 psql-service 的配置信息。
开发/未发布服务器配置 (Development/Unpublished Servers Configuration):
"mcpServers": { "psql-service": { "command": "uv", "args": [ "--directory", "/path/to/psql-service", <-- 替换为 psql-service 项目的实际路径 "run", "psql-service" ] } }
- '"psql-service"': 服务器名称,在客户端中用于标识和引用该服务器。
- '"command": "uv"': 指定用于启动服务器的命令。 'uv' 是一个 Python 包管理器和运行器,这里假设使用 'uv' 来运行 Python 代码。如果您的环境中使用的是 'python' 或其他方式,请相应修改。
- '"args"': 启动命令的参数列表。
- '"--directory"': 指定 psql-service 项目所在的目录。请将 '/path/to/psql-service' 替换为您本地 psql-service 项目的实际绝对路径。
- '"run"': 'uv run' 的子命令,用于运行指定的 Python 模块或脚本。
- '"psql-service"': 要运行的 Python 模块名,对应于 'src/psql_service/init.py' 中定义的 'main' 函数。
发布服务器配置 (Published Servers Configuration):
"mcpServers": { "psql-service": { "command": "uvx", "args": [ "psql-service" ] } }
- '"command": "uvx"': 用于运行已发布的 Python 包的可执行命令。
- '"args"':
- '"psql-service"': 已发布的 psql-service 包的入口点。
重要配置说明:
-
环境变量: psql-service 服务器依赖以下环境变量来连接 PostgreSQL 数据库。您需要在运行服务器的环境中设置这些环境变量,或者在启动脚本中预先设置。
- 'PGDATABASE': 数据库名称
- 'PGUSER': 数据库用户名
- 'PGPASSWORD': 数据库用户密码
- 'PGHOST': 数据库主机地址
- 'PGPORT': 数据库端口号
请务必根据您的 PostgreSQL 数据库配置设置正确的环境变量。
基本使用方法
- 配置 MCP 客户端: 根据上述 "服务器配置" 部分,将 psql-service 服务器添加到您的 MCP 客户端配置文件中,并确保路径和参数配置正确。
- 设置数据库环境变量: 在运行 MCP 客户端的环境中,设置 PostgreSQL 数据库连接所需的环境变量 ('PGDATABASE', 'PGUSER', 'PGPASSWORD', 'PGHOST', 'PGPORT')。
- 启动 MCP 客户端: 启动配置了 psql-service 的 MCP 客户端(例如 Claude Desktop)。
- 使用 Prompt 或工具: 在 MCP 客户端中,您可以选择使用 'mcp-demo' Prompt 模板,或者直接调用 'read-query'、'write-query' 等工具来与 PostgreSQL 数据库进行交互。例如,您可以使用 'mcp-demo' Prompt 并提供一个主题,让 LLM 应用引导您完成数据库操作和数据分析流程。您也可以使用 'list-tables' 工具查看数据库中的表,或使用 'read-query' 工具执行自定义 SQL 查询。
- 查看业务洞察: 通过客户端的资源访问功能,可以读取 'memo://insights' 资源,查看分析过程中生成的业务洞察笔记。
通过以上步骤,您就可以利用 psql-service MCP 服务器,在 LLM 应用中安全、便捷地访问和操作 PostgreSQL 数据库,实现更强大的数据分析和应用功能。
信息
分类
数据库与文件