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
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Jai MCP Server
Manage Jai platform resources through Claude Code.
MCP Framework Starter
A starter project for building Model Context Protocol (MCP) servers with the mcp-framework.
Clix MCP Server
Clix MCP Server for assisting Clix SDK/API integrations with semantic search across Clix docs and SDK source (iOS, Android, Flutter, React Native).
APIWeaver
Dynamically creates MCP servers from web API configurations, integrating any REST API, GraphQL endpoint, or web service into MCP-compatible tools.
Atomic APIs
17 developer utility APIs as MCP tools — PII redaction, prompt injection detection, web-to-markdown, WCAG scanning, receipt OCR, and more — zero configuration, sub-second responses.
Remote MCP Server Chatbot
A demonstration of deploying a remote MCP server on Cloudflare Workers without authentication.
MCP ZepAi Server
A server for Zep, a long-term memory store for AI applications, requiring a ZEP_API_KEY for access.
Grafana
Access and manage Grafana resources, including dashboards, datasources, Prometheus, Loki, and alerting.
@mcp-fe/react-tools
Don't let AI guess from screenshots. Give LLMs direct access to your React state, Context, and Data Grids. Features bidirectional communication via SharedWorkers & WebSockets. Docker gateway included.
AI pair programming
Orchestrates a dual-AI engineering loop where a Primary AI plans and implements, while a Review AI validates and reviews, with continuous feedback for optimal code quality. Supports custom AI pairing (Claude, Codex, Gemini, etc.)