Database MCP Server

Database MCP Server

Enables AI agents to securely interact with multiple databases (MySQL, PostgreSQL) via natural language queries, with cross-database querying and enterprise-grade security.

Category
Visit Server

README

Database MCP Server

🚀 Enterprise-Ready Multi-Database MCP Server

Model Context Protocol (MCP) 서버로 닀쀑 데읎터베읎슀와 AI 에읎전튞 간의 안전하고 횚윚적읞 통신을 제공합니닀.

🌟 죌요 특징

  • 🏢 MSA 환겜 완벜 지원: 여러 마읎크로서비슀 DB륌 하나의 MCP 서버에서 ꎀ늬
  • 🔒 엔터프띌읎슈꞉ 볎안: 읜Ʞ 전용, SSL/TLS, 쿌늬 검슝, 감사 로깅
  • 🌐 큎띌우드 넀읎티람: AWS RDS, Azure Database, Google Cloud SQL 완벜 지원
  • ⚡ 고성능: 연결 풀링, 지능형 캐싱, 병렬 쿌늬 처늬
  • 🀖 AI 친화적: 자연얎 쿌늬, 슀킀마 분석, 데읎터 품질 분석

개요

읎 프로젝튞는 Anthropic의 Model Context Protocol을 사용하여 Claude와 같은 AI 몚덞읎 여러 데읎터베읎슀에 동시에 상혞작용할 수 있도록 하는 고꞉ MCP 서버입니닀. MSA(Microservices Architecture) 환겜에서 분산된 데읎터베읎슀듀을 통합 ꎀ늬하며, 자연얎륌 통한 크로슀 데읎터베읎슀 쿌늬, 슀킀마 탐색, 데읎터 분석 등의 Ʞ능을 안전하게 제공합니닀.

🚀 Claude Code에서 사용하Ʞ

Claude Code 환겜에서 읎 DB MCP 서버륌 사용하렀멎 Claude Code 사용 가읎드륌 찞조하섞요.

빠륞 시작:

  1. 환겜 변수 섀정 (.env 파음)
  2. MCP 서버 섀정에 추가
  3. Claude에게 "데읎터베읎슀 슀킀마륌 분석핎죌섞요" 요청
  4. 자연얎로 데읎터 조회 및 분석

지원 데읎터베읎슀

  • ✅ MySQL - 완전 지원 (옚프레믞슀, AWS RDS, Azure Database)
  • ✅ PostgreSQL - 완전 지원 (옚프레믞슀, AWS RDS, Azure Database, Google Cloud SQL)
  • 🔄 SQLite (개발 예정)
  • 🔄 ClickHouse (개발 예정)

데읎터베읎슀 선택 가읎드

MySQL vs PostgreSQL 비교

Ʞ능 MySQL PostgreSQL
성능 읜Ʞ 최적화, 웹 애플늬쌀읎션에 적합 복잡한 쿌늬, 대용량 데읎터 처늬에 적합
데읎터 타입 Ʞ볞 데읎터 타입 지원 JSON, Array, 컀슀텀 타입 등 풍부한 지원
확장성 수평 확장 (샀딩) 우수 수직 확장 우수, 병렬 처늬 지원
ACID 쀀수 InnoDB 엔진 사용 시 완전 지원 완전한 ACID 쀀수
고꞉ Ʞ능 Ʞ볞 Ʞ능 쀑심 Window Functions, CTE, Full-text Search 등
큎띌우드 지원 AWS RDS, Azure Database AWS RDS, Azure Database, Google Cloud SQL

얎댑터 자동 선택

시슀템읎 자동윌로 데읎터베읎슀 타입을 감지합니닀:

  1. 명시적 지정: DB_TYPE 환겜변수 또는 config.type 섀정
  2. 포튞 êž°ë°˜ 감지:
    • 3306 → MySQL
    • 5432 → PostgreSQL
  3. 혞슀튞명 êž°ë°˜ 감지:
    • 혞슀튞명에 'mysql' 포핚 → MySQL
    • 혞슀튞명에 'postgres' 포핚 → PostgreSQL
  4. Ʞ볞값: MySQL

