Skip to main content
Glama

MySQL Database Access

MIT License
419
17
  • Linux
  • Apple

MySQL 데이터베이스 액세스 MCP 서버

이 MCP 서버는 MySQL 데이터베이스에 대한 읽기 전용 액세스를 제공합니다. 다음을 수행할 수 있습니다.

  • 사용 가능한 데이터베이스 나열
  • 데이터베이스의 테이블 나열
  • 테이블 스키마 설명
  • 읽기 전용 SQL 쿼리 실행

보안 기능

  • 읽기 전용 액세스 : SELECT, SHOW, DESCRIBE 및 EXPLAIN 문만 허용됩니다.
  • 쿼리 검증 : SQL 주입을 방지하고 모든 데이터 수정 시도를 차단합니다.
  • 쿼리 시간 초과 : 장기 실행 쿼리가 리소스를 소모하는 것을 방지합니다.
  • 행 제한 : 과도한 데이터 반환을 방지합니다.

설치

1. 다음 방법 중 하나를 사용하여 설치하세요.

NPM에서 설치

지엑스피1

소스에서 빌드
# Clone the repository git clone https://github.com/dpflucas/mysql-mcp-server.git cd mysql-mcp-server # Install dependencies and build npm install npm run build
Smithery를 통해 설치

Smithery를 통해 Claude AI용 MySQL 데이터베이스 액세스 MCP 서버를 자동으로 설치하려면:

npx -y @smithery/cli install @dpflucas/mysql-mcp-server --client claude

2. 환경 변수 구성

서버에는 다음과 같은 환경 변수가 필요합니다.

  • MYSQL_HOST : 데이터베이스 서버 호스트 이름
  • MYSQL_PORT : 데이터베이스 서버 포트(기본값: 3306)
  • MYSQL_USER : 데이터베이스 사용자 이름
  • MYSQL_PASSWORD : 데이터베이스 비밀번호(선택 사항이지만 보안 연결에 권장됨)
  • MYSQL_DATABASE : 기본 데이터베이스 이름(선택 사항)

3. MCP 설정에 추가

MCP 설정 파일에 다음 구성을 추가하세요.

npm을 통해 설치한 경우(옵션 1):

{ "mcpServers": { "mysql": { "command": "npx", "args": ["mysql-mcp-server"], "env": { "MYSQL_HOST": "your-mysql-host", "MYSQL_PORT": "3306", "MYSQL_USER": "your-mysql-user", "MYSQL_PASSWORD": "your-mysql-password", "MYSQL_DATABASE": "your-default-database" }, "disabled": false, "autoApprove": [] } } }

소스에서 빌드한 경우(옵션 2):

{ "mcpServers": { "mysql": { "command": "node", "args": ["/path/to/mysql-mcp-server/build/index.js"], "env": { "MYSQL_HOST": "your-mysql-host", "MYSQL_PORT": "3306", "MYSQL_USER": "your-mysql-user", "MYSQL_PASSWORD": "your-mysql-password", "MYSQL_DATABASE": "your-default-database" }, "disabled": false, "autoApprove": [] } } }

사용 가능한 도구

목록_데이터베이스

MySQL 서버에서 접근 가능한 모든 데이터베이스를 나열합니다.

매개변수 : 없음

:

{ "server_name": "mysql", "tool_name": "list_databases", "arguments": {} }

리스트_테이블

지정된 데이터베이스의 모든 테이블을 나열합니다.

매개변수 :

  • database (선택 사항): 데이터베이스 이름(지정하지 않으면 기본값 사용)

:

{ "server_name": "mysql", "tool_name": "list_tables", "arguments": { "database": "my_database" } }

설명_테이블

특정 테이블에 대한 스키마를 보여줍니다.

매개변수 :

  • database (선택 사항): 데이터베이스 이름(지정하지 않으면 기본값 사용)
  • table (필수): 테이블 이름

:

{ "server_name": "mysql", "tool_name": "describe_table", "arguments": { "database": "my_database", "table": "my_table" } }

실행_쿼리

읽기 전용 SQL 쿼리를 실행합니다.

매개변수 :

  • query (필수): SQL 쿼리(SELECT, SHOW, DESCRIBE 및 EXPLAIN 문만 허용됨)
  • database (선택 사항): 데이터베이스 이름(지정하지 않으면 기본값 사용)

:

{ "server_name": "mysql", "tool_name": "execute_query", "arguments": { "database": "my_database", "query": "SELECT * FROM my_table LIMIT 10" } }

고급 연결 풀 구성

MySQL 연결 풀 동작을 더 세밀하게 제어하려면 추가 매개변수를 구성할 수 있습니다.

