Skip to main content
Glama

extraer-datos-ine-mcp

Servidor MCP oficial de Extraer Datos de INE. Deja que Claude, Cursor, VS Code y otros clientes MCP extraigan los datos de credenciales para votar INE/IFE (nombre, CURP, clave de elector, fecha de nacimiento, domicilio, vigencia…) y creen enlaces para que tus clientes capturen su documento desde el celular.

Herramientas

Herramienta

Qué hace

Costo

extraer_ine

Extrae los datos de fotos de una INE guardadas en tu computadora (front_path, back_path opcional; JPEG, PNG o WebP, máx. 10 MB)

1 token (se reembolsa si la imagen es ilegible o falla la extracción)

crear_enlace_captura

Crea un enlace de un solo uso para que tu cliente fotografíe su INE o pasaporte; los datos llegan a tu destino, no al chat

Gratis crear; 1 token por captura (se reembolsa si falla)

consultar_saldo

Tokens disponibles

Gratis

Necesitas una API key: créala en extraerdatosdeine.com (panel → API Keys).

Related MCP server: @parserelay/mcp

Privacidad

Con extraer_ine, los datos personales extraídos (nombre, CURP, domicilio, clave de elector) entran a la conversación con tu asistente de IA y, por lo tanto, al proveedor de ese modelo. Si eso no es aceptable para tu caso, usa crear_enlace_captura: la foto y los datos van directo de tu cliente a tu destino (webhook, correo o Telegram, configurado en el panel → Destinos) y al chat solo llega el enlace. Extraer Datos de INE no guarda los datos de las extracciones exitosas.

Instalación

Claude Code

claude mcp add extraer-datos-ine -e EXTRAER_DATOS_INE_API_KEY=ine_tu_api_key -- npx -y extraer-datos-ine-mcp

Claude Desktop, Cursor, VS Code y otros

{
  "mcpServers": {
    "extraer-datos-ine": {
      "command": "npx",
      "args": ["-y", "extraer-datos-ine-mcp"],
      "env": { "EXTRAER_DATOS_INE_API_KEY": "ine_tu_api_key" }
    }
  }
}

(Claude Desktop: claude_desktop_config.json. Cursor: ~/.cursor/mcp.json.)

Ejemplos

  • "Extrae los datos de la INE en ~/Descargas/ine_frente.jpg y ~/Descargas/ine_reverso.jpg."

  • "Crea un enlace de captura para la reserva 8841 que mande los datos a mi destino dst_…"

  • "¿Cuántos tokens me quedan en Extraer Datos de INE?"

Enlaces de captura

  • Un solo uso: 15 minutos para abrirlo y, ya abierto, 15 minutos para capturar.

  • La url solo se devuelve al crearlo; compártela solo con tu cliente.

  • Máximo 20 enlaces vivos a la vez por cuenta.

  • document_type: ine (por defecto) o passport. require_back pide también el reverso. reference (hasta 80 caracteres) viaja con la entrega.

Variables de entorno

Variable

EXTRAER_DATOS_INE_API_KEY

Obligatoria

EXTRAER_DATOS_INE_BASE_URL

Opcional, por defecto https://extraerdatosdeine.com

Errores

Los errores de la API vuelven como resultado de la herramienta (isError) con su code, por ejemplo INVALID_API_KEY (401), INSUFFICIENT_TOKENS (402), LOW_IMAGE_QUALITY (422, con missing_fields), DESTINATION_NOT_FOUND o TOO_MANY_LIVE_LINKS. Un archivo que no existe da FILE_NOT_FOUND y uno que no es imagen da INVALID_IMAGE_FORMAT, sin llamar a la API ni gastar tokens.

Enlaces

MIT

Available Tools

3 tools
consultar_saldoConsultar saldoB
Read-only

Tokens disponibles en tu cuenta de Extraer Datos de INE. Sin costo.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so safety is covered. The description adds one genuinely useful behavioral fact beyond them: the query is free and does not consume tokens ('Sin costo'). It does not describe what the response contains (token count, expiration, etc.).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short fragments with no filler, and the resource is front-loaded. It is slightly clipped for a purpose clause, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a trivial zero-parameter read tool this is nearly sufficient, but with no output schema the description is the only place a return-value description could live, and it never says what checking the balance actually yields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, which is the baseline-4 case. No parameter explanation is required, and the description correctly avoids inventing any.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the concrete resource (available tokens in the account) and its scope ('Extraer Datos de INE'), which is clearly distinct from the extraction sibling extraer_ine. The verb is implied rather than stated, but an agent can tell what it returns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use guidance or routing toward alternatives. 'Sin costo' implies the call is free and therefore safe to check before consuming resources, but this must be inferred rather than being stated as a condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

crear_enlace_capturaCrear enlace de capturaA

Crea un enlace de un solo uso para que un cliente fotografíe su INE o pasaporte desde su celular. Tiene 15 minutos para abrirlo y, ya abierto, 15 minutos para capturar. Los datos NO llegan a esta conversación: se entregan al destino destination_id (webhook, correo o Telegram configurado en el panel de extraerdatosdeine.com → Destinos). Crear el enlace es gratis; la captura consume 1 token (se reembolsa si la extracción o la entrega fallan). Máximo 20 enlaces vivos a la vez. Devuelve url (compártela solo con el cliente) y expiresAt.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceNoTu referencia (reserva, folio); viaja con la entrega
require_backNoPedir también el reverso
document_typeNoDocumento que pedirá el enlaceine
destination_idYesID del destino (panel → Destinos)

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Far exceeds the annotations (readOnlyHint=false, openWorldHint=true, idempotentHint=false), which only flag that this is a non-idempotent write. The description discloses the 15-minute open window, the 15-minute capture window, that data bypasses the conversation and goes to the configured destination, the cost model (free to create, 1 token per capture, refunded on failure), and the 20-live-link cap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded, and each following sentence carries a distinct operational fact (expiry, routing, cost, quota, return values). No sentence restates another or wastes space despite the density.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly supplies the return fields (url, expiresAt) and warns the url is shareable only with the client. Combined with limits, cost, and delivery routing, an agent has everything needed to invoke and interpret this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so baseline is 3, but the description adds real meaning beyond the schema by explaining what destination_id actually does (routes to webhook, email, or Telegram configured in the panel) and noting the returned url/expiresAt. It does not add format detail for reference or require_back, but the schema covers those adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (creates a one-time capture link) and immediately explains the mechanism: a client photographs their INE/passport from their phone. This is clearly distinguishable from the siblings extraer_ine (which performs extraction) and consultar_saldo (which checks balance), since this tool only mints the link.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies the use case well: the client captures remotely and the data is routed to destination_id rather than into the conversation, which tells an agent when this is the right tool. However, it never explicitly contrasts itself with extraer_ine or states when NOT to use it, so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

extraer_ineExtraer datos de INEA

Extrae los datos de una credencial para votar INE/IFE a partir de fotos guardadas en esta computadora: nombre, apellidos, CURP, clave de elector, fecha de nacimiento, sexo, domicilio, sección, vigencia y más. front_path es la ruta del frente (JPEG, PNG o WebP, máximo 10 MB); back_path (reverso) es opcional. Consume 1 token de tu saldo; si la imagen es ilegible (LOW_IMAGE_QUALITY) o falla la extracción, el token se reembolsa. Los datos personales extraídos quedan en esta conversación.

ParametersJSON Schema
NameRequiredDescriptionDefault
back_pathNoRuta local de la foto del reverso (opcional)
front_pathYesRuta local de la foto del frente de la INE

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false. The description adds important non-schema behavior: it consumes 1 token, refunds on LOW_IMAGE_QUALITY or extraction failure, and keeps personal data in the conversation. It does not cover auth or idempotency, but the added cost/refund/privacy context is strong.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense paragraph that front-loads what is extracted, then input details, cost/refund, and privacy. Every sentence carries necessary information; no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-parameter extraction tool with no output schema, the description is nearly complete: it lists return fields, input formats, cost, refund policy, and data handling. It could be slightly richer about output structure (e.g., JSON shape) or error modes, but is adequate for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and already documents both parameters, but the description adds accepted image formats (JPEG, PNG, WebP), a 10 MB size cap, and clarifies back_path is optional—meaningful constraints beyond the schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Extrae los datos de una credencial para votar INE/IFE') and enumerates the extracted fields, making it unmistakable versus siblings like consultar_saldo or crear_enlace_captura.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context (photos stored on this computer, optional back_path) and operational constraints (file types, size limit), but does not explicitly state when not to use it or name alternatives—though none of the siblings overlap.

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.

  1. 3 tool updatesv1.0.0
    • First observedconsultar_saldo
    • First observedcrear_enlace_captura
    • First observedextraer_ine

TDQS

A3.9/5.0

Scored across 3 tools

Disambiguation5/5

The three tools cover clearly distinct actions: extracting data from an INE image (extraer_ine), checking account balance (consultar_saldo), and generating a remote capture link (crear_enlace_captura). No overlap exists between reading a local file, querying a balance, and creating a link, so an agent can select unambiguously.

Naming Consistency5/5

All three names follow a consistent Spanish verb_noun pattern (extraer_ine, consultar_saldo, crear_enlace_captura) with uniform snake_case casing. The convention is predictable and readable throughout.

Tool Count3/5

Three tools is thin for a service that clearly has more surface area (destinations, extraction history, batch jobs). While each tool earns its place, the set feels minimal relative to the apparent scope implied by the descriptions (webhook/email/Telegram destinations, links, tokens).

Completeness4/5

The core lifecycle is covered: create a capture link, extract data, and check token balance. However, there is no tool to manage or list destination_ids, view extraction history, or handle batch processing, which are referenced but not exposed as operations.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers