MCP‑Stack
A Docker Compose-based collection of MCP servers for LLM workflows, featuring centralized configuration and management scripts.
🧠 MCP‑Stack – Laboratório Completo de Servidores MCP para Fluxos com LLM
Versão final 2025‑06‑27 • Licença MIT • Manutenção Luiz Peixoto
Este repositório consolida 10 servidores MCP prontos para uso local com LLMs (Google Gemini CLI, Claude, Cursor, VS Code AI). Cada serviço é orquestrado via Docker Compose, com variáveis de ambiente centralizadas, scripts de gerenciamento e documentação. Um arquivo
compose.all.ymlorquestra todos em lote.
🌳 Estrutura de Diretórios
mcp-stack/
├── compose.all.yml # Orquestra todos os MCPs
├── .env.example # Variáveis de ambiente centralizadas (copie para .env)
├── .gemini/settings.json # Endpoints prontos para Google‑CLI
├── scripts/
│ ├── start_all.sh # Sobe todos os containers
│ └── stop_all.sh # Encerra todos
└── servers/
├── memory-mcp/ # Weaviate (vetores)
├── github-mcp/ # Integração GitHub
├── filesystem-mcp/ # Arquivos locais
├── supabase-mcp/ # Banco Supabase
├── obsidian-mcp/ # Notas Obsidian
├── zotero-mcp/ # Referências Zotero
├── docgen-mcp/ # Geração de docs
├── hugo-mcp/ # Sites Hugo
├── ollama-mcp/ # Modelos Ollama
└── fabric-mcp/ # Coleta Fabric (Daniel Miessler)
Cada subpasta servers/<mcp-name>/ contém:
| Arquivo | Função |
|---|---|
docker-compose.yml | Definição do container + volumes + portas |
README.md | Link upstream + instruções específicas |
🚀 Servidores MCP (Detalhes)
Os detalhes de cada servidor, incluindo portas, repositórios e ferramentas, permanecem os mesmos. As configurações de ambiente agora são gerenciadas centralmente.
📑 Arquivos Globais
.env.example
Este arquivo centraliza todas as variáveis de ambiente necessárias para os serviços MCP. Copie-o para .env e ajuste os valores conforme sua necessidade.
# Centralized environment variables for MCP-Stack
# memory-mcp
WEAVIATE_DATA=./data
# github-mcp & docgen-mcp
GITHUB_PAT=
# filesystem-mcp
PROJECTS_ROOT=/home/$USER/Projetos
# supabase-mcp
SUPABASE_PAT=
SUPABASE_PROJECT_REF=
# obsidian-mcp
VAULT_PATH=/home/$USER/Documentos/Obsidian/Vault
# zotero-mcp
ZOTERO_API_KEY=
ZOTERO_USER_ID=
# hugo-mcp
HUGO_SITES_ROOT=/home/$USER/Sites
# ollama-mcp (no specific variables)
# fabric-mcp (no specific variables)
compose.all.yml
Este arquivo orquestra todos os serviços MCP, utilizando extends para reutilizar as definições de cada docker-compose.yml individual. Ele também garante que as variáveis de ambiente sejam carregadas do .env centralizado.
scripts/start_all.sh
#!/usr/bin/env bash
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
docker compose -f "$SCRIPT_DIR/../compose.all.yml" up -d
scripts/stop_all.sh
#!/usr/bin/env bash
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
docker compose -f "$SCRIPT_DIR/../compose.all.yml" down
.gemini/settings.json
{
"mcpServers": {
"memory": { "url": "http://localhost:9100" },
"github": { "url": "http://localhost:9101" },
"filesystem": { "url": "http://localhost:9102" },
"supabase": { "url": "http://localhost:9103" },
"obsidian": { "url": "http://localhost:9104" },
"zotero": { "url": "http://localhost:9107" },
"docgen": { "url": "http://localhost:9105" },
"hugo": { "url": "http://localhost:9106" },
"ollama": { "url": "http://localhost:9108" },
"fabric": { "url": "http://localhost:9109" }
}
}
🔥 Exemplo de Fluxo Completo
graph TD
subgraph Local Models
OLL(Ollama‑mcp) -->|run_model| LLM((Resposta))
end
F(Fabric‑mcp) -->|ingest+summarize| MEM(memory‑mcp)
MEM -- contexto --> LLM
LLM -->|write_file| FILE(filesystem‑mcp)
FILE --> DOC(docgen‑mcp)
DOC --> G(GitHub‑mcp)
G --> H(Hugo‑mcp)
✅ Como Usar
-
Clone o repositório e navegue até o diretório:
git clone <repo> mcp-stack && cd mcp-stack -
Crie seu arquivo de variáveis de ambiente a partir do exemplo:
cp .env.example .env -
Ajuste as variáveis em
.envconforme suas necessidades (e.g.,GITHUB_PAT,VAULT_PATH). -
Inicie todos os serviços MCP:
./scripts/start_all.sh -
Configure o Gemini CLI para usar os endpoints dos MCPs:
gemini settings import .gemini/settings.json -
Pergunte ao seu agente (exemplo):
"Use filesystem‑mcp para abrir README.md deste projeto e docgen‑mcp para gerar documentação HTML."
➕ Adicionando Novos Servidores MCP
Para adicionar um novo servidor MCP ao stack:
- Crie uma nova pasta em
servers/(e.g.,servers/new-mcp/). - Dentro dela, crie um
docker-compose.ymlpara o novo serviço. - Adicione quaisquer variáveis de ambiente necessárias ao
.env.examplecentralizado. - Atualize
compose.all.ymlpara incluir o novo serviço usandoextends. - Adicione o endpoint do novo serviço em
.gemini/settings.json.
🛡️ Segurança
- Tokens nunca vão para o Git.
filesystem-mcpmonta apenas a pasta do projeto – evite expor~/completo.- Em produção, coloque um proxy TLS (nginx/caddy) com autenticação básica.
📅 Roadmap Futuro
- Melhorias Atuais: Implementação de health checks e fixação de versões de imagens Docker para maior robustez e reprodutibilidade.
- 2025‑Q3 — integração com PostgreSQL‑mcp e Redis‑mcp
- 2025‑Q4 — template Ansible para deploy remoto
- 2026‑Q1 — UI web para gerenciar containers + health‑checks
🧪 Testes
Para verificar a acessibilidade e o funcionamento básico dos servidores MCP, você pode executar os testes de reachability:
- Instale as dependências de teste:
pip install -r requirements.txt - Certifique-se de que os servidores MCP estão em execução (
./scripts/start_all.sh). - Execute o script de teste:
python tests/test_mcp_servers.py
© 2025 Luiz Peixoto — MIT
İlgili Sunucular
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
third-eye-mcp
Privacy-first screen capture MCP server for AI coding agents. Let Claude, Cursor, or any MCP-compatible AI see your screen with full control.
APIMatic MCP
APIMatic MCP Server is used to validate OpenAPI specifications using APIMatic. The server processes OpenAPI files and returns validation summaries by leveraging APIMatic’s API.
MCP Inspector
A developer tool for testing and debugging MCP servers with a web UI and proxy.
P4 MCP Server
Perforce P4MCP Server is a Model Context Protocol (MCP) server that integrates with the Perforce P4 version control system.
Remote MCP Server (Authless)
An example of a remote MCP server deployable on Cloudflare Workers without authentication.
Gru Sandbox
Gru-sandbox(gbox) is an open source project that provides a self-hostable sandbox for MCP integration or other AI agent usecases.
Tolgee
Manage your app’s translations directly from your AI coding assistant. Search keys, create translations, trigger machine translation. All without leaving your editor.
Codebase MCP Server
A server for secure and efficient codebase analysis.
Kibana MCP Server
Access and interact with your Kibana instance using natural language or programmatic requests.
Translator AI
Translate JSON i18n files using Google Gemini or local Ollama models, with incremental caching support.