Skip to main content
Glama

mcp-inegi

Servidor MCP para que cualquier asistente de IA (Claude, ChatGPT, Gemini, Cursor o un modelo local) consulte datos oficiales del INEGI y conteste citando la fuente:

  • Indicadores: población, inflación, empleo, PIB e IGAE, a nivel nacional, estatal y, para datos censales, municipal.

  • DENUE: el directorio de más de 5 millones de negocios, con su giro, tamaño, dirección, teléfono y coordenadas.

Forma parte de Itzamná, una familia de servidores MCP de código abierto sobre los datos públicos de México. Proyecto independiente, sin afiliación con el INEGI.

Qué puedes preguntarle

  • ¿Cuál fue la inflación anual de septiembre? → 3.45 % (INPC, indicador 910406, periodo 2026/09)

  • ¿Cuánta gente vive en Naucalpan? → 834,434 personas (Censo 2020, municipio 15057)

  • ¿Qué estados tienen más población desocupada? → compara las 32 entidades con la ENOE

  • ¿Cómo va el PIB? → variación anual, PIB real en millones de pesos de 2018 e IGAE mensual

  • Dame información de Naucalpan → perfil con población, desempleo y 36,542 negocios

  • ¿Cuántas tortillerías hay en Naucalpan? → 515 (DENUE, actividad SCIAN 311830)

  • ¿Qué cafés hay a 300 m del Zócalo? → nombre, dirección y distancia de cada uno

  • Dame dentistas en Coyoacán → nombre, dirección, teléfono y sitio web

Cada respuesta trae el ID del indicador, el periodo, la unidad, la fuente oficial y la fecha de última actualización, para que cualquiera la pueda verificar.

Related MCP server: Tlaloc MCP Server

Herramientas

Herramienta

Qué hace

perfil_area

Perfil de un lugar: población, mujeres y hombres, % indígena, desempleo y negocios

indicadores_clave

Catálogo de indicadores verificados, con su ID y cobertura geográfica

consultar_indicador

Último valor o serie de un indicador para el país, un estado o un municipio

comparar_areas

El mismo indicador en varios estados o municipios, ordenado de mayor a menor

buscar_municipio

Clave de un municipio o alcaldía por nombre, sin importar acentos

metadatos_indicador

Nombre oficial, unidad, frecuencia, fuente y periodo cubierto

contar_negocios

Cuántos negocios de un giro hay en el país, un estado o un municipio

buscar_negocios

Negocios por nombre o giro en un área, con dirección, contacto y tamaño

negocios_cercanos

Negocios alrededor de unas coordenadas, del más cercano al más lejano

buscar_actividad

Código SCIAN de un giro ("tortillerías" → 311830)

consultar_indicador acepta las claves del catálogo (INFLACION_ANUAL, POBLACION_TOTAL, TASA_DESOCUPACION, PIB_REAL, IGAE…) o cualquier ID numérico del Banco de Indicadores. Las áreas se pueden dar por nombre o por clave: estados (Jalisco, CDMX, 14) y los 2,478 municipios y alcaldías (Naucalpan, Juárez, Chihuahua, 15057). Si un nombre existe en varios estados, como Benito Juárez, el servidor devuelve los candidatos en lugar de adivinar.

Las herramientas del DENUE aceptan el giro en lenguaje natural ("gimnasio", "oxxo", "taller mecánico"): el servidor lo traduce al código SCIAN con el catálogo oficial incluido en el paquete y dice qué actividad usó, con alternativas por si no era esa. También se puede filtrar por tamaño (personal ocupado, de "0 a 5" hasta "251 y más").

Instalación

Opción 1: Endpoint remoto (sin instalar nada, sin token)

Hay una instancia pública hospedada en streamable-http. No necesitas Python ni pedir tu propio token del INEGI:

https://itzamna-mcp.duckdns.org/inegi/mcp

En Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "inegi": {
      "type": "streamable-http",
      "url": "https://itzamna-mcp.duckdns.org/inegi/mcp"
    }
  }
}

En Claude Code:

claude mcp add --transport http inegi https://itzamna-mcp.duckdns.org/inegi/mcp

Es un servicio comunitario en infraestructura propia, con límite de 30 consultas por minuto por IP. Para uso intensivo o en producción, instálalo localmente con tu propio token.

Opción 2: En tu computadora (con uvx)

  1. Pide tu token gratuito en el INEGI. Para las herramientas de negocios pide además el token del DENUE: es otro distinto.

  2. Verifica la conexión:

