Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions .coderabbit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
language: "pt-BR"
tone_instructions: "Seja profissional, construtivo e foque em qualidade de código. Escreva em português."
early_access: false

reviews:
auto_review:
enabled: true
base_branches: [main, master]
drafts: false
request_changes_workflow: true
high_level_summary: true
poem: false
review_status: true
collapse_walkthrough: false

path_instructions:
- path: "**/*.json"
instructions: |
Validar JSON: sem trailing commas, chaves entre aspas.
Configs MCP: verificar `mcpServers`, `command`, `args` estão bem formados.
Sem secrets/API keys em valores literais — usar env vars.
- path: "**/Dockerfile*"
instructions: |
Multi-stage quando aplicável. Imagens base com tag pinned (sem :latest).
Sem segredos no build; usar build args ou secrets do Docker.
USER não-root quando possível.
- path: "**/*.yml"
instructions: |
YAML: validar indentação. Sem secrets hardcoded.
docker-compose: versão fixa, volumes mapeados conscientemente.
- path: ".github/**"
instructions: Segurança, secrets, sintaxe.

chat:
auto_reply: true
32 changes: 32 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Copilot Instructions — mcp-ecosystem

## Project Overview
Repositório de configuração e orquestração de servidores MCP (Model Context Protocol), com Docker/Compose.

## Stack
- **Docker** + **docker-compose** para containers MCP
- Configs em **JSON** (mcp servers config)
- **YAML** para compose e workflows

## Conventions
- JSON válido sem trailing commas; chaves entre aspas
- Configs MCP com `mcpServers`, `command`, `args` bem formados
- Sem secrets em valores literais — env vars
- Dockerfiles: imagens base com tag pinned (sem `:latest`)
- docker-compose: versão fixa, volumes conscientes
- YAML: indentação 2 espaços, sem tabs

## Folder Structure
- `configs/` ou raiz — JSONs de configuração MCP
- `docker/` ou `Dockerfile*` — definições de container
- `docker-compose.yml` — orquestração
Comment on lines +19 to +22

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Alinhe a estrutura de pastas com a organização real do repositório.

A descrição menciona configs/ (linha 20), mas o README.md documenta a estrutura real como presets/, servers/ e ide-configs/. Isso pode confundir desenvolvedores que seguem este guia.

📁 Estrutura correta baseada no README
 ## Folder Structure
-- `configs/` ou raiz — JSONs de configuração MCP
+- `presets/` — Configurações preset (aios-dev, aios-research, aios-full)
+- `servers/` — Configurações de servidores MCP individuais
+- `ide-configs/` — Configs específicos por IDE (claude/, cursor/)
 - `docker/` ou `Dockerfile*` — definições de container
 - `docker-compose.yml` — orquestração

Based on learnings and context from README.md that documents the actual folder structure: presets/, servers/, and ide-configs/.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## Folder Structure
- `configs/` ou raiz — JSONs de configuração MCP
- `docker/` ou `Dockerfile*` — definições de container
- `docker-compose.yml` — orquestração
## Folder Structure
- `presets/` — Configurações preset (aios-dev, aios-research, aios-full)
- `servers/` — Configurações de servidores MCP individuais
- `ide-configs/` — Configs específicos por IDE (claude/, cursor/)
- `docker/` ou `Dockerfile*` — definições de container
- `docker-compose.yml` — orquestração
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/copilot-instructions.md around lines 19 - 22, Update the folder
structure text in .github/copilot-instructions.md so it matches the README:
replace the incorrect `configs/` entry with the actual folders `presets/`,
`servers/` and `ide-configs/`, keep the existing `docker/`/`Dockerfile*` and
`docker-compose.yml` entries, and ensure the single-line descriptions mirror the
README wording to avoid inconsistency.


## Development
- `docker compose up -d` — sobe stack
- `docker compose logs -f <service>` — logs
- `docker compose down` — para

## Critical Files
- `docker-compose.yml` — orquestração principal
- `configs/*.json` — definições MCP
- `Dockerfile*` — imagens custom
Comment on lines +29 to +32

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Corrija o caminho dos arquivos críticos para refletir a estrutura real.

