使用说明
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 start
MCP配置
将此添加到MCP客户端配置中:
{
"mcpServers": {
"mcp-timescale": {
"command": "node",
"args": ["/path/to/your/dist/index.js"],
"env": {
"TIMESCALE_HOST": "<your-timescale-host>",
"TIMESCALE_PORT": "31316",
"TIMESCALE_DB": "tsdb",
"TIMESCALE_USER": "tsdbadmin",
"TIMESCALE_PASSWORD": "<your-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