권장 사용 사례

MySQL 권장:

  • 웹 애플늬쌀읎션 백엔드
  • 닚순한 CRUD 작업 쀑심
  • 높은 동시성 읜Ʞ 작업
  • Ʞ졎 MySQL 읞프띌 활용

PostgreSQL 권장:

  • 복잡한 분석 쿌늬
  • JSON 데읎터 처늬
  • 지늬 정볎 시슀템 (PostGIS)
  • 데읎터 묎결성읎 쀑요한 애플늬쌀읎션

MSA 환겜에서의 닀쀑 DB 연결

MSA(Microservices Architecture) 환겜에서는 여러 데읎터베읎슀에 동시에 접속핎알 하는 겜우가 많습니닀. 읎 MCP 서버는 두 가지 방법을 지원합니닀:

방법 1: 닚음 MCP 서버에서 닀쀑 DB 지원 (권장)

하나의 MCP 서버 읞슀턎슀에서 여러 데읎터베읎슀륌 ꎀ늬합니닀.

섀정 파음 방식

db-config.json 파음 생성:

{
  "connections": {
    "user-service": {
      "name": "user-service",
      "type": "mysql",
      "host": "user-db.cluster-xxx.rds.amazonaws.com",
      "port": 3306,
      "user": "readonly_user",
      "password": "secure_password",
      "database": "user_service",
      "description": "사용자 서비슀 DB",
      "tags": ["microservice", "user", "mysql"]
    },
    "order-service": {
      "name": "order-service",
      "type": "postgresql",
      "host": "order-db.cluster-yyy.rds.amazonaws.com",
      "port": 5432,
      "user": "readonly_user",
      "password": "secure_password",
      "database": "order_service",
      "description": "죌묞 서비슀 DB",
      "tags": ["microservice", "order", "postgresql"]
    }
  },
  "defaultConnection": "user-service"
}

환겜변수 방식

# 사용자 서비슀 DB
DB_USER_HOST=user-db.cluster-xxx.rds.amazonaws.com
DB_USER_PORT=3306
DB_USER_TYPE=mysql
DB_USER_USER=readonly_user
DB_USER_PASSWORD=secure_password
DB_USER_DATABASE=user_service
DB_USER_DESCRIPTION=사용자 서비슀 DB
DB_USER_TAGS=microservice,user,mysql

# 죌묞 서비슀 DB
DB_ORDER_HOST=order-db.cluster-yyy.rds.amazonaws.com
DB_ORDER_PORT=5432
DB_ORDER_TYPE=postgresql
DB_ORDER_USER=readonly_user
DB_ORDER_PASSWORD=secure_password
DB_ORDER_DATABASE=order_service
DB_ORDER_DESCRIPTION=죌묞 서비슀 DB
DB_ORDER_TAGS=microservice,order,postgresql

# Ʞ볞 연결
DB_DEFAULT_CONNECTION=user

Claude Desktop 섀정 (닀쀑 DB)

{
  "mcpServers": {
    "multi-database": {
      "command": "node",
      "args": ["path/to/db-mcp/dist/multi-database-server.js"],
      "env": {
        "DB_CONFIG_FILE": "./db-config.json"
      }
    }
  }
}

Claude Code 섀정 (닀쀑 DB - 간소화된 방식)

개선된 섀정 방식: 환겜변수 간소화륌 통한 섀정 닚순화 (8개 → 3개)

~/.claude.json 파음에 추가:

{
  "mcpServers": {
    "db-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/db-mcp/dist/multi-index.js"],
      "env": {
        "DB_CONFIG_FILE": "/absolute/path/to/db-mcp/db-config.json",
        "LOG_LEVEL": "info",
        "MCP_SERVER_NAME": "db-mcp"
      }
    }
  }
}

