greptimedb-mcp-server
一个用于 GreptimeDB 的模型上下文协议(MCP)服务器实现。
该服务器为AI助手提供了一种安全且结构化的方式来探索和分析数据库。它使它们能够通过受控接口列出表、读取数据以及执行SQL查询,确保负责任的数据库访问。
项目状态
这是一个仍在开发中的实验性项目。数据安全和隐私问题尚未得到具体解决,请谨慎使用。
功能
list_resources用于列出表read_resource用于读取表数据list_tools用于列出工具call_tool用于执行SQLlist_prompts用于列出提示get_prompt用于按名称获取提示
安装
pip install greptimedb-mcp-server
配置
设置以下环境变量:
GREPTIMEDB_HOST=localhost # 数据库主机
GREPTIMEDB_PORT=4002 # 可选:数据库MySQL端口(未指定时默认为4002)
GREPTIMEDB_USER=root
GREPTIMEDB_PASSWORD=
GREPTIMEDB_DATABASE=public
GREPTIMEDB_TIMEZONE=UTC
或通过命令行参数:
--host数据库主机,默认为localhost--port数据库端口,必须是MySQL协议端口,默认为4002--user数据库用户名,默认为空--password数据库密码,默认为空--database数据库名,默认为public--timezone会话时区,默认为空(使用服务器默认时区)。
使用
Claude Desktop 集成
在 Claude Desktop 的配置文件中配置 MCP 服务器:
MacOS
位置:~/Library/Application Support/Claude/claude_desktop_config.json
Windows
位置:%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"greptimedb": {
"command": "uv",
"args": [
"--directory",
"/path/to/greptimedb-mcp-server",
"run",
"-m",
"greptimedb_mcp_server.server"
],
"env": {
"GREPTIMEDB_HOST": "localhost",
"GREPTIMEDB_PORT": "4002",
"GREPTIMEDB_USER": "root",
"GREPTIMEDB_PASSWORD": "",
"GREPTIMEDB_DATABASE": "public",
"GREPTIMEDB_TIMEZONE": ""
}
}
}
}
许可证
MIT 许可证 - 详细内容请参阅 LICENSE.md 文件。
贡献
前置条件
- 带有
uv包管理器的Python - GreptimeDB 安装
- MCP 服务器依赖项
开发
# 克隆仓库
git clone https://github.com/GreptimeTeam/greptimedb-mcp-server.git
cd greptimedb-mcp-server
# 创建虚拟环境
uv venv
source venv/bin/activate # 或 `venv\Scripts\activate` 在Windows上
# 安装开发依赖
uv sync
# 运行测试
pytest
使用 MCP Inspector 进行调试:
npx @modelcontextprotocol/inspector uv \
--directory \
/path/to/greptimedb-mcp-server \
run \
-m \
greptimedb_mcp_server.server
致谢
该库的实现灵感来源于以下两个仓库,并整合了它们的代码,对此我们表示衷心感谢:
谢谢!