export INEGI_TOKEN="tu_token"
export DENUE_TOKEN="tu_token_denue"
uvx mcp-inegi --test
  1. Agrégalo a tu cliente MCP. En Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "inegi": {
      "command": "uvx",
      "args": ["mcp-inegi"],
      "env": { "INEGI_TOKEN": "tu_token", "DENUE_TOKEN": "tu_token_denue" }
    }
  }
}

En Claude Code:

claude mcp add inegi -e INEGI_TOKEN=tu_token -e DENUE_TOKEN=tu_token_denue -- uvx mcp-inegi

Servidor remoto propio

mcp-inegi --transport streamable-http --host 127.0.0.1 --port 8000 --allowed-host tu.dominio

Detrás de un proxy inverso, --allowed-host declara el nombre público para la protección contra DNS rebinding.

Notas sobre la API del INEGI

Cosas que descubrimos al construirlo (octubre de 2026) y que el servidor ya resuelve por ti:

  • El banco económico se llama BIE-BISE; con BIE a secas la API responde que no hay resultados.

  • Se pide siempre la serie completa: con reciente=true la API falla en municipios cuando el periodo nacional más nuevo (p. ej. 2025) no existe a ese nivel.

  • El token va en la URL, así que el servidor silencia los logs de httpx para no filtrarlo.

  • El catálogo de municipios viene incluido en el paquete (scripts/generar_municipios.py lo regenera desde el Marco Geoestadístico).

  • En el DENUE, el total nacional se pide con área 0 y se suman los estados: con 00 la API responde 0. La búsqueda por área sí usa 00 para todo el país, y "todos" no es comodín ahí.

  • El DENUE a veces devuelve el JSON doblemente codificado (un string que trae la lista adentro).

  • El catálogo SCIAN viene incluido (scripts/generar_scian.py lo regenera desde los catálogos 2023 y 2018 del INEGI; requiere openpyxl).

  • Si un lugar no tiene el dato (la tasa de desempleo no existe por municipio), se usa el de su estado o el nacional y la respuesta lo dice. La tasa de desempleo por estado se calcula como población desocupada / población económicamente activa, ambas de la ENOE trimestral.

  • Cada respuesta trae un campo resumen: una frase lista para citar con la cifra, el periodo y la fuente, pensada para que modelos pequeños no tengan que reformatear números.

  • Las series se guardan en caché una hora (INEGI_CACHE_TTL, en segundos) y los catálogos de unidades, fuentes, frecuencias y áreas durante 24 horas.

Desarrollo

uv venv && uv pip install -e ".[dev]"
pytest
ruff check .

Licencia MIT.

Available Tools

10 tools
buscar_actividadA

Busca el código SCIAN de una actividad económica ("tortillerías", "gimnasio").

El DENUE clasifica cada negocio con un código SCIAN; úsala para elegir el código correcto antes de contar o buscar negocios cuando la palabra es ambigua.

Args: descripcion: Giro en lenguaje natural, p. ej. 'farmacias', 'taller mecánico'.

Inputs: descripcion (required). Returns: result

buscar_municipioA

Busca la clave geoestadística (5 dígitos) de un municipio o alcaldía por su nombre.

Úsala cuando un nombre sea ambiguo o para confirmar la clave antes de consultar.

Args: nombre: Nombre completo o parcial, sin importar acentos ('naucalpan', 'Juárez'). estado: Estado para acotar la búsqueda (opcional), p. ej. 'Chihuahua' o '08'.

Inputs: nombre (required), estado. Returns: result

buscar_negociosA

Busca negocios por nombre o giro en el país, un estado o un municipio (DENUE).

Devuelve nombre, giro, tamaño, dirección, teléfono, correo, sitio web y coordenadas.

Args: que: Texto a buscar en el nombre o la actividad ('Similares', 'tacos'). Opcional si se da actividad. area: País (por defecto), estado o municipio, por nombre o clave. actividad: Filtra por giro ('gimnasio') o código SCIAN de 2, 3, 4 o 6 dígitos. personal: Tamaño por personal ocupado, 1 a 7 (ver contar_negocios). limite: Máximo de negocios a devolver (1 a 50).

Inputs: que, area, limite, personal, +1 more. Returns: result

comparar_areasA

Compara el último valor de un indicador entre varios estados o municipios.

Args: indicador: Clave del catálogo o ID numérico del INEGI. areas: Lista de áreas (nombres o claves), p. ej. ['CDMX', 'Jalisco', 'Nuevo León']. Usa ['estados'] para comparar las 32 entidades.

Inputs: areas (required), indicador (required). Returns: result

consultar_indicadorA

Consulta el valor más reciente (o la serie) de un indicador del INEGI.

