mcp-rosario-municipal
{
"answer": "The mcp-rosario-municipal server is a read-only, AI-powered citizen assistance API for the Municipality of Rosario (Argentina). It answers natural-language questions using official public sources — but it cannot book appointments, submit complaints, process payments, or consult personal debt.\n\n### What you can do:\n\n- Ask general citizen questions (consulta_ciudadana) — Returns intent-detected answers with cited official URLs, suggested next steps, and clear capability limits. Supports response tones: brief, normal, or call-center style.\n- Search official sources (buscar_fuentes) — Find official pages/documents by query and category; detalle_fuente returns full details for a specific source by ID.\n- Search instructional documents (buscar_instructivos) — Query a documentary index of 63 official pages/PDFs covering requirements, permits, licenses, fees, public works, and procedures. Returns fragments and official URLs.\n- Live-search the official website (buscar_web_oficial) — Perform real-time searches on rosario.gob.ar's HTML search engine.\n- Search official news (buscar_noticias) — Look up municipal news when a public API is available.\n- Get guidance on complaints (reclamos_info) — Directs users to official reporting channels and suggests what data to prepare (does not submit claims).\n- Get guidance on payments (pagos_info) — Orients on municipal taxes, rates, and payment options (does not check personal debt or process payments).\n- Get guidance on appointments (turnos_info) — Explains how to book appointments or attend municipal offices (does not book or confirm).\n- Get guidance on procedures (tramites_info) — General orientation on municipal procedures and official search tools.\n\n### Additional platform features:\n- HTTP/OpenAPI endpoints and WhatsApp/n8n webhook integration (/webhook/consulta)\n- Public web demo at /demo\n- Performance metrics at /metrics\n- MCP stdio integration"
}
Provides HTTP/OpenAPI endpoints for querying municipal services and documental search, allowing Make scenarios to automate citizen requests.
Provides HTTP/OpenAPI endpoints and a webhook for receiving citizen queries, enabling n8n workflows to integrate municipal information and send responses.
Exposes a webhook endpoint that accepts WhatsApp messages and returns a reply ready for messaging, enabling WhatsApp bots to handle citizen inquiries about municipal services.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-rosario-municipalNecesito hacer un reclamo por una luminaria rota"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
Related MCP server: mcp-abogadoenquilmes
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/healthDominio 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
npm run eval:casesHTTP local
ROSARIO_API_KEY=<tu-api-key> PORT=8787 npm run api:startEndpoints
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 authEjemplos 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ónEjemplo 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.
Evaluación ciudadana
El repo incluye tests/citizen-cases.json y npm run eval:cases para medir intención correcta, fuentes y límites sobre preguntas reales/ambiguas.
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 guardrailsAvailable Tools
10 toolsbuscar_fuentesA
Buscar fuentes oficiales públicas por consulta/categoría. Usar antes de contestar si necesitás citar URLs exactas.
| Name | Required | Description | Default |
|---|---|---|---|
| consulta | Yes | ||
| categoria | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only mentions the function and implies URLs are returned, but omits any details about read-only status, output format, pagination, or limitations. This is a significant gap for a search tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys both purpose and usage. It is front-loaded and contains no redundant information, earning a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core purpose and a usage condition, but lacks details about the return format, result count, or any prerequisites. Given the absence of an output schema and annotations, more information is needed for full contextual completeness, though the tool's simplicity keeps it at a minimum viable level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description merely repeats the parameter names ('consulta/categoría') without explaining their meanings, expected values, or how they interact. It does not help an agent construct correct inputs beyond the schema's basic type declarations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches official public sources by query/category, using a specific verb and resource. It also mentions the use case of citing exact URLs, which distinguishes it from sibling tools like 'buscar_noticias' or 'buscar_web_oficial'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Usar antes de contestar si necesitás citar URLs exactas', providing a clear condition for use. It does not name alternative tools, but the context is sufficient for an agent to decide when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_instructivosA
Buscar en índice documental oficial generado desde páginas/PDFs públicos. Usar para requisitos, documentación, obras, licencias, tasas y trámites. Devuelve fragmentos y URLs oficiales; no inventar requisitos fuera de los fragmentos.
| Name | Required | Description | Default |
|---|---|---|---|
| consulta | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that the tool returns fragments and official URLs ("Devuelve fragmentos y URLs oficiales") and warns against inventing requirements outside those fragments ("no inventar requisitos fuera de los fragmentos"). This provides useful behavioral context, though it lacks details on authentication, rate limits, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences, front-loaded with the main action, then usage, then output and caution. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema or annotations, the description provides the essential context: what it searches, when to use it, what it returns, and a safety warning. For a simple one-parameter search tool, this is nearly complete, but it could mention pagination or result limits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for the single parameter 'consulta'. The description implies the parameter is the search query by mentioning topics to search for, but it never explicitly defines 'consulta' or gives format examples. This is adequate compensation but not outstanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as searching an official documentary index sourced from public pages/PDFs ("Buscar en índice documental oficial"). The verb 'buscar' plus specific resource distinguishes it from sibling tools like buscar_noticias or buscar_web_oficial, which target different content types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use cases: "Usar para requisitos, documentación, obras, licencias, tasas y trámites." This gives clear context for when to use the tool, though it does not mention alternative tools or exclusion scenarios, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_noticiasA
Buscar noticias oficiales cuando el municipio expone API pública. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| consulta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool is 'Read-only' and notes a dependency on the municipality's public API. This is useful behavioral context, though it does not describe error handling or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of two short sentences that front-load the core action and include the key behavioral trait. Every word earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with one parameter and no output schema, the description covers the essential context: purpose, usage condition, and read-only nature. However, the lack of parameter explanation leaves a small gap, but overall it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter 'consulta' with no description, and the schema description coverage is 0%. The tool description does not explain what 'consulta' means or how it should be formatted, so it fails to compensate for the lack of parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Buscar noticias oficiales' (search official news), with a specific verb and resource. It also adds a scope condition ('cuando el municipio expone API pública'), but it does not explicitly distinguish from sibling tools, so it's not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage context: 'cuando el municipio expone API pública' (when the municipality exposes a public API). This tells the agent when to use the tool, but it does not mention when not to use it or name alternative tools, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_web_oficialA
Buscar en vivo en el sitio oficial cuando existe adaptador. En Rosario usa el buscador HTML oficial. Read-only y con URLs oficiales.
| Name | Required | Description | Default |
|---|---|---|---|
| consulta | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It explicitly states 'Read-only' and 'con URLs oficiales', which are meaningful behavioral guarantees, and notes the live-search nature. It doesn't cover rate limits, authentication, or failure modes, but for a simple search tool it adds sufficient context beyond a bare description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences, front-loaded with the primary action, and contains no unnecessary filler. Every sentence earns its place by adding either the core purpose, a specific usage detail, or a safety/source guarantee.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, so the description should explain what the search results look like, but it doesn't. It also doesn't address what happens when an adapter is missing or how to handle failures. However, it does cover purpose, usage context, and read-only nature, making it minimally viable but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'consulta' with 0% description coverage, and the description never explicitly explains that 'consulta' is the search query or provides any format/constraint details. The meaning is inferable from the tool name, but the description adds no parameter-level value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Buscar en vivo en el sitio oficial cuando existe adaptador' (search live on the official site when an adapter exists). It also adds a specific variant for Rosario's official HTML search, which helps distinguish it from sibling search tools like buscar_fuentes and buscar_noticias, though it doesn't explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives conditional usage context ('cuando existe adaptador') and a location-specific behavior ('En Rosario usa el buscador HTML oficial'), indicating when this tool is appropriate. However, it does not explicitly reference sibling tools or provide when-not-to-use guidance, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consulta_ciudadanaA
Responder una consulta ciudadana usando fuentes oficiales públicas. Read-only: no reserva turnos, no envía reclamos/denuncias ni procesa pagos. Incluye intención, fuentes, acciones sugeridas y límites.
| Name | Required | Description | Default |
|---|---|---|---|
| tono | No | ||
| consulta | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It clearly states 'Read-only' and lists excluded actions, providing a strong safety signal. It also mentions that the response includes intention, sources, suggested actions, and limits, which gives a preview of the tool's output. It could add rate limits or specific output structure, but the core read-only behavior is well covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: three sentences cover purpose, exclusions, and output composition. Every sentence contributes necessary context without redundancy. It is well-structured and front-loaded with the primary action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, read-only behavior, exclusions, and output highlights, which is good for a simple informational tool. However, it omits critical detail about the 'tono' parameter, and the absence of an output schema makes this omission more impactful. The tool is not fully self-contained for an agent to use correctly without additional inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. While 'consulta' is self-evident from the tool's purpose, the 'tono' parameter (with enum breve/normal/llamada) is entirely unexplained. The description does not clarify what tone/format options mean or how they affect the response, leaving a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: 'Responder una consulta ciudadana usando fuentes oficiales públicas' (respond to a citizen query using official public sources). It clearly distinguishes from sibling tools that focus on searching or retrieving specific types of information, and it outlines the output components (intention, sources, suggested actions, limits).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when not to use the tool: 'no reserva turnos, no envía reclamos/denuncias ni procesa pagos' (does not reserve appointments, send complaints, or process payments). This effectively excludes common alternative uses, though it does not explicitly name sibling tools like turnos_info or pagos_info.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detalle_fuenteA
Ver detalle de una fuente pública por ID devuelto por buscar_fuentes.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of disclosing behavior. It indicates a read-only operation ('ver'), but does not mention any potential side effects, error conditions, or additional behavioral nuances. For a simple detail lookup, this is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that conveys the purpose and source of the ID without extraneous words. It is perfectly concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter and no output schema, the description provides sufficient context: the tool is a detail-view operation for a source, and the ID comes from a specific sibling tool. It lacks information about return format, but the simplicity of the tool makes this acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds semantic meaning to the 'id' parameter by specifying it is a public source ID returned by 'buscar_fuentes'. This is valuable context beyond the schema's bare 'string' type and minLength constraint, even though the described coverage is low.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: view details of a public source by ID. The verb 'Ver' (view) is specific, and the resource 'fuente pública' (public source) is identified. It also distinguishes from sibling tool 'buscar_fuentes' by referencing an ID from that search tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly ties usage to an ID returned by 'buscar_fuentes', providing clear context on when to use this tool (after searching). It implies this is not for searching but for retrieving details, though it does not explicitly exclude other scenarios or name alternatives beyond 'buscar_fuentes'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pagos_infoA
Orientar sobre pagos/tasas/tributos con límites: no consulta deuda personal ni procesa pagos.
| Name | Required | Description | Default |
|---|---|---|---|
| consulta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavior. It does state that the tool does not process payments or consult personal debt, implying a safe, non-transactional nature. Yet it doesn't explicitly confirm it is read-only, nor does it describe return responses or side effects beyond these exclusions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the main purpose and includes important limitations. Every word earns its place, with no redundancy or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple structure (one param, no output schema), the description covers the tool's scope and exclusions well. However, it lacks explicit instructions on how to use the 'consulta' parameter and what the response looks like, making it incomplete for an agent that needs fully actionable guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'consulta' with 0% description coverage, and the tool description provides no explanation of what this parameter should contain. The name 'consulta' (query) hints at a free-text question about payments, but this is inferred rather than stated, leaving the agent without adequate guidance for filling the only parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states a specific action ('Orientar' = guide) and a clear resource ('pagos/tasas/tributos'), and differentiates itself from sibling tools like 'reclamos_info' and 'turnos_info'. It also clarifies boundaries (no personal debt, no payment processing), making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool (guidance on payments/fees/taxes) and explicitly states exclusions (not for personal debt, not for payment processing). However, it does not name alternative sibling tools, so it stops short of explicit 'use X instead' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reclamos_infoA
Derivar reclamos/denuncias a canales oficiales y sugerir qué datos preparar. No envía el reclamo.
| Name | Required | Description | Default |
|---|---|---|---|
| tema | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It explicitly states a key non-behavior: 'No envía el reclamo' (does not send the complaint), which clarifies that the tool only provides guidance, not actual submission. This is valuable beyond what the name suggests, though it omits other potential details like rate limits or authentication.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the core action and immediately followed by a critical caveat. Every word earns its place with no redundancy, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description adequately conveys the main purpose and outcome (official channels and data suggestions). However, it lacks specifics on how results are presented (e.g., links, formatting) and does not elaborate on the parameter, making it minimally viable but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. The only parameter 'tema' is not explicitly explained beyond the tool's overall purpose. The phrase 'sugerir qué datos preparar' hints at the output but does not clarify what the 'tema' input should contain or its format, leaving the parameter semantically under-defined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to redirect complaints/reports to official channels and suggest what data to prepare. The verb 'Derivar' is specific and distinguishes this tool from siblings like pagos_info or turnos_info, as it deals specifically with reclamos/denuncias.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: when a user wants to file a complaint, this tool will help by providing official channels and data preparation tips. However, it does not explicitly state when to use this over alternatives (e.g., consulta_ciudadana) or mention any exclusions, leaving the usage context somewhat implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tramites_infoC
Orientar sobre trámites municipales generales y buscadores oficiales.
| Name | Required | Description | Default |
|---|---|---|---|
| consulta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure, but it does not mention whether the tool is read-only, performs external searches, or returns specific types of information. This lack of detail leaves significant ambiguity about the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no filler. It is front-loaded with the action and subject, earning its place, though it could be expanded with useful details without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplest tool with one optional parameter and no output schema or annotations, the description only provides a high-level purpose. It lacks info on input format, expected outputs, or how it differs from siblings, making it incomplete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must explain the 'consulta' parameter, but it only mentions the general topic. It does not specify what the parameter should contain (e.g., a question, a keyword, or a procedure name), leaving the user to infer it from the tool name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a verb ('Orientar' - to guide) and a resource ('trámites municipales generales y buscadores oficiales'). This distinguishes it from specific sibling tools like buscar_fuentes or detalle_fuente, but the verb 'orientar' is somewhat vague about the concrete action performed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not name any siblings, mention exclusions, or provide context for selecting it over more specialized tools like buscar_web_oficial or reclamos_info.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
turnos_infoA
Orientar sobre turnos/atención; no reserva ni confirma turnos.
| Name | Required | Description | Default |
|---|---|---|---|
| consulta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It discloses the non-transactional nature of the tool, but gives no further detail on response format, data sources, or any other behavioral traits. This is minimal but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately states the purpose and a key exclusion. Every word earns its place, with no unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with low complexity (one parameter, no output schema), the description provides essential purpose and a key limitation. However, without an output schema, the lack of detail about what 'orientar' actually returns leaves ambiguity about the tool's response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'consulta' with 0% description coverage. The tool description does not explain what the parameter should contain, its format, or provide examples, leaving the agent to infer from the parameter name alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Orientar sobre turnos/atención' (guide about appointments/attention). It explicitly excludes actions ('no reserva ni confirma turnos'), distinguishing it from potential booking tools and clarifying its informational scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when a user needs orientation about appointments and attention, and explicitly states what the tool does not do (reserve or confirm). However, it does not name alternative tools or provide explicit when-not-to-use scenarios beyond the reservation/confirmation exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
10 tool updates
v0.3.0- First observed
buscar_fuentes - First observed
buscar_instructivos - First observed
buscar_noticias - First observed
buscar_web_oficial - First observed
consulta_ciudadana - First observed
detalle_fuente - First observed
pagos_info - First observed
reclamos_info - First observed
tramites_info - First observed
turnos_info
TDQS
Scored across 10 tools
Tools fall into clear categories (general query, search sources, domain-specific info), but buscar_fuentes, buscar_instructivos, and buscar_web_oficial share overlapping search purposes and could be confused without careful description reading.
Most tools follow a verb_noun pattern (buscar_*) or domain_info pattern (*_info), but detalle_fuente and consulta_ciudadana deviate slightly from this convention, making the naming less uniform.
With 10 tools, the server is well-scoped for a municipal information assistant, providing enough coverage without unnecessary redundancy.
The server covers the core citizen-information lifecycle well, including source search, news, procedures, and orientations. It intentionally omits transactional actions, but could add directories or event searches to be fully comprehensive.
Maintenance
Related MCP Connectors
Read-only MCP server for Muovi, Argentina's trust-first local services marketplace (6 tools).
MCP server for querying Forkast documentation
MCP server for Brazilian Federal Senate open data (legislative, administrative, e-Cidadania).
Read-only MCP server for the OrchestKit docs: full-text search + Markdown fetch. No auth.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server for accessing Uruguay's IMPO open data API with SQLite caching. Provides tools to retrieve legal norms, search regulations, and access schema documentation from Uruguay's official legal database.4MIT
- FlicenseNot gradedqualityDmaintenanceRemote MCP server that provides access to over 285K Argentine court rulings and user's own case files via Streamable HTTP transport.-
- AlicenseAqualityCmaintenanceMCP server for searching and extracting official announcements, decrees, and resolutions from the Argentine Official Gazette (Boletín Oficial de la República Argentina). It enables LLMs to perform real-time searches and retrieve verbatim legal text with complete juridical fidelity.1419 npm3MIT
- FlicenseAqualityBmaintenanceMCP server that provides access to Argentine legal documents (legislation, CSJN jurisprudence, international treaties) with verifiable provenance including SHA256 hashes and source URLs, enabling legal professionals to search and verify citations.13-