{ "mcpServers": { "mysql": { "command": "npx", "args": ["mysql-mcp-server"], "env": { "MYSQL_HOST": "your-mysql-host", "MYSQL_PORT": "3306", "MYSQL_USER": "your-mysql-user", "MYSQL_PASSWORD": "your-mysql-password", "MYSQL_DATABASE": "your-default-database", "MYSQL_CONNECTION_LIMIT": "10", "MYSQL_QUEUE_LIMIT": "0", "MYSQL_CONNECT_TIMEOUT": "10000", "MYSQL_IDLE_TIMEOUT": "60000", "MYSQL_MAX_IDLE": "10" }, "disabled": false, "autoApprove": [] } } }

이러한 고급 옵션을 사용하면 다음을 수행할 수 있습니다.

  • MYSQL_CONNECTION_LIMIT : 풀의 최대 연결 수를 제어합니다(기본값: 10)
  • MYSQL_QUEUE_LIMIT : 대기열에 대한 최대 연결 요청 수를 설정합니다(기본값: 0, 무제한)
  • MYSQL_CONNECT_TIMEOUT : 연결 시간 초과를 밀리초 단위로 조정합니다(기본값: 10000)
  • MYSQL_IDLE_TIMEOUT : 연결이 해제되기 전에 유휴 상태로 유지될 수 있는 시간(밀리초)을 구성합니다.
  • MYSQL_MAX_IDLE : 풀에 보관할 최대 유휴 연결 수를 설정합니다.

테스트

서버에는 MySQL 설정의 기능을 검증하기 위한 테스트 스크립트가 포함되어 있습니다.

1. 테스트 데이터베이스 설정

이 스크립트는 테스트 데이터베이스, 테이블 및 샘플 데이터를 생성합니다.

# Set your MySQL credentials as environment variables export MYSQL_HOST=localhost export MYSQL_PORT=3306 export MYSQL_USER=your_username export MYSQL_PASSWORD=your_password # Run the setup script npm run test:setup

2. MCP 도구 테스트

이 스크립트는 각 MCP 도구를 테스트 데이터베이스와 비교 테스트합니다.

# Set your MySQL credentials as environment variables export MYSQL_HOST=localhost export MYSQL_PORT=3306 export MYSQL_USER=your_username export MYSQL_PASSWORD=your_password export MYSQL_DATABASE=mcp_test_db # Run the tools test script npm run test:tools

3. 모든 테스트 실행

설정 및 도구 테스트를 모두 실행하려면:

# Set your MySQL credentials as environment variables export MYSQL_HOST=localhost export MYSQL_PORT=3306 export MYSQL_USER=your_username export MYSQL_PASSWORD=your_password # Run all tests npm test

문제 해결

문제가 발생하는 경우:

  1. 오류 메시지는 서버 로그에서 확인하세요.
  2. MySQL 자격 증명 및 연결 세부 정보를 확인하세요
  3. MySQL 사용자에게 적절한 권한이 있는지 확인하세요.
  4. 귀하의 쿼리가 읽기 전용이고 올바르게 형식화되었는지 확인하십시오.

특허

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

MySQL 데이터베이스에 대한 읽기 전용 액세스를 제공하는 MCP 서버입니다.

  1. 보안 기능
    1. 설치
      1. 다음 방법 중 하나를 사용하여 설치하세요.
      2. 환경 변수 구성
      3. MCP 설정에 추가
    2. 사용 가능한 도구
      1. 목록\_데이터베이스
      2. 리스트\_테이블
      3. 설명\_테이블
      4. 실행\_쿼리
    3. 고급 연결 풀 구성
      1. 테스트
        1. 테스트 데이터베이스 설정
        2. MCP 도구 테스트
        3. 모든 테스트 실행
      2. 문제 해결
        1. 특허

          Related MCP Servers

          • -
            security
            A
            license
            -
            quality
            MCP to access any database accessible via JDBC such as Postgres, Oracle, mysql, mariadb, sqlite etc.
            Last updated -
            129
            Apache 2.0
          • -
            security
            A
            license
            -
            quality
            An MCP server that integrates with MySQL databases, enabling secure read and write operations through LLM-driven interfaces with support for transaction handling and performance monitoring.
            Last updated -
            48
            3
            JavaScript
            MIT License
          • -
            security
            A
            license
            -
            quality
            An MCP server that enables MySQL database integration with Claude. You can execute SQL queries and manage database connections.
            Last updated -
            1
            Python
            MIT License
            • Apple
          • -
            security
            A
            license
            -
            quality
            Open source MCP server specializing in easy, fast, and secure tools for Databases.
            Last updated -
            1,375
            Go
            Apache 2.0
            • Linux

          View all related MCP servers

          MCP directory API

          We provide all the information about MCP servers via our MCP API.

          curl -X GET 'https://glama.ai/api/mcp/v1/servers/dpflucas/mysql-mcp-server'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server