hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Provides environment variable management for configuring database credentials and server settings through .env files.
Supports containerized deployment of the MCP server through Docker, allowing configuration of database connection parameters and port mappings.
Includes Mermaid diagram support for visualizing the server architecture and data flow between components.
mysql-mcp-서버
0. 실행
Docker로 실행
필요에 따라 데이터베이스 연결 정보를 변경합니다.
지엑스피1
Docker Compose로 실행
사전 구성된 설정으로 진행됩니다.
Python으로 직접 실행
커서 구성
MCP 기능은 Cursor 버전 0.46 이상에서 사용할 수 있습니다.
또한, MCP 기능은 Cursor Pro 계정 사용자만 이용할 수 있습니다.
도구 추가 팁
- 도구 추가
execute
함수는 실제 로직 실행(서비스 계층)을 구현합니다.@tool
데코레이터는 도구를 MCP(컨트롤러 계층)에 등록하는 데 도움이 됩니다.
- 설명
mysql_mcp_server/executors
아래의 각 파일은 하나의 도구를 나타냅니다.- 새로운 도구가 추가되면
mysql_mcp_server/executors/__init__.py
로 가져와서__all__
배열에 포함해야 합니다. - 이렇게 하면 모듈이 자동으로
TOOLS_DEFINITION
변수에 등록됩니다.
🚧 개발 로드맵 🚧
- ⚙️ 매개변수 옵션
- [ ] 🔧 각 도구에 대한 활성화/비활성화 스위치: 입력 컨텍스트 비용을 줄이는 기능 제공 💰
- [ ] 🔒 쿼리 보안 수준 설정: DROP, DELETE, UPDATE 등 자산 가치를 손상시킬 수 있는 기능에 대한 선택적 제어를 제공합니다.🚫
- ✨ 특징
- [x] 📊 데이터 분석 보고서 생성 : 사용자 요청에 따라 다양한 차트를 적절히 선택하여 모델에 최적화된 보고서 생성 기능 제공 📈
- [x] 📝 규정된 양식에 대한 보고 기능
- [ ] 🖌️ 보고서 템플릿 다양화
- [ ] 🗄️ 확장된 Text2SQL 지원
- [ ] 🌐 SSH 연결 지원: 고급 작업을 위해 SSH를 통한 안전한 원격 액세스를 활성화합니다. 🔑
- [ ] 📥 파일 추출 기능
- [ ] 📄 CSV
- [ ] 📑 JSON
- [ ] 📉 엑셀
- [x] 📊 데이터 분석 보고서 생성 : 사용자 요청에 따라 다양한 차트를 적절히 선택하여 모델에 최적화된 보고서 생성 기능 제공 📈
1. 개요
MCP MySQL 서버는 MCP(Model Context Protocol) 기반 MySQL 데이터베이스 작업을 위한 서버 애플리케이션입니다. 이 서버는 AI 모델이 MySQL 데이터베이스와 상호 작용할 수 있도록 하는 도구를 제공합니다.
2. 시스템 구성
2.1 주요 구성 요소
- MCP 서버 : AI 모델과 통신하는 FastMCP 서버
- MySQL 데이터베이스 : 데이터를 관리하고 저장합니다.
- 도구 : 데이터베이스 작업을 수행하는 실행자
2.2 기술 스택
- 언어 : 파이썬
- 데이터베이스 : MySQL 8.0
- 주요 라이브러리 :
- mcp: AI 통신을 위한 모델 컨텍스트 프로토콜 구현
- PyMySQL: MySQL에 연결하고 쿼리를 실행합니다.
- pandas: 데이터를 처리하고 분석합니다
- python-dotenv: 환경 변수 관리
- fire: 명령줄 인터페이스를 구현합니다
2.3 배포 환경
- Docker 및 Docker Compose를 통한 컨테이너화된 배포
- 포트: 8081(MCP 서버), 3306(MySQL)
3. 디렉토리 구조
4. 건축 디자인
4.1 계층 구조
- 인터페이스 계층 : MCP 서버(FastMCP)
- 비즈니스 로직 계층 : 핸들러와 실행자
- 데이터 액세스 계층 : 데이터베이스 연결 및 쿼리 실행
4.2 주요 클래스 및 모듈
- MySQLMCPServer : MCP 서버를 초기화하고 실행하는 메인 서버 클래스
- DatabaseManager : 싱글톤 패턴 기반 데이터베이스 연결 관리자
- 실행자 : 데이터베이스 작업을 위한 도구 모음
- execute_create_table: 테이블을 생성합니다
- execute_desc_table: 테이블 스키마를 확인합니다.
- execute_explain: 쿼리 실행 계획을 제공합니다.
- execute_insert_query: INSETR 쿼리를 실행합니다.
- execute_select_query: SELECT 쿼리를 실행합니다.
- execute_show_tables: 테이블 목록을 검색합니다.
4.3 커뮤니케이션 흐름
- AI 모델은 MCP 서버에서 사용 가능한 도구 목록을 요청합니다.
- 서버는 사용 가능한 도구 목록을 반환합니다.
- AI 모델은 특정 도구의 실행을 요청합니다.
- 서버는 해당 실행자를 호출하여 데이터베이스 작업을 수행합니다.
- 실행 결과는 AI 모델로 반환됩니다.
5. 확장성 및 유지 관리
- 도구 추가 :
executors
디렉토리에 새로운 도구를 구현하고__init__.py
에 등록합니다. - 환경 구성 :
.env
파일을 통해 환경 변수를 관리합니다. - 로깅 :
logger_helper
사용하여 일관된 로깅을 보장합니다.
6. 배포 및 실행
6.1 로컬 실행
6.2 Docker 배포
7. 보안 고려 사항
- 환경 변수를 통해 데이터베이스 자격 증명을 관리합니다.
- 운영 환경에서는 강력한 비밀번호를 사용하세요.
- 필요한 경우 데이터베이스 연결에 SSL/TLS 암호화를 구현하는 것을 고려하세요.
This server cannot be installed
모델 제어 프로토콜을 통해 AI 모델이 MySQL 데이터베이스와 상호 작용할 수 있도록 하는 서버로, 테이블 생성, 스키마 검사, 쿼리 실행 및 데이터 검색을 위한 도구를 제공합니다.
- 0. Execution
- 🚧 Development Roadmap 🚧
- 1. Overview
- 2. System Configuration
- 3. Directory Structure
- 4. Architecture Design
- 5. Scalability and Maintenance
- 6. Deployment and Execution
- 7. Security Considerations