Args: indicador: Clave del catálogo (p. ej. 'INFLACION_ANUAL', 'POBLACION_TOTAL') o un ID numérico del INEGI (p. ej. '910406'). area: Área geográfica (opcional, por defecto nacional). Acepta el nombre del estado ('Jalisco', 'CDMX', 'Estado de México'), su clave de 2 dígitos ('14') o la nombre o clave de un municipio ('Naucalpan', 'Benito Juárez, CDMX', '15057'). observaciones: Cuántos periodos devolver, del más reciente hacia atrás (1 a 120).

Inputs: indicador (required), area, observaciones. Returns: result

contar_negociosA

Cuenta los negocios de un giro en el país, un estado o un municipio (DENUE).

Args: actividad: Giro en lenguaje natural ('tortillerías', 'farmacias') o código SCIAN de 2 a 6 dígitos; varios códigos separados por comas se suman ('464111,464112'). area: País (por defecto), estado o municipio, por nombre o clave ('Naucalpan'). personal: Tamaño por personal ocupado (opcional): 1 = 0 a 5, 2 = 6 a 10, 3 = 11 a 30, 4 = 31 a 50, 5 = 51 a 100, 6 = 101 a 250, 7 = 251 y más.

Inputs: actividad (required), area, personal. Returns: result

indicadores_claveA

Lista los indicadores verificados del catálogo, con su ID y cobertura geográfica.

Args: tema: Filtra por tema (opcional): 'Población', 'Precios', 'Empleo' o 'Actividad económica'.

Inputs: tema. Returns: result

metadatos_indicadorA

Ficha de un indicador: nombre oficial, unidad, frecuencia, fuente y periodo cubierto.

Args: indicador: Clave del catálogo o ID numérico del INEGI.

Inputs: indicador (required). Returns: result

negocios_cercanosA

Negocios alrededor de un punto, del más cercano al más lejano (DENUE).

Args: latitud: Latitud del punto, p. ej. 19.4785. longitud: Longitud del punto, p. ej. -99.2396. que: Nombre o giro a buscar ('cafetería'); vacío trae todos los negocios. radio_m: Radio de búsqueda en metros (máximo 5000). limite: Máximo de negocios a devolver (1 a 50).

Inputs: latitud (required), longitud (required), que, limite, +1 more. Returns: result

perfil_areaA

Perfil de un lugar: población (total, mujeres, hombres), % indígena, nacidos en otro país, desempleo y número de negocios con sus giros principales, cada cifra con su periodo.

Úsala para preguntas generales como "dame información de Naucalpan" o "¿cómo es Jalisco?".

Args: area: Estado o municipio, por nombre o clave ('Naucalpan', 'Jalisco', '15057').

Inputs: area (required). Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.9/5.0

    Scored across 10 tools

    Disambiguation5/5

    Each tool targets a distinct resource and action: indicator catalog, query, comparison, metadata, location lookup, area profile, activity code resolution, business counting, business search, and proximity search. Overlap between business tools is minimal and clarified by descriptions (e.g., counting vs. searching vs. nearby).

    Naming Consistency3/5

    All names use snake_case, which is consistent, but the naming pattern mixes verb-first (consultar_indicador, buscar_municipio, contar_negocios) with noun-first (indicadores_clave, perfil_area, negocios_cercanos, metadatos_indicador). The inconsistency makes the set less predictable, though still readable.

    Tool Count5/5

    Ten tools fit the INEGI domain well: indicators, geography, and businesses each have a small, focused set of operations. No tool feels redundant, and the scope is neither too narrow nor too broad.

    Completeness4/5

    The surface covers indicator discovery, querying, comparison, metadata, and business counting/searching/nearby, plus geographic lookup and area profiles. Minor gaps exist (e.g., no bulk data export or full list of states/municipalities), but core workflows are supported.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Provides access to Mexico's INEGI (national statistics office) indicators API, enabling AI agents to query statistical data through natural language or direct tool calls.
      129 npm
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Provides AI assistants with live, authenticated access to official Mexican data sources including CURP, RFC, postal codes, phone numbers, SPEI payments, CFDI status, DOF semantic search, and geocoding via INEGI/INE.
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables AI assistants and agents to query official Mexican economic data from Banxico, including USD/MXN exchange rates, inflation (INPC), UDIS, and interest rates.
      6
      24 PyPI
      6
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI agents to look up metadata and fetch data values for Statistics Portugal (INE) indicators, including the valid dimension slots and dimension-value codes needed to slice a series. Supports both remote gateway and local stdio use, returning indicator titles, periodicity, units, time ranges, and filtered data points.
      377 npm
      MIT