MapSpring MCP Server

MapSpring MCP Server

Enables enterprise database schema exploration and Spring Boot code generation (MyBatis, JPA) through MCP, supporting both online DB connections and offline DDL parsing.

Category
访问服务器

README

MapSpring MCP 서버

MapSpring은 엔터프라이즈 데이터베이스 스키마 탐색 및 Spring Boot 에코시스템(MyBatis, JPA) 연동에 특화된 Model Context Protocol (MCP) 서버입니다.

표준 입출력(stdio)을 통해 동작하므로, Claude Desktop이나 Cursor 등의 MCP 호스트 환경에서 손쉽게 연동하여 사용할 수 있습니다.


주요 기능

  • 이중 실행 모드 (Dual Execution Modes):
    • Online 연결 모드 (--url): PostgreSQL, MySQL, MariaDB, Oracle, Tibero, Microsoft SQL Server (MSSQL)에 직접 연결하여 실시간 스키마 카탈로그 정보를 쿼리합니다.
    • Offline DDL 모드 (--ddl-path): 외부 DB 접근이 차단된 망분리 환경 등에서 로컬 .sql 또는 .ddl 테이블 정의서를 직접 파싱해 메타데이터를 추출합니다.
  • 코드 생성 엔진 (Code Generation Engine):
    • 네이밍 변환: 데이터베이스 물리 칼럼명(Snake_Case, 예: USER_ID)을 Java 표준 카멜케이스(CamelCase, 예: userId)로 자동 변환합니다. TB_ 또는 V_와 같은 접두사는 자동으로 제거되어 클래스 이름이 생성됩니다.
    • MyBatis 지원: XML <resultMap> 맵핑 블록과 전용 DTO 클래스 코드를 한 번에 생성합니다.
    • JPA 지원: 표준 JPA 어노테이션 및 유효성 검증 어노테이션(@NotNull, @Size)이 적용된 @Entity 클래스 코드를 빌드합니다.
  • Zero Assumption 제약 (Anti-Hallucination): 데이터 구조를 임의로 추측(Hallucination)하지 않으며, 스키마 정의가 발견되지 않을 경우 엄격하게 에러 메세지를 반환합니다.

설치 및 빌드 방법

Node.js (>= v18) 환경이 필요합니다.

  1. 저장소를 복사하고 의존성을 설치합니다:
    git clone https://github.com/ghdquddnr/map-spring-MCP.git
    cd map-spring-MCP
    npm install
    
  2. 프로젝트를 빌드합니다:
    npm run build
    

MCP 호스트 환경 설정

Claude Desktop 또는 Cursor 등의 MCP 설정 파일(mcp_config.json)에 아래와 같이 MapSpring을 등록하여 사용합니다:

1. Offline 모드 (망분리 환경)

{
  "mcpServers": {
    "mapspring": {
      "command": "node",
      "args": [
        "/absolute/path/to/map-spring-MCP/dist/index.js",
        "--ddl-path",
        "/absolute/path/to/your/ddl/folder"
      ]
    }
  }
}

2. Online 연결 모드

{
  "mcpServers": {
    "mapspring": {
      "command": "node",
      "args": [
        "/absolute/path/to/map-spring-MCP/dist/index.js",
        "--url",
        "postgresql://username:password@localhost:5432/db"
      ]
    }
  }
}

제공되는 MCP 도구 (Tools)

연결이 완료되면 MapSpring은 다음과 같은 도구들을 제공합니다:

list_tables

활성화된 데이터베이스 또는 지정된 DDL 디렉토리에 존재하는 테이블 목록을 조회합니다.

get_table_schema

테이블의 구조와 코멘트 정보를 정교한 Markdown 테이블 형식으로 반환합니다.

  • 파라미터:
    • table_name (string, 필수): 조회할 테이블의 물리 명칭 (예: TB_SETTLE_MASTER).

generate_mybatis_mapper

테이블에 대응하는 MyBatis XML <resultMap> 매핑 블록과 DTO 클래스 소스코드를 생성합니다.

  • 파라미터:
    • table_name (string, 필수)
    • dto_package (string, 선택): 생성될 DTO의 패키지명 (기본값: com.company.project.domain.dto).

generate_jpa_entity

JPA 매핑 선언 및 유효성 어노테이션이 완벽하게 구성된 Spring Boot JPA Entity 클래스 소스코드를 생성합니다.

  • 파라미터:
    • table_name (string, 필수)
    • entity_package (string, 선택): 생성될 Entity의 패키지명 (기본값: com.company.project.domain.entity).

라이선스

이 프로젝트는 MIT 라이선스 하에 배포됩니다.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选