Skip to main content
Glama

MySQL MCP 서버

MySQL 데이터베이스에 대한 액세스를 제공하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 에이전트가 MySQL 데이터베이스에 대해 SQL 쿼리를 실행할 수 있도록 지원합니다.

특징

  • MySQL 데이터베이스에 대해 SQL 쿼리를 실행합니다.

    • 데이터 읽기(SELECT 문)

    • 테이블 생성(CREATE TABLE 문)

    • 데이터 삽입(INSERT INTO 문)

    • 데이터 업데이트(UPDATE 문)

    • 데이터 삭제(DELETE FROM 문)

  • JSON 형식으로 쿼리 결과를 반환합니다.

  • 구성 가능한 데이터베이스 연결 설정

  • 고유 ID를 사용한 트랜잭션 로깅

Related MCP server: MCP MySQL Server

필수 조건

  • Node.js(v14 이상)

  • MySQL 서버

  • MCP SDK

설치

  1. 이 저장소를 복제하거나 다운로드하세요

  2. 종속성 설치:

지엑스피1

  1. 서버를 빌드하세요:

npm run build

구성

MySQL MCP 서버는 구성을 위해 다음 환경 변수를 사용합니다.

  • MYSQL_HOST : MySQL 서버 호스트 이름(기본값: 'localhost')

  • MYSQL_PORT : MySQL 서버 포트(기본값: 3306)

  • MYSQL_USER : MySQL 사용자 이름(기본값: 'mcp101')

  • MYSQL_PASSWORD : MySQL 비밀번호(기본값: '123qwe')

  • MYSQL_DATABASE : MySQL 데이터베이스 이름(기본값: 'mcpdb')

데이터베이스 설정

  1. MySQL 데이터베이스를 생성합니다.

CREATE DATABASE mcpdb;
  1. 데이터베이스에 액세스할 수 있는 MySQL 사용자를 만듭니다.

CREATE USER 'mcp101'@'localhost' IDENTIFIED BY '123qwe'; GRANT ALL PRIVILEGES ON mcpdb.* TO 'mcp101'@'localhost'; FLUSH PRIVILEGES;
  1. 샘플 데이터로 테스트 테이블을 만듭니다.

USE mcpdb; CREATE TABLE test_users ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), email VARCHAR(100), created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); INSERT INTO test_users (name, email) VALUES ('John Doe', 'john@example.com'), ('Jane Smith', 'jane@example.com'), ('Bob Johnson', 'bob@example.com');

MCP 구성

MCP 설정 파일에 MySQL MCP 서버를 추가합니다.

VSCode(Claude 확장)

파일: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

MySQL 구성에 따라 인수를 변경하세요.

{ "mcpServers": { "mysql-mcp-server": { "autoApprove": [], "disabled": false, "timeout": 60, "command": "node", "args": [ "/path/to/mysql-mcp-server/build/index.js" ], "env": { "MYSQL_HOST": "localhost", "MYSQL_PORT": "3306", "MYSQL_USER": "mcp101", "MYSQL_PASSWORD": "123qwe", "MYSQL_DATABASE": "mcpdb" }, "transportType": "stdio" } } }

클로드 데스크톱 앱

파일: ~/Library/Application Support/Claude/claude_desktop_config.json

{ "mcpServers": { "mysql-mcp-server": { "autoApprove": [], "disabled": false, "timeout": 60, "command": "node", "args": [ "/path/to/mysql-mcp-server/build/index.js" ], "env": { "MYSQL_HOST": "localhost", "MYSQL_PORT": "3306", "MYSQL_USER": "mcp101", "MYSQL_PASSWORD": "123qwe", "MYSQL_DATABASE": "mcpdb" }, "transportType": "stdio" } } }

용법

구성이 완료되면 Claude와의 대화에서 MySQL MCP 서버를 사용할 수 있습니다. 예:

"test_users 테이블에 있는 모든 사용자를 보여줄 수 있나요?"

Claude는 run_sql_query 도구를 사용하여 다음을 실행합니다.

SELECT * FROM test_users

사용 가능한 도구

SQL 쿼리 실행

MySQL 데이터베이스에 대해 읽기 전용 SQL 쿼리(SELECT 문만 해당)를 실행합니다.

매개변수:

  • query : 실행할 SQL SELECT 쿼리입니다.

예:

{ "query": "SELECT * FROM test_users" }

테이블 생성

MySQL 데이터베이스에 새로운 테이블을 만듭니다.

매개변수:

  • query : 실행할 SQL CREATE TABLE 쿼리입니다.

예:

{ "query": "CREATE TABLE products (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100), price DECIMAL(10,2))" }

삽입_데이터

MySQL 데이터베이스의 테이블에 데이터를 삽입합니다.

매개변수:

  • query : 실행할 SQL INSERT INTO 쿼리입니다.

예:

{ "query": "INSERT INTO products (name, price) VALUES ('Laptop', 999.99), ('Smartphone', 499.99)" }

업데이트_데이터

MySQL 데이터베이스의 테이블에 있는 데이터를 업데이트합니다.

매개변수:

  • query : 실행할 SQL UPDATE 쿼리입니다.

예:

{ "query": "UPDATE products SET price = 899.99 WHERE name = 'Laptop'" }

데이터 삭제

MySQL 데이터베이스의 테이블에서 데이터를 삭제합니다.

매개변수:

  • query : 실행할 SQL DELETE FROM 쿼리입니다.

예:

{ "query": "DELETE FROM products WHERE name = 'Smartphone'" }

보안 고려 사항

  • MCP 서버에 대한 적절한 권한이 있는 전담 MySQL 사용자를 사용하세요.

  • 데이터만 쿼리해야 하는 경우 읽기 전용 권한을 사용하는 것이 좋습니다.

  • 데이터베이스 자격 증명과 같은 민감한 정보를 안전하게 저장하세요

  • 모든 작업은 감사를 위해 고유한 거래 ID로 기록됩니다.

Latest Blog Posts

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/michael7736/mysql-mcp-server'

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