MCP TimescaleDB服务器
TimescaleDB Cloud的模型上下文协议(MCP)服务器,提供对PostgreSQL数据库的安全访问。
先决条件
- Node.js (建议使用v16或更新版本)
- npm (附带Node.js)
- TypeScript (作为开发依赖项安装,但您可能希望它全局用于开发:
npm install -g typescript)
还需要TimescaleDB Cloud帐户和凭据。
______________________________________________________________________
安装
- 安装依赖项:
npm install- 复制环境模板:
cp .env.example .env- 在中配置您的TimescaleDB凭据
.env:
TIMESCALE_HOST=your-timescale-host.tsdb.cloud.timescale.com
TIMESCALE_PORT=31316
TIMESCALE_DB=tsdb
TIMESCALE_USER=tsdbadmin
TIMESCALE_PASSWORD=your_password
TIMESCALE_SSL_MODE=require建筑
npm run build用法
注: 如果您将此服务器用作MCP客户端的一部分(请参阅下面的“MCP配置”部分) 不 需要奔跑npm run dev或npm start手动--MCP客户端将使用指定的命令自动启动服务器。以下脚本仅用于本地开发和测试。
发展
npm run dev生产
npm run build
npm startMCP配置
将此添加到MCP客户端配置中:
{
"mcpServers": {
"mcp-timescale": {
"command": "node",
"args": ["/path/to/your/dist/index.js"],
"env": {
"TIMESCALE_HOST": "",
"TIMESCALE_PORT": "31316",
"TIMESCALE_DB": "tsdb",
"TIMESCALE_USER": "tsdbadmin",
"TIMESCALE_PASSWORD": "",
"TIMESCALE_SSL_MODE": "require"
}
}
}
}安全
- 所有数据库连接都使用SSL/TLS加密
- 凭据通过环境变量进行管理
- 连接超时是可配置的
- 查询超时会阻止长时间运行的查询
可用工具
timescale_query
在TimescaleDB Cloud上执行SQL查询。
参数:
query(字符串,必填):要执行的SQL查询timeout(数字,可选):查询超时(毫秒)
例子:
{
"name": "timescale_query",
"arguments": {
"query": "SELECT * FROM users LIMIT 10"
}
}timescale_list_tables
列出当前数据库中的所有表。
参数:
schema(字符串,可选):架构名称(默认为“public”)
例子:
{
"name": "timescale_list_tables",
"arguments": {
"schema": "public"
}
}timescale_describe_table
获取表架构信息。
参数:
table(字符串,必填):表名schema(字符串,可选):架构名称(默认为“public”)
例子:
{
"name": "timescale_describe_table",
"arguments": {
"table": "users",
"schema": "public"
}
}发展
项目结构
TimescaleMCPServer/
├── package.json # Dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── .env.example # Environment variables template
├── src/
│ ├── index.ts # Main entry point
│ ├── server.ts # MCP server implementation
│ └── database.ts # Database client
└── README.md # This file