Token导航 LogoToken导航

MCP Server · 数据服务

Db Knowledge MCP

DB Knowledge MCP是一个企业级工具,用于读取数据库元数据并存储到向量知识库中,提供交互式图形界面进行可视化和探索表关系。

未说明官方级别未说明来源级核验工具 8
TypeScriptClaude数据分析

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
PTRJRepository
提供方
PTRJRepository

工具数量

8

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Db Knowledge MCP 属于数据服务类 MCP Server,公开资料标注 8 个工具,通过传输方式未标注接入,适配 Claude,没有现成的安装命令;接入前先确认权限范围。

分类

数据服务

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 8 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

DB Knowledge MCP

Enterprise-grade MCP server untuk membaca metadata database dan menyimpan ke vector knowledge base dengan UI graph interaktif (Obsidian-like).

🎯 Overview

DB Knowledge MCP membaca metadata database (SQL Server, MySQL, PostgreSQL) dan menyimpannya sebagai vector knowledge base yang bisa dibaca cepat oleh AI agent. Dilengkapi dengan UI graph interaktif seperti Obsidian untuk visualisasi dan eksplorasi relationship antar tabel.

✨ Features

Core Features

  • Multi-Database Support: SQL Server, MySQL, PostgreSQL
  • Vector Knowledge Base: Simpan schema sebagai embedded vectors
  • 8 MCP Tools: list_databases, scan_database, search_knowledge, dll
  • Semantic Search: Query natural language ke knowledge base

UI Dashboard (Port 5005)

  • Interactive Graph: Vis Network visualization
  • Clickable Nodes: Klik node untuk melihat detail
  • Database Selector: Switch antar knowledge bases
  • Real-time Search: Filter nodes dengan search bar
  • Zoom & Pan: Navigasi graph dengan mouse
  • Drag Nodes: Atur posisi node sesuka hati
  • Auto-layout: Button untuk auto-arrange graph

🚀 Quick Start

Prerequisites

  • Node.js >= 18.0.0
  • Database credentials (SQL Server, MySQL, atau PostgreSQL)

Installation

git clone https://github.com/PTRJRepository/db-knowledge-mcp.git
cd db-knowledge-mcp
npm install
npm run build

Configuration

Edit config/databases.json:

{
  "databases": [
    {
      "id": "db_payroll",
      "name": "Payroll Database",
      "type": "sqlserver",
      "host": "localhost",
      "port": 1433,
      "database": "payroll_db",
      "username": "sa",
      "password": "your_password",
      "enabled": true,
      "description": "Production payroll system"
    },
    {
      "id": "db_hris",
      "name": "HRIS Database",
      "type": "mysql",
      "host": "localhost",
      "port": 3306,
      "database": "hris_db",
      "username": "root",
      "password": "your_password",
      "enabled": true
    }
  ],
  "embedder": {
    "provider": "openai",
    "model": "text-embedding-3-small",
    "dimensions": 1536
  },
  "storage": {
    "type": "json",
    "path": "knowledgebases"
  }
}

Running

Mode 1: Combined Server (REST API + UI Dashboard)
npm run start:combined
  • UI Dashboard: http://localhost:5005
  • REST API: http://localhost:5005/api/*
Mode 2: MCP Server Only (STDIO)
npm start

Berguna untuk integrate dengan AI tools lain (Zo Computer, Claude, dll)

Mode 3: Scan All Databases
npm run scan-all

📊 UI Dashboard Guide

Graph View

┌─────────────────────────────────────────────────────────────┐
│  DB Knowledge Graph                              [Search...] │
├─────────────────────────────────────────────────────────────┤
│  [Dropdown: Select Database ▼]  [Scan]  [Refresh]  [Layout] │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│         ┌──────────────┐                                   │
│         │ db_payroll   │ ← Database Node (Cyan)            │
│         └──────┬───────┘                                   │
│                │                                            │
│         ┌──────┴───────┐                                   │
│         │  employees   │ ← Table Node (Green)              │
│         └──────┬───────┘                                   │
│                │                                            │
│    ┌───────────┼───────────┐                               │
│    │           │           │                               │
│ ┌──┴──┐   ┌───┴───┐   ┌───┴───┐                           │
│ │ id  │   │name   │   │ dept  │ ← Column Nodes (Yellow)   │
│ └──┬──┘   └───┬───┘   └───┬───┘                           │
│    │         │           │                                 │
│    └─────────┴───────────┘                                 │
│    │                                           (Click node)  │
│    └────────────► Shows detail panel ◄────────────         │
│                                                             │
├─────────────────────────────────────────────────────────────┤
│ Legend: ● Database  ● Table  ● Column  ● Relationship      │
└─────────────────────────────────────────────────────────────┘

