mcp-rosario-municipal
Read-only MCP server for Municipalidad de Rosario citizen queries, routing by intent to official sources and a local document index. It exposes tools for querying official documents, procedures, claims, payments, appointments, and news via MCP stdio or HTTP.
README
mcp-rosario-municipal
API + MCP read-only para atención ciudadana con fuentes oficiales de Municipalidad de Rosario.
Propuesta comercial
Demo de “Atención Ciudadana IA”: el vecino pregunta en lenguaje natural y la IA responde con información pública oficial, links de respaldo, pasos sugeridos y límites claros.
Sirve para conectar web chat, WhatsApp vía n8n/Make, ChatGPT Actions, Telegram, voice/call-center y dashboards internos.
Qué hace
- Responde consultas por intención: reclamos, pagos, turnos, licencias, habilitaciones, obras, noticias/datos.
- Cita fuentes oficiales y devuelve links.
- Busca en índice documental generado desde 63 documentos/páginas oficiales.
- Usa búsqueda viva sobre el buscador HTML oficial de rosario.gob.ar.
- Expone MCP stdio, HTTP/OpenAPI, webhook de mensajería, demo web
/demoy métricas/metrics.
Qué NO hace
- No reserva turnos.
- No envía reclamos ni denuncias.
- No procesa pagos.
- No consulta deuda, expedientes ni datos personales.
- No inventa requisitos si no aparecen en fuentes oficiales.
URLs
Base actual: https://rosario.72.61.48.99.sslip.io
Demo web: https://rosario.72.61.48.99.sslip.io/demo
OpenAPI: https://rosario.72.61.48.99.sslip.io/openapi.json
Health: https://rosario.72.61.48.99.sslip.io/health
Dominio recomendado: https://rosario.demo.zyoma.ai — ver docs/deployment.md.
Instalar y verificar
npm install
npm run extract:docs
npm run typecheck
npm run build
npm run probe:fase1
npm run probe
npm run probe:http
HTTP local
ROSARIO_API_KEY=<tu-api-key> PORT=8787 npm run api:start
Endpoints
GET /health público
GET /openapi.json público
GET /demo público, requiere API key dentro de la UI para consultar
GET /metrics privado, bearer auth
POST /consulta-ciudadana privado, bearer auth
POST /webhook/consulta privado, bearer auth
POST /fuentes/buscar privado, bearer auth
POST /fuentes/detalle privado, bearer auth
POST /noticias/buscar privado, bearer auth
POST /instructivos/buscar privado, bearer auth
POST /web/buscar privado, bearer auth
POST /reclamos/info privado, bearer auth
POST /pagos/info privado, bearer auth
POST /turnos/info privado, bearer auth
POST /tramites/info privado, bearer auth
Ejemplos demo
Necesito sacar un turno
¿Cómo pago la tasa municipal?
Quiero hacer un reclamo por una luminaria rota
Quiero habilitar un comercio
Requisitos para final de obra
Licencia de conducir renovación
Ejemplo consulta ciudadana
curl -s https://rosario.72.61.48.99.sslip.io/consulta-ciudadana \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <tu-api-key>' \
-d '{ "consulta": "Licencia de conducir requisitos", "tono": "breve" }'
Ejemplo webhook n8n/WhatsApp
curl -s https://rosario.72.61.48.99.sslip.io/webhook/consulta \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <tu-api-key>' \
-d '{ "text": "Necesito hacer un reclamo por una luminaria rota", "channel": "whatsapp", "from": "+549****0000" }'
En n8n usar: ={{ $json.reply }}.
Métricas
GET /metrics devuelve contadores agregados y últimas consultas sanitizadas. No guarda teléfonos/emails completos: se redactan en memoria.
MCP
claude mcp add rosario -- node "$(pwd)/dist/src/index.js"
Tools: consulta_ciudadana, buscar_instructivos, buscar_web_oficial, buscar_fuentes, detalle_fuente, buscar_noticias, reclamos_info, pagos_info, turnos_info, tramites_info.
Estado de fase
Fase 0: relevamiento de fuentes públicas
Fase 1: tools read-only de información pública
Fase 1.1: índice documental + búsqueda viva
Fase 1.2: HTTP/OpenAPI + webhook + demo web + métricas
Fase 2 futura: workflows autenticados sólo con autorización explícita, auditoría y guardrails
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.