Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
6,000+ web scrapers for your AI agent, start free logo6,000+ web scrapers for your AI agent, start free

Apify gives your agent live web data: 6,000+ prebuilt scrapers and actors, MCP-ready. Sign up free with $5 in usage credits.

Try Apify free
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 48,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

A multi-agent system for code rules management using MCP, supporting search, generation, and architectural validation through specialized agents.

README.md

Agency Skills — Backend API

Plataforma de gestión de agencias de agentes con sistema multi-agente, recursos personalizados (skills, rules, agentes, workflows) y protocolo MCP (Model Context Protocol) para integración con herramientas CLI.

---

Stack

  • Runtime: Node.js + TypeScript
  • Framework: NestJS 11 (Arquitectura Hexagonal + CQRS)
  • Base de datos: PostgreSQL (TypeORM 0.3)
  • Cache/Sesiones: Redis (ioredis)
  • Auth: Google OAuth 2.0 + JWT (access + refresh tokens)
  • API Docs: Swagger UI (/api)
  • MCP: @modelcontextprotocol/sdk (stdio + SSE)

---

Quick Start

# Instalar dependencias
pnpm install

# Configurar variables de entorno
cp .env.example .env
# Editar .env con tus credenciales (DB, JWT secrets, Google OAuth)

# Docker (PostgreSQL + Redis)
pnpm run docker:up

# Ejecutar migraciones
pnpm run db:migrate

# Desarrollo
pnpm run start:dev

El servidor arranca en http://localhost:8004.

---

Estructura

src/
├── core/                           # Domain + Ports (Clean Architecture)
│   ├── agents/                     # 17 agentes especializados
│   ├── domain/                     # Interfaces, entidades, tokens
│   ├── infrastructure/             # DB, adapters, MCP controller
│   ├── presentation/               # Controllers REST (health, rules, mcp, agents, sessions)
│   └── skills/                     # Sistema de skills Hermes
├── modules/
│   ├── auth/                       # Google OAuth + JWT (access/refresh)
│   ├── agencies/                   # CRUD de agencias
│   ├── agency-resources/           # Skills, rules, agents, workflows por agencia
│   ├── users/                      # Usuarios (lookup por IP)
│   ├── sessions/                   # Sesiones MCP
│   ├── issues/                     # Gestión de issues
│   ├── projects/                   # Detección de proyectos
│   ├── contexts/                   # Contextos de proyecto
│   ├── plans/                      # Planes de trabajo
│   ├── memory/                     # Sistema de memoria
│   └── agency-agents/              # Catálogo de agentes
├── agents/                         # Implementaciones de agentes
├── rules/                          # Reglas de código (archivos .rule.ts)
├── shared/                         # Middleware, utils, constantes
├── mcp-server.ts                   # Servidor MCP stdio
├── mcp-http-server.ts              # Servidor MCP HTTP
└── main.ts                         # Bootstrap NestJS

---

Variables de entorno

# Server
PORT=8004
CORS_ORIGIN=http://localhost:4200

# Database
DB_URL=postgres://user:password@localhost:5432/agent_skills?sslmode=disable
DB_SYNCHRONIZE=false

# Redis
REDIS_URL=redis://localhost:6379/0

# JWT
JWT_ACCESS_SECRET=your-secret-here
JWT_REFRESH_SECRET=your-other-secret-here
JWT_ACCESS_EXPIRES_IN=15m
JWT_REFRESH_EXPIRES_IN=7d

# Google OAuth
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=

Ver .env.example para todas las variables disponibles (Exa AI, Context7, ChromaDB, etc.).

---

Scripts

# Desarrollo
pnpm run start:dev              # Hot-reload
pnpm run start:debug            # Debug mode

# Producción
pnpm run build                  # Build completo
pnpm run start:prod             # Ejecutar dist/main

# Base de datos
pnpm run db:migrate             # Ejecutar migraciones pendientes
pnpm run db:migrate:revert      # Revertir última migración
pnpm run db:generate            # Generar migración desde cambios en entidades

# MCP
pnpm run start:mcp              # MCP stdio server
pnpm run start:mcp-http         # MCP HTTP server
pnpm run build:mcp              # Build MCP stdio
pnpm run build:mcp-http         # Build MCP HTTP

# Tests
pnpm run test                   # Unit tests
pnpm run test:e2e               # E2E tests
pnpm run test:cov               # Coverage

# Docker
pnpm run docker:up              # Levantar servicios
pnpm run docker:down            # Parar servicios
pnpm run docker:logs            # Ver logs