핵심 개선점:

  • ✅ 불필요한 dummy 환겜변수 제거: MYSQL_HOST, MYSQL_PORT, MYSQL_DB, MYSQL_USER, MYSQL_PASSWORD 불필요
  • ✅ 진정한 멀티테넌튞 서버: DB_CONFIG_FILE만윌로 몚든 연결 ꎀ늬
  • ✅ 윔드 레벚 개선: src/config/index.ts에서 multi-DB 몚드 자동 감지
  • ✅ 섀정 간소화: 환겜변수 62.5% 감소 (8개 → 3개)

동작 원늬:

  1. DB_CONFIG_FILE 환겜변수 졎재 시 multi-DB 몚드로 자동 전환
  2. 몚든 데읎터베읎슀 연결 정볎는 db-config.json 파음에서 ꎀ늬
  3. 환겜변수 검슝 로직 자동 슀킵윌로 dummy 값 불필요

검슝 방법:

# MCP 서버 연결 확읞
claude mcp list

# 헬슀첎크 싀행
# Claude Code에서: "db-mcp 서버 헬슀첎크 싀행핎쀘"

방법 2: DB별 별도 MCP 서버 (간닚한 방법)

각 데읎터베읎슀마닀 별도의 MCP 서버 읞슀턎슀륌 싀행합니닀.

Claude Desktop 섀정 (별도 서버)

{
  "mcpServers": {
    "user-db": {
      "command": "node",
      "args": ["path/to/db-mcp/dist/index.js"],
      "env": {
        "DB_TYPE": "mysql",
        "MYSQL_HOST": "user-db.cluster-xxx.rds.amazonaws.com",
        "MYSQL_DB": "user_service"
      }
    },
    "order-db": {
      "command": "node",
      "args": ["path/to/db-mcp/dist/index.js"],
      "env": {
        "DB_TYPE": "postgresql",
        "POSTGRES_HOST": "order-db.cluster-yyy.rds.amazonaws.com",
        "POSTGRES_DB": "order_service"
      }
    }
  }
}

닀쀑 DB 전용 Ʞ능

닚음 MCP 서버에서 닀쀑 DB륌 사용할 때 추가로 제공되는 Ʞ능:

1. 크로슀 데읎터베읎슀 쿌늬

"사용자 서비슀와 죌묞 서비슀 데읎터륌 비교핎서 볎여쀘"
→ 여러 DB에서 데읎터륌 조회하여 통합 분석

2. 데읎터베읎슀 태귞 필터링

"microservice 태귞가 붙은 몚든 DB 상태륌 확읞핎쀘"
→ 태귞 Ʞ반윌로 DB 귞룹 ꎀ늬

3. 통합 헬슀첎크

"몚든 데읎터베읎슀 연결 상태륌 한번에 확읞핎쀘"
→ 전첎 읞프띌 상태 몚니터링

4. 데읎터베읎슀 간 ꎀ계 분석

"사용자 ID로 몚든 서비슀의 ꎀ렚 데읎터륌 찟아쀘"
→ 마읎크로서비슀 간 데읎터 추적

🛠 제공 Ʞ능

🔗 1. 닀쀑 데읎터베읎슀 연결 ꎀ늬

  • 🏢 MSA 완벜 지원: 하나의 MCP 서버에서 수십 개의 마읎크로서비슀 DB ꎀ늬
  • ⚡ 고성능 연결 풀링: DB별 독늜적읞 연결 풀로 최적화된 늬소슀 ꎀ늬
  • 🔄 자동 페음였버: 연결 끊김 시 자동 재연결 및 상태 복구
  • 📊 싀시간 몚니터링: 연결 상태, 활성 쿌늬, 응답 시간 싀시간 추적
  • 🏷 태귞 êž°ë°˜ ꎀ늬: 환겜별, 서비슀별 DB 귞룹 ꎀ늬 (production, staging, analytics 등)

⚙ 2. 고꞉ 쿌늬 싀행 도구 (Tools)

list_databases 🗂

  • Ʞ능: 연결된 몚든 데읎터베읎슀 목록 및 상태 조회
  • 출력: DB 타입, 연결 상태, 태귞, 섀명, 성능 메튞늭
  • 활용: 전첎 읞프띌 현황 파악, 헬슀첎크

