TimescaleDB服务器

一个为TimescaleDB Cloud提供安全访问PostgreSQL数据库的Model Context Protocol (MCP)服务器。

  • by TheSurfingCoder
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 thesurfingcoder/tigerdata-mcp-server

使用说明

MCP TimescaleDB服务器

TimescaleDB Cloud的模型上下文协议(MCP)服务器,提供对PostgreSQL数据库的安全访问。

先决条件

  • Node.js (建议使用v16或更新版本)
  • npm (附带Node.js)
  • TypeScript (作为开发依赖项安装,但您可能希望它全局用于开发: npm install -g typescript)

还需要TimescaleDB Cloud帐户和凭据。


安装

  1. 安装依赖项:

    npm install
    
  2. 复制环境模板:

    cp .env.example .env
    
  3. 在中配置您的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