KameleonDB MCP 服务端
使用说明(Markdown 格式)
-
项目简介
- 该仓库实现了一个 MCP(Model Context Protocol)服务器端,用于将 KameleonDB 的功能以工具的形式暴露给 LLM 客户端。通过 MCP,你的代理可以读取数据库架构、执行 CRUD、管理关系、执行跨实体查询,以及获取和渲染 Schema Context 等信息,所有通信基于 JSON-RPC/JSON 数据结构。
-
主要功能点
- 将数据库的核心操作暴露为 MCP 工具:描述 schema、创建/描述实体、数据增删改查、关系管理、以及对实体的查询性操作。
- 支持对外提供工具注册、导出 OpenAI/Anthropic 等格式的工具描述,方便集成到不同的 AI 客户端。
- 提供会话管理与审计能力(变更日志、材料化/ dematerialize 操作的审计记录)。
- 内置对 Embeddings 的整合能力与可选的向量检索通道(通过外部 Embedding 提供商实现语义检索)。
- 通过 MCP 服务器与客户端通信,采用 stdio 等传输方式,方便本地开发与集成。
- 具备基础的错误处理、日志输出和安全控制(只暴露允许的元数据表、操作与表访问范围)。
-
安装步骤
- 选择性安装 MCP 支持的依赖包(示例:pip install kameleondb[mcp],以及你需要的数据库后端依赖)。
- 下载或获取代码后,在项目根目录运行服务器(以下配置仅为示例,请结合真实环境调整数据库连接信息)。
- 启动 MCP 服务器:基于仓库实现,通常通过命令行启动脚本,监听标准输入/输出进行通信。
-
服务器配置(MCP 客户端需要的最小信息) 说明:MCP 客户端需要的配置通常包含服务器名称、启动命令与参数等,用于在代理端与 MCP 服务建立连接。本配置示例仅用于描述与参考,实际客户端无需你在此处编写代码。 { "server": "kameleondb", "command": "kameleondb-mcp", "args": ["--database", "postgresql://user:pass@localhost/kameleondb"], "description": "KameleonDB MCP 服务端(示例配置,用于客户端连接信息展示)", "transport": "stdio" }
-
基本使用方法
- 启动后,客户端可以按 MCP 规范向服务器发送请求,例如:获取完整架构、描述某个实体、执行数据操作、注册或调用工具等。
- 客户端常见交互包括:
- 请求服务器描述数据库架构及实体信息
- 调用注册的实体 CRUD 工具执行插入、查询、更新、删除
- 使用 get_schema_context/execute_sql 等工具辅助 LLM 生成并执行 SQL
- 使用材料化、 dematerialize 等操作实现跨存储模式迁移
- 服务器返回的将是结构化的 JSON 数据或 JSON 字符串,便于客户端进行进一步处理与展示。
-
重要提示
- MCP 客户端需要的具体字段和端点名称,请以服务器暴露的工具列表与文档为准,客户端实现可通过工具描述格式(OpenAI/Anthropic 等)获取工具签名并进行参数化调用。
- 服务器端对 Embeddings 的开启与关闭、以及存储模式(共享/专有)等行为会影响查询与向量检索的可用性,请在部署时根据需求开启或禁用。