Node Colors

TypeColorDescription
DatabaseCyan (#00bcd4)Root node untuk setiap database
TableGreen (#4caf50)Tabel dalam database
ColumnYellow (#ffeb3b)Kolom dalam tabel
RelationshipRed (#f44336)Foreign key relationship

Using the UI

  1. Select Database: Gunakan dropdown untuk memilih database
  2. Scan: Klik "Scan" untuk scan database dan update knowledge base
  3. Search: Ketik di search bar untuk filter nodes
  4. Click Node: Klik node untuk melihat detail di panel kanan
  5. Drag: Drag node untuk reposisi
  6. Zoom: Scroll mouse untuk zoom in/out
  7. Layout: Klik "Layout" untuk auto-arrange graph

Detail Panel

Ketika node diklik, panel kanan menampilkan:

Database Node:

┌─────────────────────────┐
│ 📊 db_payroll           │
├─────────────────────────┤
│ Type: SQL Server        │
│ Tables: 25              │
│ Columns: 156            │
│ Last Updated: 2026-03  │
├─────────────────────────┤
│ [Scan] [Delete]         │
└─────────────────────────┘

Table Node:

┌─────────────────────────┐
│ 📋 employees           │
├─────────────────────────┤
│ Schema: dbo             │
│ Columns: 12             │
│ Row Count: 1,250        │
├─────────────────────────┤
│ Primary Keys:           │
│   • employee_id         │
├─────────────────────────┤
│ Foreign Keys:            │
│   • department_id →     │
│     departments(id)     │
├─────────────────────────┤
│ [View Details]          │
└─────────────────────────┘

Column Node:

┌─────────────────────────┐
│ 📌 employee_id          │
├─────────────────────────┤
│ Type: int               │
│ Nullable: No             │
│ Primary Key: Yes        │
│ Foreign Key: No         │
├─────────────────────────┤
│ Part of: employees      │
└─────────────────────────┘

🔧 MCP Tools

1. list_databases

List semua database yang dikonfigurasi.

{
  "name": "list_databases",
  "description": "List all configured databases"
}

2. scan_database

Scan database dan simpan ke knowledge base.

{
  "name": "scan_database",
  "arguments": {
    "databaseId": "db_payroll"
  }
}

3. search_knowledge

Search knowledge base dengan query.

{
  "name": "search_knowledge",
  "arguments": {
    "query": "employee salary",
    "databaseId": "db_payroll",
    "options": {
      "limit": 10,
      "minScore": 0.1
    }
  }
}

4. get_table_info

Get detail table.

{
  "name": "get_table_info",
  "arguments": {
    "databaseId": "db_payroll",
    "tableName": "employees",
    "schema": "dbo"
  }
}

5. get_column_info

Get detail column.

{
  "name": "get_column_info",
  "arguments": {
    "databaseId": "db_payroll",
    "tableName": "employees",
    "columnName": "salary"
  }
}

6. get_table_relationships

Get semua foreign key relationships untuk table.

{
  "name": "get_table_relationships",
  "arguments": {
    "databaseId": "db_payroll",
    "tableName": "employees"
  }
}

7. get_database_overview

Get overview database termasuk semua tables.

{
  "name": "get_database_overview",
  "arguments": {
    "databaseId": "db_payroll"
  }
}

8. delete_knowledge_base

Delete knowledge base untuk database.

{
  "name": "delete_knowledge_base",
  "arguments": {
    "databaseId": "db_payroll"
  }
}

🌐 REST API

Base URL

http://localhost:5005/api

Endpoints

GET /api/knowledge-bases

List semua knowledge bases.

curl http://localhost:5005/api/knowledge-bases
GET /api/knowledge-bases/:id

Get detail knowledge base.

curl http://localhost:5005/api/knowledge-bases/db_payroll
GET /api/knowledge-bases/:id/graph

Get graph data untuk visualization.

curl http://localhost:5005/api/knowledge-bases/db_payroll/graph

Response:

{
  "nodes": [
    { "id": "db_payroll", "label": "Payroll DB", "type": "database", "color": "#00bcd4" },
    { "id": "employees", "label": "employees", "type": "table", "color": "#4caf50" },
    { "id": "employee_id", "label": "employee_id", "type": "column", "color": "#ffeb3b" }
  ],
  "edges": [
    { "from": "employees", "to": "employee_id", "label": "pk" }
  ]
}
GET /api/knowledge-bases/:id/search?q=query

Search dalam knowledge base.

curl "http://localhost:5005/api/knowledge-bases/db_payroll/search?q=salary"
POST /api/scan/:databaseId

Scan database.

curl -X POST http://localhost:5005/api/scan/db_payroll
POST /api/scan-all

Scan semua database.

curl -X POST http://localhost:5005/api/scan-all
GET /api/databases

List database configs.

curl http://localhost:5005/api/databases
POST /api/test-connection/:databaseId

Test koneksi database.

curl -X POST http://localhost:5005/api/test-connection/db_payroll
GET /api/health

Health check.

curl http://localhost:5005/api/health

📁 Project Structure

db-knowledge-mcp/
├── config/
│   └── databases.json       # Konfigurasi database
├── public/
│   └── index.html           # UI Dashboard
├── src/
│   ├── connectors/          # Database connectors
│   │   ├── base.ts          # Base connector class
│   │   ├── sqlserver.ts     # SQL Server connector
│   │   ├── mysql.ts         # MySQL connector
│   │   ├── postgresql.ts    # PostgreSQL connector
│   │   └── index.ts         # Factory function
│   ├── embedder/
│   │   └── schema-embedder.ts  # Schema → Embeddings
│   ├── storage/
│   │   └── vector-store.ts  # JSON vector store
│   ├── mcp-server.ts        # MCP stdio server
│   └── server.ts            # Express + UI server
├── knowledgebases/           # Generated KB storage
├── dist/                     # Compiled output
├── docs/
│   └── API.md              # Detailed API docs
├── CLAUDE.md               # Developer guide
├── README.md               # This file
└── package.json

🔌 Database Support

SQL Server

{
  "id": "db_payroll",
  "name": "Payroll DB",
  "type": "sqlserver",
  "host": "localhost",
  "port": 1433,
  "database": "payroll",
  "username": "sa",
  "password": "***"
}

MySQL

{
  "id": "db_hris",
  "name": "HRIS DB",
  "type": "mysql",
  "host": "localhost",
  "port": 3306,
  "database": "hris",
  "username": "root",
  "password": "***"
}

PostgreSQL

{
  "id": "db_analytics",
  "name": "Analytics DB",
  "type": "postgresql",
  "host": "localhost",
  "port": 5432,
  "database": "analytics",
  "username": "postgres",
  "password": "***"
}

🔐 Security Notes

  • No credentials stored in code: Semua credentials di config/databases.json
  • Read-only access: Connector hanya baca metadata, tidak write
  • Local storage: Knowledge base disimpan lokal, tidak dikirim ke cloud
  • HTTPS-ready: Bisa taruh di reverse proxy (nginx, Caddy) untuk production

🛠️ Development

Build

npm run build

Run Tests

npm test

Lint

npm run lint

📝 License

MIT License - lihat LICENSE

🤝 Contributing

  1. Fork repository
  2. Buat branch baru (git checkout -b feature/xxx)
  3. Commit changes (git commit -m 'Add feature xxx')
  4. Push ke branch (git push origin feature/xxx)
  5. Buat Pull Request

📧 Contact

  • Author: attapangestu
  • GitHub: https://github.com/PTRJRepository/db-knowledge-mcp

工具与能力

工具数量

8

资源数量

0

提示词数量

0

能力标签

数据库元数据TypeScript本地部署知识图谱向量存储交互式可视化SQL分析

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

用自然语言查库

不用手写 SQL,直接问数据,让模型组织查询语句。

数据巡检

定期拉指标、做对比,把异常项整理成一段说明。

打通业务数据

把数据库、数仓和接口接进同一个上下文,减少导出再上传。

选择建议

值得选的地方

  • 只提供 8 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在数据服务场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Db Knowledge MCP

MCP World · 本页

8未说明未标注1 个2026-05-17
Memory 9d25f64e

MCP World

9未说明未标注1 个2026-05-17
Prisma MCP Server

MCP World

0stdio有3 个2026-05-17
Astr Bot

MCP World

0stdio有1 个2026-05-17
Getzep MCP

MCP World

9stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Db Knowledge MCP 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Db Knowledge MCP 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Db Knowledge MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Db Knowledge MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Db Knowledge MCP 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP