数据库模式管理服务

一个基于Node.js和TypeScript的模型上下文协议(MCP)服务器,用于数据库模式管理和查询,支持PostgreSQL数据库的自动模式发现和智能查询。

  • by rahulmeena0912
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 rahulmeena0912/Mcp_server

使用说明

mcp-server 翻译成中文是“MCP服务器”

一个用于数据库模式管理和查询的模型上下文协议(MCP)服务器,采用Node.js和TypeScript构建。

项目结构

fintra-mcp-server/
│
├── src/
│   ├── controllers/
│   │   └── tools.ts          # MCP tools implementation
│   ├── data/
│   │   ├── tableDescriptions.json     # Table metadata and descriptions
│   │   └── columnDescriptions.json    # Column-level descriptions
│   ├── utils/
│   │   └── db.ts             # Database connection pool
│   ├── index.ts              # Application entry point
│   └── server.ts             # MCP server configuration
│
├── node_modules/             # Dependencies
├── dist/                     # Compiled JS output (ignored by git)
│
├── .env                      # Environment variables
├── .gitignore
├── package.json
├── tsconfig.json
├── README.md

特点/特性

  • 数据库模式发现自动读取并暴露PostgreSQL表结构
  • 智能查询为增强大型语言模型(LLM)的理解能力,提供表和列的描述
  • MCP协议实现模型上下文协议,以实现无缝AI集成
  • 类型安全使用Zod进行验证的完整TypeScript实现

可用工具

  1. 表模式(或表结构) - 返回包含表和列的完整数据库架构
  2. 表模式描述 - 提供详细的表格描述和用途
  3. 表格列描述 - 返回特定表的列级描述
  4. 查询 - 在 PostgreSQL 数据库上执行 SQL 查询

入门指南

先决条件

  • Node.js(v18或更高版本)
  • PostgreSQL 数据库
  • npm 或 yarn 包管理器

安装

  1. 克隆仓库:

    git clone <repository-url>
    cd fintra-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 创建一个 .env 与您的数据库配置文件一起:

    DATABASE_URL=postgresql://username:password@localhost:5432/database_name
    PORT=3000
    
  4. 在数据文件中设置您的表和列描述:

    • 编辑 src/data/tableDescriptions.json 用于表元数据
    • 编辑 src/data/columnDescriptions.json 用于列描述

发展

运行开发服务器:

npm run dev

生产

构建并运行生产服务器:

npm run build
npm start

配置

数据库设置

确保您的PostgreSQL数据库可访问,并且连接字符串在 .env 是正确的。服务器将自动发现(或识别)数据库中的表 public 模式/架构。

添加表/列描述

更新JSON文件中的内容 src/data/ 为人工智能查询提供更好的上下文:

  • tableDescriptions.json添加表级元数据
  • columnDescriptions.json添加列级描述

API 使用

此服务器实现了模型上下文协议(MCP),并可与MCP兼容的客户端集成,以进行数据库查询和模式探索。