A simple MCP server for MySQL, demonstrating fundamental MCP protocol concepts. Requires a MySQL database connection configured via environment variables.
Este é um servidor MCP (Model Context Protocol) simples para MySQL, criado do zero para demonstrar os conceitos fundamentais do protocolo MCP da Anthropic.
Este projeto foi criado para entender como funciona o protocolo MCP implementando um servidor básico mas funcional que conecta LLMs ao MySQL.
Funções que o LLM pode executar:
execute_query
: Executa queries SQL no bancodescribe_table
: Descreve a estrutura de uma tabelaDados que o LLM pode acessar:
mysql://databases
: Lista todos os bancos de dadosmysql://tables
: Lista todas as tabelas do banco atualmysql://schema
: Schema completo do bancoTemplates pré-definidos para o usuário:
analyze_table
: Analisa uma tabela específicafind_large_tables
: Encontra tabelas com mais registrosdatabase_overview
: Visão geral do banco de dadosnpm install
Com base na sua configuração, defina as variáveis de ambiente:
export MYSQL_HOST=127.0.0.1
export MYSQL_PORT=
export MYSQL_USER=
export MYSQL_PASS=
export MYSQL_DB=
npm run build
npm start
npm run dev
Para usar este servidor com Claude Desktop, adicione ao seu claude_desktop_config.json
:
{
"mcpServers": {
"mysql-voompcreators": {
"command": "node",
"args": ["/home/fabio/mcp-server-fabio/dist/index.js"],
"env": {
"MYSQL_HOST": "",
"MYSQL_PORT": "",
"MYSQL_USER": "",
"MYSQL_PASS": "",
"MYSQL_DB": ""
}
}
}
}
Nota: O arquivo
claude_desktop_config.json
já está pronto no arquivoconfig-example.json
. Você pode copiar o conteúdo para o local correto do Claude Desktop.
class MySQLMCPServer {
private server: Server; // Servidor MCP
private connection: Connection; // Conexão MySQL
private config: MySQLConfig; // Configuração
constructor() {
// Inicializa servidor com capacidades
this.server = new Server({...}, {
capabilities: {
tools: {}, // Suporte a ferramentas
resources: {}, // Suporte a recursos
prompts: {} // Suporte a prompts
}
});
}
}
// Lista ferramentas disponíveis
ListToolsRequestSchema -> tools[]
// Executa ferramenta específica
CallToolRequestSchema -> resultado
// Lista recursos disponíveis
ListResourcesRequestSchema -> resources[]
// Lê recurso específico
ReadResourceRequestSchema -> dados
// Lista prompts disponíveis
ListPromptsRequestSchema -> prompts[]
// Obtém prompt específico
GetPromptRequestSchema -> template
O LLM pode executar:
SELECT * FROM usuarios LIMIT 5;
DESCRIBE produtos;
mysql://databases
mysql://tables
mysql://schema
analyze_table(table_name="usuarios")
find_large_tables
database_overview
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "execute_query",
"arguments": {
"query": "SELECT COUNT(*) FROM usuarios"
}
},
"id": 1
}
O servidor usa StdioServerTransport
para comunicação via stdin/stdout.
{
"capabilities": {
"tools": {},
"resources": {},
"prompts": {}
}
}
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | npm start
Certifique-se de ter um MySQL rodando e configurado.
Para expandir este servidor:
Adicionar mais Tools:
create_table
backup_database
optimize_table
Melhorar Resources:
Expandir Prompts:
Implementar Sampling:
Criado com ❤️ para aprender o protocolo MCP da Anthropic
An MCP server for querying data from the Kollect tool's API endpoints, such as /api/data, /api/snapshots, and /api/costs.
Query and analyze data with MotherDuck and local DuckDB
Interact with the STRING protein-protein interaction database API.
Access Dungeons & Dragons 5th Edition content, including spells, classes, and monsters, via the Open5e API.
An MCP server that wraps the dbt CLI, allowing AI agents to interact with dbt projects.
Enables secure interaction with MySQL databases, allowing AI assistants to list tables, read data, and execute SQL queries through a controlled interface.
A local, high-performance memory server for AI agents, built with SQLite, vector embeddings, and a knowledge graph. Packaged for npm and Docker.
A read-only MCP server for querying live Snowflake data, powered by CData.
Search, Query and interact with data in your Milvus Vector Database.
Official MCP server for dbt (data build tool) providing integration with dbt Core/Cloud CLI, project metadata discovery, model information, and semantic layer querying capabilities.