A linha 31 menciona configs/*.json, mas a estrutura do repositório usa presets/*.json e servers/*.json conforme documentado no README.md.

🗂️ Caminhos corretos
 ## Critical Files
 - `docker-compose.yml` — orquestração principal
-- `configs/*.json` — definições MCP
+- `presets/*.json` — configurações preset
+- `servers/*.json` — definições de servidores MCP
+- `ide-configs/*/sample-config.json` — exemplos para IDEs
 - `Dockerfile*` — imagens custom

Based on learnings and context from README.md showing the actual directory structure with presets/ and servers/ folders.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## Critical Files
- `docker-compose.yml` — orquestração principal
- `configs/*.json` — definições MCP
- `Dockerfile*` — imagens custom
## Critical Files
- `docker-compose.yml` — orquestração principal
- `presets/*.json` — configurações preset
- `servers/*.json` — definições de servidores MCP
- `ide-configs/*/sample-config.json` — exemplos para IDEs
- `Dockerfile*` — imagens custom
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/copilot-instructions.md around lines 29 - 32, Atualize a seção "##
Critical Files" no arquivo .github/copilot-instructions.md para refletir a
estrutura real: substitua a entrada `configs/*.json` pela lista correta
`presets/*.json` e `servers/*.json` (ou seja, ajuste o bloco que atualmente
lista `docker-compose.yml`, `configs/*.json`, `Dockerfile*`) para usar
`presets/*.json` e `servers/*.json` conforme o README; mantenha o formato de
lista existente e preserve as outras entradas inalteradas.

11 changes: 9 additions & 2 deletions ide-configs/claude/sample-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,18 @@
"playwright": {
"command": "npx",
"args": ["-y", "@anthropic/playwright-mcp"]
},
"exa": {
"command": "npx",
"args": ["-y", "exa-mcp-server"],
"env": {
"EXA_API_KEY": "${EXA_API_KEY}"
}
}
},
"notes": {
"description": "Sample Claude Code configuration for AIOS projects",
"preset": "aios-dev",
"documentation": "https://github.com/allfluence/mcp-ecosystem"
"preset": "aios-full",
"documentation": "https://github.com/SynkraAI/mcp-ecosystem"
}
}
15 changes: 13 additions & 2 deletions ide-configs/cursor/sample-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,22 @@
"desktop-commander": {
"command": "npx",
"args": ["-y", "@anthropic/desktop-commander-mcp"]
},
"playwright": {
"command": "npx",
"args": ["-y", "@anthropic/playwright-mcp"]
},
"exa": {
"command": "npx",
"args": ["-y", "exa-mcp-server"],
"env": {
"EXA_API_KEY": "${EXA_API_KEY}"
}
}
Comment on lines +10 to 21

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify the `@anthropic/playwright-mcp` package exists on npm
curl -s "https://registry.npmjs.org/@anthropic/playwright-mcp" | jq '{name: .name, version: ."dist-tags".latest, description: .description}'

Repository: SynkraAI/mcp-ecosystem

Length of output: 126


🏁 Script executed:

#!/bin/bash
# Get the full response from npm registry for `@anthropic/playwright-mcp`
curl -s "https://registry.npmjs.org/@anthropic/playwright-mcp" | head -100

# Also check if the package exists at all by looking for error response
echo "---"
curl -s -w "\nHTTP Status: %{http_code}\n" "https://registry.npmjs.org/@anthropic/playwright-mcp"

Repository: SynkraAI/mcp-ecosystem

Length of output: 129


The Playwright MCP package does not exist—configuration will fail.

The @anthropic/playwright-mcp package referenced in line 12 does not exist on the npm registry (returned HTTP 404). The npx command will fail when Cursor attempts to load this server. Verify the correct package name and update the configuration before merging.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@ide-configs/cursor/sample-config.json` around lines 10 - 21, The "playwright"
MCP configuration references a non-existent npm package
"@anthropic/playwright-mcp" which will cause npx to fail; locate the
"playwright" JSON object (keys: "command" and "args") and replace the package
name in "args" with the correct, published package (or remove the entry if there
is no MCP) after verifying the package exists on the npm registry; ensure the
"args" value points to a valid package string and keep the surrounding structure
("command": "npx") unchanged.

},
"notes": {
"description": "Sample Cursor configuration for AIOS projects",
"preset": "aios-dev",
"documentation": "https://github.com/allfluence/mcp-ecosystem"
"preset": "aios-full",
"documentation": "https://github.com/SynkraAI/mcp-ecosystem"
}
}