Skip to main content
Glama

agentflow-mcp

Un servidor MCP de conocimiento de arquitectura empresarial para el pipeline de demostración de agentflow. Construido con FastMCP + TypeScript, desplegado en GCP Cloud Run.

El servidor expone cuatro herramientas que anclan a un Agente de Arquitectura y a un Agente de Verificación de Riesgos en patrones empresariales seleccionados, en lugar del razonamiento genérico de un LLM.

Herramienta

Invocada por

Devuelve

arch_pattern_lookup

Agente de Arquitectura

Patrón de arquitectura de referencia, componentes, datos de diagrama

tool_selection_lookup

Agente de Arquitectura

Recomendación de plataforma con razonamiento basado en restricciones

risk_policy_lookup

Agente de Verificación de Riesgos

Controles requeridos, indicadores de riesgo, disparador HITL

brand_context_lookup

Agente de Arquitectura

Identidad de la empresa, posicionamiento, logo (mediante Brandfetch + logo.dev)

Cómo encaja

agentflow pipeline                          agentflow-mcp
┌──────────────────────┐                   ┌───────────────────────┐
│  Qualifier Agent     │                   │  arch_pattern_lookup   │
│  - clarifies the ask │                   │  tool_selection_lookup │
└──────┬───────────────┘                   │  risk_policy_lookup    │
       │ handoff                          │  brand_context_lookup  │
┌──────▼───────────────┐                   │                        │
│  Architect Agent     │──── MCP calls ───▶│  Source pack (data/)   │
│  - pattern selection │                   │  102 markdown files    │
│  - tool selection    │◀── JSON response ─│  with YAML frontmatter  │
│  - diagram rendering │                   │                        │
└──────┬───────────────┘                   │  Brandfetch + logo.dev │
       │ handoff                          │  (cached, additive)    │
┌──────▼───────────────┐                   └───────────────────────┘
│  Risk Checker Agent  │──── risk_policy_lookup ──▶
│  - HITL gate trigger  │◀── risk_flags, HITL ──
└──────────────────────┘

El MCP es un proveedor de herramientas, no un orquestador de agentes. Los prompts de los agentes y la habilidad de diagramas de arquitectura viven en el proyecto agentflow. El MCP proporciona datos estructurados; los agentes los interpretan y actúan en consecuencia.

Related MCP server: MCP Architect

Inicio rápido

Requisitos previos

  • Node.js >= 20

  • (Opcional) Clave de API de Brandfetch y clave de logo.dev para brand_context_lookup

Instalación y ejecución

npm install
npm run dev          # stdio transport (local dev + MCP Inspector)

Transporte HTTP (Cloud Run)

MCP_TRANSPORT=http-stream PORT=8080 npm run dev
# agentflow-mcp listening on http://0.0.0.0:8080/mcp

Ejecutar las pruebas

npm test             # 31 unit + integration tests
npm run typecheck    # tsc --noEmit
npm run check        # biome lint + format

Variables de entorno

Copia .env.example a .env y completa las claves. Solo brand_context_lookup necesita claves de API externas; las otras tres herramientas funcionan sin conexión desde el paquete de fuentes.

Variable

Requerida por

Propósito

BRANDFETCH_API_KEY

brand_context_lookup

Token Bearer para la API Brand Context de Brandfetch

LOGO_DEV_SECRET_KEY

brand_context_lookup

Token Bearer para la API Brand de logo.dev

LOGO_DEV_PUBLISHABLE_KEY

brand_context_lookup

Clave publicable para las URL del CDN de logo.dev

MCP_TRANSPORT

Servidor

stdio (predeterminado) o http-stream

PORT

Servidor

Puerto HTTP (predeterminado 8080, se usa cuando el transporte es http-stream)

Cuando faltan las claves API, brand_context_lookup devuelve respuestas almacenadas en caché para dominios en caché o una respuesta elegante de no disponibilidad para dominios sin caché. Las otras tres herramientas funcionan con normalidad.

Herramientas

arch_pattern_lookup

Relaciona una solicitud empresarial con un patrón de arquitectura de referencia seleccionado.

Entrada:

{
  "industry": "media_agency",
  "data_stack": ["BigQuery", "Snowflake"],
  "cloud": "GCP",
  "constraints": ["SAML SSO", "EU data residency", "cross-client governance"],
  "latency": "batch"
}

Salida:

{
  "pattern_id": "media_agency_audience_measurement",
  "architecture_summary": "...",
  "recommended_components": ["BigQuery", "Snowflake", "SAML SSO", "GCP EU Region"],
  "data_zones": ["bronze", "silver", "gold"],
  "integration_notes": ["..."],
  "confidence": 0.87,
  "diagram_data": {
    "components": [{ "name": "BigQuery", "type": "database", "sublabel": "...", "zone": "gold" }],
    "connections": [{ "from": "Users", "to": "SAML SSO", "label": "OAuth 2.0", "style": "dashed" }],
    "boundaries": [{ "label": "GCP EU Region", "type": "region" }]
  },
  "source_references": [{ "path": "data/patterns/...", "title": "...", "source_url": "..." }]
}

Lógica de coincidencia: Determinista y basada en reglas: coincidencia de industria (40 %) → solapamiento de la pila de datos (30 %) → cobertura de restricciones (30 %). Las coincidencias seleccionadas (confianza >= 0.85) incluyen diagram_data y referencias de origen. Las coincidencias débiles recurren a un patrón genérico de POC de IA empresarial con confianza < 0.5.

tool_selection_lookup

Recomienda una plataforma basándose en la carga de trabajo, la pila de datos, las restricciones y la latencia.

Entrada:

{
  "use_case": "AI-powered patient insights",
  "data_stack": ["Databricks"],
  "constraints": ["HIPAA", "PHI", "US data residency"],
  "latency": "batch"
}

Salida:

{
  "recommended_platform": "Databricks",
  "cloud_fit": "Azure or AWS",
  "reasoning": "Strong lakehouse fit for healthcare AI with HIPAA-compliant governance...",
  "alternatives": [{ "platform": "Snowflake", "rationale": "..." }, { "platform": "BigQuery", "rationale": "..." }]
}

risk_policy_lookup

Devuelve comprobaciones de riesgo y gobernanza específicas del sector, incluidos los disparadores HITL para datos regulados.

Entrada:

{
  "industry": "healthcare",
  "data_classification": ["PHI", "PII"],
  "region": "US",
  "deployment": "cloud",
  "constraints": ["HIPAA"]
}

Salida:

{
  "required_controls": ["RBAC", "audit logs", "data lineage", "SAML SSO"],
  "risk_flags": ["prompt leakage", "overbroad analyst access"],
  "hitl_required": true,
  "review_reason": "PHI access requires human approval before final architecture signoff"
}

HITL se activa para tipos de datos regulados (PHI, PII, datos financieros regulados) con un review_reason legible para humanos.

brand_context_lookup

Recupera contexto empresarial enriquecido de Brandfetch y un logo de logo.dev, con caché en capas.

Entrada:

{
  "domain": "havas.com"
}

Salida:

{
  "company_name": "Havas",
  "domain": "havas.com",
  "industry_hint": "media_agency",
  "description": "...",
  "tags": ["advertising", "marketing", "media"],
  "positioning": { "value_proposition": "...", "target_audience": "...", "products_and_services": "..." },
  "brand": { "voice": "...", "style": "..." },
  "logo_url": "https://...",
  "confidence": 0.85
}

Capas de caché: (1) Brandfetch cachedOnly=true para búsquedas instantáneas solo en caché, (2) caché de archivos local con TTL. Las búsquedas repetidas devuelven datos en caché sin consumir cuota de API. Respaldo elegante cuando las APIs no están disponibles.

Paquete de fuentes

El directorio data/ contiene 102 archivos Markdown con frontmatter YAML estructurado, organizados en:

data/
├── industry/      # Industry-specific architecture notes
├── vendors/        # Vendor documentation (GCP, AWS, Azure, Snowflake, Databricks)
└── patterns/       # Curated reference architecture patterns (4 demo scenarios)

Campos de frontmatter: type, title, source_url, vendor, industry, data_stack, cloud, constraints, compliance, region, data_zones, latency, pattern_id, architecture_summary, recommended_components, integration_notes, confidence_baseline, diagram_data.

El paquete de fuentes se carga en un índice en memoria al inicio del servidor, clave por industria, pila de datos, restricciones y pattern_id.

Escenarios de demostración

Escenario

Modelo

ID de patrón

Medición de audiencias de agentes de medios

media_agency

media_agency_audience_measurement

Información de pacientes de atención sanitaria

healthcare

healthcare_patient_insights

Personalización de lakehouse para retail

retail

retail_lakehouse_personalization

Gobernanza para el sector financiero (FSI)

financial_services

fsi_governance_copilot

Despliegue

Docker

docker build -t agentflow-mcp .
docker run -p 8080:8080 agentflow-mcp

GCP Cloud Run

gcloud run deploy agentflow-mcp \
  --source . \
  --region run.googleapis.com \
  --port 8080 \
  --set-env-vars "MCP_TRANSPORT=http-stream" \
  --set-secrets "BRANDFETCH_API_KEY=brandfetch-api-key:latest,LOGO_DEV_SECRET_KEY=logo-dev-secret-key:latest,LOGO_DEV_PUBLISHABLE_KEY=logo-dev-publishable-key:latest"

Consulta cloud-run.yaml para conocer la configuración completa del servicio.

Google App Engine

App Engine Standard no ejecuta un paso de compilación: compila primero en local y luego despliega:

npm run build          # compile src/ -> dist/

# (Optional) Warm brand cache for demo domains before deploy
npx tsx scripts/brand-cache-warm.ts

gcloud app deploy      # deploys with dist/ and data/ included

app.yaml define MCP_TRANSPORT=http-stream y se escala a cero cuando está inactivo (más barato para una demostración). App Engine establece PORT automáticamente; el servidor ya lo lee.

Para los secretos, utiliza Secret Manager:

# Create secrets
gcloud secrets create brandfetch-api-key --data-file=<(echo -n "$BRANDFETCH_API_KEY")
gcloud secrets create logo-dev-secret-key --data-file=<(echo -n "$LOGO_DEV_SECRET_KEY")
gcloud secrets create logo-dev-publishable-key --data-file=<(echo -n "$LOGO_DEV_PUBLISHABLE_KEY")

# Reference them in app.yaml (uncomment the includes: section)

Consulta app.yaml y .gcloudignore para conocer la configuración completa.

Scripts

Script

Propósito

scripts/validate-source-pack.ts

Valida que todos los archivos Markdown de data/ tengan frontmatter YAML válido

scripts/generate-frontmatter.mjs

Genera frontmatter para los archivos del paquete de fuentes

scripts/mcp-list-check.ts

Verifica que las cuatro herramientas se puedan encontrar mediante el listado de herramientas de MCP

scripts/brand-cache-warm.ts

Precalienta la caché de marcas para los cuatro dominios de demostración

npx tsx scripts/validate-source-pack.ts   # validate source pack
npx tsx scripts/mcp-list-check.ts          # verify tool discovery
npx tsx scripts/brand-cache-warm.ts        # warm brand cache

Pruebas con MCP Inspector

npx @modelcontextprotocol/inspector npm run dev

Esto abre la interfaz del MCP Inspector, donde puedes llamar a las herramientas de forma interactiva y verificar las respuestas.

Estructura del proyecto

agentflow-mcp/
├── src/
│   ├── index.ts                    # MCP server entry point (stdio + http-stream)
│   ├── tools/
│   │   ├── archPatternLookup.ts    # Pattern matching + confidence scoring
│   │   ├── toolSelectionLookup.ts  # Platform recommendation
│   │   ├── riskPolicyLookup.ts     # Risk/governance checks + HITL
│   │   └── brandContextLookup.ts   # Brandfetch + logo.dev with caching
│   ├── data/
│   │   ├── loader.ts                # Source pack parser + in-memory index
│   │   ├── brandfetchClient.ts     # Brandfetch Brand Context API client
│   │   ├── logoDevClient.ts         # logo.dev Brand API client
│   │   └── brandCache.ts            # Local file cache with TTL
│   └── types/
│       ├── source.ts                # Source pack entry types
│       ├── arch-pattern.ts          # arch_pattern_lookup types
│       ├── tool-selection.ts        # tool_selection_lookup types
│       ├── risk-policy.ts           # risk_policy_lookup types
│       └── brand-context.ts        # brand_context_lookup types
├── data/                            # Source pack (102 markdown files)
│   ├── industry/
│   ├── vendors/
│   └── patterns/
├── tests/                           # Unit + integration tests
├── docs/                            # PRD, MCP overview
├── scripts/                         # Validation + cache warming scripts
├── openspec/                        # OpenSpec specs (4 capabilities)
│   ├── specs/                       # Main specs (synced from archived change)
│   └── changes/archive/            # Archived change proposals
├── Dockerfile                       # Multi-stage build for Cloud Run
├── cloud-run.yaml                  # Cloud Run service config
└── package.json

Stack tecnológico

  • Runtime: Node.js >= 20

  • Framework de MCP: FastMCP v4

  • Lenguaje: TypeScript (estricto)

  • Validación: Zod v4

  • Lint y formato: Biome

  • Pruebas: Ejecutor de pruebas integrado de Node.js

  • Despliegue: Docker + GCP Cloud Run

OpenSpec

Este proyecto utiliza OpenSpec para el desarrollo guiado por especificaciones. Las capacidades de las cuatro herramientas se especifican en openspec/specs/:

  • arch-pattern-lookup (7 requisitos)

  • brand-context-lookup (6 requisitos)

  • risk-policy-lookup (4 requisitos)

  • tool-selection-lookup (5 requisitos)

Valida las especificaciones con:

openspec validate --specs
openspec doctor

Licencia

MIT

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Shared, permission-aware company context for AI agents, with provenance, approvals and audit.

  • Your company's brain for AI agents. Cited, permission-aware knowledge across every system.

  • Curated knowledge API for AI agents - skill packs, semantic search, validated patterns.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ishfuseini/agentflow-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server