Simple MySQL MCP Server
A simple MCP server for MySQL, demonstrating fundamental MCP protocol concepts. Requires a MySQL database connection configured via environment variables.
Servidor MCP MySQL Otimizado
Servidor MCP (Model Context Protocol) para MySQL com arquitetura limpa e princípios SOLID.
🆕 Melhorias na v1.1.0
✨ Arquitetura Otimizada
- Separação de Responsabilidades: Classes especializadas para cada função
- SOLID Principles: Código mais maintível e extensível
- Clean Architecture: Estrutura modular e testável
🔒 Segurança Aprimorada
- Validação de Queries: Proteção contra operações perigosas
- Sanitização: Nomes de tabelas validados
- SQL Injection Protection: Parâmetros seguros
🚀 Performance e Confiabilidade
- Conexão Reutilizada: Gerenciamento eficiente de recursos
- Tratamento de Erros: Mensagens consistentes e informativas
- Shutdown Gracioso: Encerramento controlado de conexões
🏗️ Arquitetura
MySQLMCPServer
├── DatabaseConfig (Configurações)
├── DatabaseConnection (Conexão MySQL)
├── QueryValidator (Validação e Segurança)
├── ResponseFormatter (Formatação)
├── ToolsHandler (Ferramentas)
├── ResourcesHandler (Recursos)
└── PromptsHandler (Templates)
🎯 Conceitos MCP Implementados
1. Tools (Ferramentas)
execute_query: Executa queries SQL com validaçãodescribe_table: Descreve estrutura de tabelas
2. Resources (Recursos)
mysql://databases: Lista de bancos disponíveismysql://tables: Tabelas do banco atualmysql://schema: Schema completo
3. Prompts (Templates)
analyze_table: Análise detalhada de tabelafind_large_tables: Tabelas com mais registrosdatabase_overview: Visão geral do banco
🚀 Instalação e Uso
1. Instalar Dependências
npm install
2. Configurar MySQL
Crie um arquivo .env:
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=sua_senha
MYSQL_DATABASE=seu_banco
3. Compilar e Executar
# Compilar
npm run build
# Executar
npm start
# Desenvolvimento
npm run dev
4. Testar Conexão
npm run test:connection
🔧 Configuração Claude Desktop
Adicione ao claude_desktop_config.json:
{
"mcpServers": {
"mysql-optimized": {
"command": "node",
"args": ["/caminho/para/dist/index.js"],
"env": {
"MYSQL_HOST": "localhost",
"MYSQL_PORT": "3306",
"MYSQL_USER": "root",
"MYSQL_PASSWORD": "sua_senha",
"MYSQL_DATABASE": "seu_banco"
}
}
}
}
🛡️ Segurança
Validações Implementadas:
- ✅ Bloqueio de
DROP DATABASE/TABLE - ✅ Proteção contra
DELETE ... WHERE 1=1 - ✅ Sanitização de nomes de tabelas
- ✅ Validação de queries vazias
- ✅ Tratamento seguro de parâmetros
Práticas de Segurança:
- 🔒 Conexões controladas
- 🔒 Logs de erro seguros
- 🔒 Isolamento de responsabilidades
- 🔒 Validação de entrada
📊 Exemplo de Uso
// Executar query segura
{
"name": "execute_query",
"arguments": {
"query": "SELECT * FROM usuarios LIMIT 5",
"database": "meu_banco"
}
}
// Analisar tabela
{
"name": "describe_table",
"arguments": {
"table_name": "usuarios"
}
}
🔍 Debug e Logs
O servidor fornece logs informativos:
- ✅ Conexão estabelecida
- 🔄 Queries executadas
- ❌ Erros com detalhes
- 🔚 Shutdown gracioso
📈 Roadmap
- Cache de resultados
- Métricas de performance
- Pool de conexões
- Suporte a transações
- Interface web de monitoramento
🤝 Contribuição
- Fork o projeto
- Crie uma branch (
git checkout -b feature/nova-funcionalidade) - Commit suas mudanças (
git commit -m 'Adiciona nova funcionalidade') - Push para a branch (
git push origin feature/nova-funcionalidade) - Abra um Pull Request
📝 Changelog
v1.1.0 (2025-01-XX)
- ✨ Arquitetura otimizada com SOLID
- 🔒 Validação e segurança aprimoradas
- 🚀 Performance melhorada
- 📚 Documentação expandida
v1.0.0 (2025-01-XX)
- 🎉 Versão inicial
- 🔧 Implementação básica MCP
- 🗄️ Suporte MySQL completo
📄 Licença
MIT License - veja o arquivo LICENSE para detalhes.
Criado com ❤️ para demonstrar o protocolo MCP da Anthropic
İlgili Sunucular
Bankless Onchain
Interact with blockchain data using the Bankless API.
MCP Microsoft SQL Server
An MCP server for integrating with Microsoft SQL Server databases.
Wormhole Metrics MCP
Analyzes cross-chain activity on the Wormhole protocol, providing insights into transaction volumes, top assets, and key performance indicators.
CData Sage 300
A read-only MCP server by CData that enables LLMs to query live data from Sage 300.
LoL Data MCP Server
Provides real-time, structured access to League of Legends game data, including champions, items, abilities, game mechanics, and patch information.
MS SQL MCP Server
A bridge for AI assistants to directly query and explore Microsoft SQL Server databases.
CockroachDB
A server for direct interaction with CockroachDB databases.
Postgres MCP Pro
An MCP server for PostgreSQL providing index tuning, explain plans, health checks, and safe SQL execution.
Snow Leopard BigQuery MCP
Interact with Google BigQuery databases using natural language queries and schema exploration.
DexPaprika
Access real-time DEX analytics across 20+ blockchains with DexPaprika API, tracking 5M+ tokens, pools, volumes, and historical market data. Built by CoinPaprika.