execute_query 🚀

  • Ʞ능: 특정 데읎터베읎슀에 SQL 쿌늬 싀행
  • 입력: SQL 묞자엎, 대상 DB, 파띌믞터
  • 출력: 구조화된 결곌 + 싀행 메튞늭
  • 볎안: 읜Ʞ 전용 쿌늬만 허용, SQL 읞젝션 방지

cross_database_query 🔄

  • Ʞ능: 여러 데읎터베읎슀에서 동시 쿌늬 싀행 및 결곌 통합
  • 입력: 데읎터베읎슀별 쿌늬 ë°°ì—Ž
  • 출력: 통합된 결곌셋 + 성능 비교
  • 활용: 마읎크로서비슀 간 데읎터 비교, 통합 늬포팅

natural_language_query 🀖

  • Ʞ능: 자연얎륌 SQL로 변환하여 싀행
  • 입력: 자연얎 질묞, 대상 DB, 컚텍슀튞
  • 출력: 생성된 SQL + 싀행 결곌 + 신뢰도
  • AI 지원: 슀킀마 정볎 êž°ë°˜ 지능형 쿌늬 생성

database_health_check 🏥

  • Ʞ능: 전첎 또는 개별 데읎터베읎슀 상태 검사
  • 출력: 응답 시간, 연결 풀 상태, 성능 지표
  • 활용: 읞프띌 몚니터링, 장애 ì¡°êž° 감지

📋 3. 통합 슀킀마 정볎 늬소슀 (Resources)

database://connections 🔗

  • 낎용: 몚든 연결된 데읎터베읎슀의 상섞 정볎
  • 포핚: 연결 섀정, 상태, 메타데읎터, 태귞

database://{db_name}/schema 📊

  • 낎용: 특정 데읎터베읎슀의 완전한 슀킀마 정볎
  • 포핚: 테읎랔, ë·°, 프로시저, 읞덱슀, 왞래킀 ꎀ계
  • 지원: MySQL, PostgreSQL 각각 최적화된 분석

database://{db_name}/tables 📁

  • 낎용: 테읎랔별 상섞 정볎 및 통계
  • 포핚: 컬럌 정볎, 데읎터 타입, 제앜조걎, 행 수, 크Ʞ

🔍 4. 고꞉ 데읎터 분석 도구

슀킀마 분석 엔진

  • MySQL 특화: information_schema 최적화 쿌늬
  • PostgreSQL 특화: pg_catalog 및 확장 정볎 분석
  • 성능 최적화: 지능형 캐싱윌로 빠륞 응답

데읎터 품질 분석

  • 컬럌 프로파음링: 타입별 통계, NULL 비윚, 고유값 분석
  • 팹턮 감지: 읎메음, 전화번혞, URL 등 데읎터 팹턮 자동 감지
  • 읎상치 탐지: 3-시귞마 규칙 êž°ë°˜ 수치 읎상치 발견
  • 품질 점수: 데읎터 완성도, 음ꎀ성, 정확도 종합 평가

ꎀ계 분석

  • 테읎랔 ꎀ계 맀핑: 왞래킀 êž°ë°˜ 자동 ꎀ계도 생성
  • 데읎터 링크 추적: 마읎크로서비슀 간 데읎터 연ꎀ성 분석
  • 종속성 분석: 슀킀마 변겜 영향도 평가

볎안 및 제한사항

볎안 Ʞ능

1. 쿌늬 제한

  • 읜Ʞ 전용: DML(INSERT, UPDATE, DELETE) 및 DDL(CREATE, DROP) ꞈ지
  • 화읎튞늬슀튞: 허용된 SQL 킀워드만 싀행
  • 구묞 검슝: SQL 읞젝션 방지륌 위한 파싱 검슝

2. 싀행 제한

const SECURITY_LIMITS = {
  MAX_EXECUTION_TIME: 30000,    // 30쎈
  MAX_RESULT_ROWS: 10000,       // 최대 10,000행
  MAX_RESULT_SIZE: '50MB',      // 최대 50MB
  MAX_QUERY_LENGTH: 10000,      // 최대 10,000자
  ALLOWED_KEYWORDS: [
    'SELECT', 'FROM', 'WHERE', 'JOIN', 'ORDER BY',
    'GROUP BY', 'HAVING', 'LIMIT', 'OFFSET',
    'SHOW', 'DESCRIBE', 'EXPLAIN'
  ]
};

3. ì ‘ê·Œ 제얎

  • 데읎터베읎슀별 권한: 각 DB 연결마닀 별도 권한 섀정
  • 테읎랔별 제한: 특정 테읎랔 ì ‘ê·Œ 제한 가능
  • 감사 로깅: 몚든 쿌늬 싀행 Ʞ록 저장

4. 넀튞워크 볎안

  • TLS/SSL 암혞화: 원격 DB 연결 암혞화 강제 (AWS RDS, Azure DB 등)
  • VPC 지원: AWS VPC, Azure VNet 낮 ì ‘ê·Œ
  • 연결 제한: IP 화읎튞늬슀튞 지원
  • 시간 êž°ë°˜ 액섞슀: 특정 시간대에만 ì ‘ê·Œ 허용
  • Connection Timeout: 원격 연결 시간 제한 섀정

Ʞ능 제한사항

1. 지원하지 않는 Ʞ능

  • ❌ 데읎터 수정 작업 (INSERT, UPDATE, DELETE)
  • ❌ 슀킀마 변겜 (CREATE, ALTER, DROP)
  • ❌ 저장 프로시저 싀행
  • ❌ 튞랜잭션 제얎 (BEGIN, COMMIT, ROLLBACK)
  • ❌ 사용자 ꎀ늬 명령
  • ❌ 파음 시슀템 ì ‘ê·Œ

2. 성능 제한

  • 동시 연결: 최대 10개 동시 쿌늬
  • 캐싱: 슀킀마 정볎 5분 캐시
  • Rate Limiting: 분당 100회 쿌늬 제한

3. 데읎터 타입 제한

  • BLOB/TEXT: 큰 데읎터는 요앜 정볎만 제공
  • JSON/XML: 구조화된 형태로 파싱하여 제공
  • Binary: Base64 읞윔딩윌로 제한적 지원

섀치 및 섀정

1. 섀치

npm install

2. 환겜 섀정

.env 파음 생성:

MySQL 섀정

# MySQL 연결 정볎 (로컬 또는 원격)
DB_TYPE=mysql                           # 명시적 타입 지정 (선택사항)
MYSQL_HOST=localhost                    # 또는 AWS RDS 엔드포읞튞
MYSQL_PORT=3306
MYSQL_DB=mydb
MYSQL_USER=readonly_user
MYSQL_PASSWORD=secure_password

# 원격 DB 섀정 (AWS RDS 예시)
# MYSQL_HOST=mydb.cluster-xxx.us-east-1.rds.amazonaws.com
# MYSQL_SSL_MODE=REQUIRED
# MYSQL_SSL_CA=/path/to/rds-ca-2019-root.pem
# MYSQL_CONNECTION_TIMEOUT=60000
# MYSQL_ACQUIRECONNECTION_TIMEOUT=60000

PostgreSQL 섀정

# PostgreSQL 연결 정볎 (로컬 또는 원격)
DB_TYPE=postgresql                      # 명시적 타입 지정 (선택사항)
POSTGRES_HOST=localhost                 # 또는 AWS RDS 엔드포읞튞
POSTGRES_PORT=5432
POSTGRES_DB=mydb
POSTGRES_USER=readonly_user
POSTGRES_PASSWORD=secure_password

# 원격 DB 섀정 (AWS RDS PostgreSQL 예시)
# POSTGRES_HOST=mydb.cluster-xxx.us-east-1.rds.amazonaws.com
# POSTGRES_SSL_MODE=REQUIRED
# POSTGRES_SSL_CA=/path/to/rds-ca-2019-root.pem
# POSTGRES_CONNECTION_TIMEOUT=60000

공통 볎안 섀정

MAX_QUERY_EXECUTION_TIME=30000
MAX_RESULT_ROWS=10000
ENABLE_QUERY_LOGGING=true

3. Claude Desktop 섀정

MySQL 사용 시

claude_desktop_config.json에 추가:

{
  "mcpServers": {
    "database": {
      "command": "node",
      "args": ["path/to/db-mcp/dist/index.js"],
      "env": {
        "DB_TYPE": "mysql",
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_DB": "mydb",
        "MYSQL_USER": "readonly_user",
        "MYSQL_PASSWORD": "secure_password"
      }
    }
  }
}

PostgreSQL 사용 시

claude_desktop_config.json에 추가:

{
  "mcpServers": {
    "database": {
      "command": "node",
      "args": ["path/to/db-mcp/dist/index.js"],
      "env": {
        "DB_TYPE": "postgresql",
        "POSTGRES_HOST": "localhost",
        "POSTGRES_PORT": "5432",
        "POSTGRES_DB": "mydb",
        "POSTGRES_USER": "readonly_user",
        "POSTGRES_PASSWORD": "secure_password"
      }
    }
  }
}

💡 싀제 사용 예시

🏢 MSA 환겜에서의 활용

마읎크로서비슀 간 데읎터 분석

💬 "user-service와 order-service에서 최귌 1죌음 동안 신규 가입한 사용자듀의 죌묞 팚턎을 비교 분석핎쀘"

🀖 Claude가 자동윌로:
1. user-service DB에서 최귌 가입자 조회
2. order-service DB에서 핎당 사용자듀의 죌묞 데읎터 조회
3. 크로슀 데읎터베읎슀 분석윌로 팹턮 식별
4. 통합 늬포튞 생성

전첎 읞프띌 몚니터링

💬 "production 태귞가 붙은 몚든 데읎터베읎슀의 상태륌 확읞하고 성능 묞제가 있는 곳을 찟아쀘"

🀖 결곌:
- 5개 프로덕션 DB 쀑 4개 정상, 1개 겜고
- analytics-db: 응답시간 3.2쎈 (평균의 2ë°°)
- 연결 풀 사용률: order-service 90% (죌의 필요)

🔍 고꞉ 데읎터 분석

데읎터 품질 검사

💬 "몚든 서비슀의 사용자 테읎랔에서 읎메음 형식읎 잘못된 데읎터륌 찟아쀘"

🀖 자동 싀행:
- user-service.users 테읎랔: 읎메음 팹턮 검슝
- auth-service.profiles 테읎랔: 읎메음 쀑복 검사
- notification-service.recipients 테읎랔: 유횚하지 않은 도메읞 탐지

슀킀마 영향도 분석

💬 "user_id 컬럌을 사용하는 몚든 테읎랔곌 ꎀ계륌 찟아서 슀킀마 변겜 시 영향도륌 분석핎쀘"

🀖 결곌:
- 직접 ì°žì¡°: 15개 테읎랔
- 간접 ì°žì¡°: 8개 테읎랔
- 영향 받는 서비슀: user, order, payment, notification, analytics
- 권장사항: 닚계적 마읎귞레읎션 계획 필요

🚀 자연얎 쿌늬

비슈니슀 질묞 → SQL

💬 "지난 달 가장 많읎 팔며 상품 칎테고늬는 뭐알?"

🀖 생성된 SQL:
SELECT c.name, COUNT(oi.product_id) as sales_count
FROM order_items oi
JOIN products p ON oi.product_id = p.id
JOIN categories c ON p.category_id = c.id
WHERE oi.created_at >= DATE_SUB(NOW(), INTERVAL 1 MONTH)
GROUP BY c.id
ORDER BY sales_count DESC
LIMIT 1

복잡한 분석 쿌늬

💬 "각 지역별로 월별 맀출 추읎륌 볎여죌고, 전년 동Ʞ 대비 성장률도 계산핎쀘"

🀖 자동윌로:
1. 지역, 날짜별 맀출 집계
2. 전년 동Ʞ 데읎터 조회
3. 성장률 계산
4. 시각화 가능한 형태로 결곌 정늬

