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.
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테이블 정의서를 직접 파싱해 메타데이터를 추출합니다.
- Online 연결 모드 (
- 코드 생성 엔진 (Code Generation Engine):
- 네이밍 변환: 데이터베이스 물리 칼럼명(Snake_Case, 예:
USER_ID)을 Java 표준 카멜케이스(CamelCase, 예:userId)로 자동 변환합니다.TB_또는V_와 같은 접두사는 자동으로 제거되어 클래스 이름이 생성됩니다. - MyBatis 지원: XML
<resultMap>맵핑 블록과 전용 DTO 클래스 코드를 한 번에 생성합니다. - JPA 지원: 표준 JPA 어노테이션 및 유효성 검증 어노테이션(
@NotNull,@Size)이 적용된@Entity클래스 코드를 빌드합니다.
- 네이밍 변환: 데이터베이스 물리 칼럼명(Snake_Case, 예:
- Zero Assumption 제약 (Anti-Hallucination): 데이터 구조를 임의로 추측(Hallucination)하지 않으며, 스키마 정의가 발견되지 않을 경우 엄격하게 에러 메세지를 반환합니다.
설치 및 빌드 방법
Node.js (>= v18) 환경이 필요합니다.
- 저장소를 복사하고 의존성을 설치합니다:
git clone https://github.com/ghdquddnr/map-spring-MCP.git cd map-spring-MCP npm install - 프로젝트를 빌드합니다:
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
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。