# Lint
pnpm run lint                   # ESLint + auto-fix
pnpm run typecheck              # Type-check sin emitir

# Agentes CLI
pnpm run agent:setup-gemini     # Configurar Gemini MCP
pnpm run mcp:update-claude      # Actualizar config Claude Code

---

Endpoints principales

| Método | Ruta | Descripción | |--------|------|-------------| | GET | /health | Health check | | GET | /api | Swagger UI | | GET | /mcp/sse | MCP SSE endpoint | | POST | /mcp/message | MCP message endpoint |

Auth

| Método | Ruta | Descripción | |--------|------|-------------| | GET | /api/auth/login/google | Login con Google | | GET | /api/auth/refresh | Renovar access token | | POST | /api/auth/logout | Cerrar sesión |

Agencies

| Método | Ruta | Descripción | |--------|------|-------------| | POST | /v1/agency | Crear agencia | | GET | /v1/agency/by-user/:userId | Obtener agencia del usuario | | GET | /v1/agency/:id | Obtener agencia por ID | | PATCH | /v1/agency/:id | Actualizar agencia | | DELETE | /v1/agency/:id | Eliminar agencia |

Agency Resources

| Método | Ruta | Descripción | |--------|------|-------------| | POST | /v1/agency/:agencyId/skills | Crear skill | | GET | /v1/agency/:agencyId/skills | Listar skills | | GET | /v1/agency/:agencyId/skills/:id | Obtener skill | | PUT | /v1/agency/:agencyId/skills/:id | Actualizar skill | | DELETE | /v1/agency/:agencyId/skills/:id | Eliminar skill | | | | (ídem para /rules, /agents, /workflows) |

Agency Members

| Método | Ruta | Descripción | |--------|------|-------------| | GET | /v1/agency/:id/members | Listar miembros | | POST | /v1/agency/:id/members | Agregar miembro | | DELETE | /v1/agency/:id/members/:userId | Remover miembro |

Users

| Método | Ruta | Descripción | |--------|------|-------------| | GET | /v1/users/search?q= | Buscar usuarios por email/nombre | | GET | /v1/users/:id | Obtener usuario por ID |

---

Agentes (17)

| Agente | Responsabilidad | |--------|----------------| | RouterAgent | Orquestador principal, detecta intención y delega | | SearchAgent | Búsqueda BM25 de reglas | | IdentityAgent | Identidad MCP y prefijos | | RulesAgent | Listado y gestión de reglas | | CodeAgent | Generación de código | | ArchitectureAgent | Validación arquitectónica | | AnalysisAgent | Análisis de código | | MetricsAgent | Métricas y tracking | | PMAgent | Gestión de proyecto | | IssueWorkflowAgent | Workflow de issues | | GitHubAgent | Integración GitHub | | FrontendArchitectureAgent | Arquitectura frontend | | WebSearchAgent | Búsqueda web (Exa AI) | | Context7Agent | Documentación de librerías | | ContextAgent | Contexto de proyecto | | ProjectHistoryAgent | Historial de proyecto | | GraphifyAgent | Visualización de código | | ObsidianAgent | Integración Obsidian |

---

MCP (Model Context Protocol)

El servidor MCP expone herramientas a través de dos transportes:

  • stdio (pnpm run start:mcp): para integración con CLI locales (Claude Code, Gemini, OpenCode)
  • SSE (/mcp/sse + /mcp/message): para integración web y remota

Herramientas MCP

| Tool | Descripción | |------|-------------| | session_init_auto | Inicializa sesión MCP con contexto del proyecto | | list_agency_skills | Lista skills de la agencia activa | | get_skill_detail | Detalle de un skill específico | | invoke_skill | Ejecuta un skill |

---

Arquitectura

  • Hexagonal (Ports & Adapters): lógica de negocio aislada de infraestructura
  • CQRS: comandos y queries separados con @nestjs/cqrs
  • Repository Pattern: interfaces en domain, implementaciones en infrastructure
  • JWT dual: access tokens (15min) en localStorage, refresh tokens (7d) en httpOnly cookie
  • IP-based auth: para conexiones SSE/MCP donde no hay cookie disponible

---

Documentación adicional

  • doc/ARCHITECTURE.md — Arquitectura completa del sistema
  • doc/MCP-CONFIG.md — Configuración MCP por herramienta
  • doc/IMPLEMENTATION_STATUS.md — Estado de implementación

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use Search servers.