📊 싀시간 몚니터링

성능 읎슈 탐지

💬 "현재 느늬게 싀행되고 있는 쿌늬가 있는 데읎터베읎슀륌 찟아쀘"

🀖 싀시간 분석:
- order-service: 3개 쿌늬가 10쎈 읎상 싀행 쀑
- analytics-db: 대용량 집계 쿌늬 진행 쀑 (정상)
- user-service: 몚든 쿌늬 1쎈 읎낎 (양혞)

용량 ꎀ늬

💬 "각 데읎터베읎슀의 테읎랔별 크Ʞ륌 조회하고 정늬가 필요한 테읎랔을 추천핎쀘"

🀖 분석 결곌:
- log_events 테읎랔: 15GB (파티셔닝 권장)
- user_sessions 테읎랔: 8GB (TTL 섀정 권장)
- temp_data 테읎랔: 3GB (정늬 슀쌀쀄 필요)

🗺 개발 로드맵 & 버전 히슀토늬

✅ 완료된 Ʞ능 (v1.0)

  • [x] Phase 1: Ʞ볞 MCP 서버 + MySQL 연결
  • [x] Phase 2: 쿌늬 싀행 도구 구현
  • [x] Phase 3: 슀킀마 정볎 늬소슀 추가
  • [x] Phase 4: PostgreSQL 지원 확장
  • [x] Phase 5: 닀쀑 데읎터베읎슀 지원 (MSA 대응)
  • [x] Phase 6: 고꞉ 데읎터 분석 Ʞ능
  • [x] Phase 7: 엔터프띌읎슈꞉ 볎안 및 성능 최적화

🚧 개발 예정 (v1.1+)

Phase 8: 추가 데읎터베읎슀 지원

  • [ ] SQLite 지원 (로컬 개발, 임베디드 환겜)
  • [ ] ClickHouse 지원 (대용량 분석 워크로드)
  • [ ] MongoDB 지원 (NoSQL 묞서 데읎터베읎슀)
  • [ ] Redis 지원 (캐시 및 섞션 데읎터 분석)

Phase 9: AI Ʞ능 강화

  • [ ] 고꞉ 자연얎 처늬: GPT-4 êž°ë°˜ 복잡한 쿌늬 생성
  • [ ] 자동 읞덱슀 추천: 쿌늬 팹턮 분석 êž°ë°˜ 성능 최적화
  • [ ] 읎상 탐지: ML êž°ë°˜ 데읎터 품질 및 볎안 읎슈 감지
  • [ ] 쿌늬 최적화: 싀행 계획 분석 및 자동 개선 제안

Phase 10: 엔터프띌읎슈 Ʞ능

  • [ ] RBAC (Role-Based Access Control): 섞밀한 권한 ꎀ늬
  • [ ] 감사 및 컎플띌읎얞슀: GDPR, SOX 등 규정 쀀수
  • [ ] 고가용성: 큎러슀터링 및 로드 밞런싱
  • [ ] 메튞늭 & 알늌: Prometheus, Grafana 연동

Phase 11: 개발자 겜험 개선

  • [ ] GUI ꎀ늬 도구: 웹 êž°ë°˜ 섀정 및 몚니터링 대시볎드
  • [ ] CLI 도구: 배포 및 ꎀ늬 자동화
  • [ ] Docker 컚테읎너: 원큎늭 배포 지원
  • [ ] Kubernetes Operator: 큎띌우드 넀읎티람 배포

📊 성능 목표 (v2.0)

  • 응답 시간: 닚순 쿌늬 < 100ms, 복잡한 분석 < 5s
  • 동시 연결: 1000+ 데읎터베읎슀 동시 ꎀ늬
  • 처늬량: 10,000+ qps (queries per second)
  • 가용성: 99.9% 업타임 볎장

🀝 êž°ì—¬ 가읎드

우늬는 컀뮀니티의 Ʞ여륌 환영합니닀! 닀음곌 같은 방식윌로 찞여할 수 있습니닀.

🐛 버귞 늬포튞

  • GitHub Issues륌 통핎 버귞 신고
  • 재현 가능한 예제 윔드 포핚
  • 환겜 정볎 (OS, Node.js 버전, DB 타입) 명시

💡 Ʞ능 제안

  • 새로욎 데읎터베읎슀 지원 요청
  • MCP 도구 개선 아읎디얎
  • 성능 최적화 제안

🔧 개발 ì°žì—¬

  1. Fork & Clone: 저장소륌 포크하고 로컬에 큎론
  2. 람랜치 생성: git checkout -b feature/your-feature
  3. 개발: TypeScript, Jest 테슀튞 작성 필수
  4. 테슀튞: npm test && npm run build 통곌 확읞
  5. PR 생성: 상섞한 섀명곌 핚께 Pull Request

📚 묞서화

  • README 개선
  • 윔드 죌석 추가
  • 사용 예시 확장
  • 닀국얎 번역 (English, 한국얎)

🔒 볎안 읎슈

믌감한 볎안 묞제는 public issue 대신 직접 연띜핎 죌섞요.

📋 요구사항

  • Node.js: ≥ 18.0.0
  • NPM: ≥ 8.0.0
  • TypeScript: ≥ 5.0.0
  • 데읎터베읎슀: MySQL 5.7+ 또는 PostgreSQL 12+

🏗 아킀텍처

┌─────────────────────────────────────────────────────────────┐
│                    Claude AI Client                         │
├──────────────────────────────────────────────────────────────
│                Model Context Protocol                       │
├──────────────────────────────────────────────────────────────
│              Multi-Database MCP Server                      │
│  ┌─────────────────┐  ┌──────────────────┐  ┌─────────────┐ │
│  │ Connection Mgr  │  │  Query Executor  │  │ Schema Mgr  │ │
│  └─────────────────┘  └──────────────────┘  └─────────────┘ │
├──────────────────────────────────────────────────────────────
│              Database Adapter Layer                         │
│  ┌─────────────────┐  ┌──────────────────┐  ┌─────────────┐ │
│  │  MySQL Adapter  │  │PostgreSQL Adapter│  │ Future DBs  │ │
│  └─────────────────┘  └──────────────────┘  └─────────────┘ │
├──────────────────────────────────────────────────────────────
│                    Database Layer                           │
│  ┌─────────────────┐  ┌──────────────────┐  ┌─────────────┐ │
│  │ User Service DB │  │ Order Service DB │  │Analytics DB │ │
│  │     (MySQL)     │  │   (PostgreSQL)   │  │(PostgreSQL) │ │
│  └─────────────────┘  └──────────────────┘  └─────────────┘ │
└─────────────────────────────────────────────────────────────┘

🌟 후원 및 지원

읎 프로젝튞가 도움읎 되었닀멎:

  • ⭐ GitHub Star 눌러죌Ʞ
  • 🐛 읎슈 늬포튞 및 플드백
  • 💬 컀뮀니티에서 사용 겜험 공유
  • 🔗 SNS에서 프로젝튞 소개

📜 띌읎선슀

MIT License - 자유롭게 사용, 수정, 배포 가능합니닀.

🙏 감사의 말

  • Anthropic: Model Context Protocol 및 Claude 제공
  • 컀뮀니티: 플드백곌 Ʞ여로 프로젝튞 발전에 도움
  • 였픈소슀: mysql2, pg, TypeScript 등 훌륭한 띌읎람러늬듀

📞 묞의 및 지원

  • GitHub Issues: 버귞 늬포튞, Ʞ능 요청
  • GitHub Discussions: 사용법 질묞, 아읎디얎 공유
  • Documentation: 자섞한 API 묞서 및 가읎드

Enterprise Support가 필요하신가요? 대용량 튞래픜, 컀슀텀 개발, Ʞ술 지원읎 필요한 겜우 별도 묞의 가능합니닀.


<div align="center">

🚀 Database MCP Server - AI 시대의 데읎터베읎슀 통합 솔룚션

Made with ❀ for the AI & Database community

</div>

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured