Skip to main content
Glama
DataCore-VietNam

vn.datacore/datacore-a2a

Official

DataCore A2A — MCP server

Permite que un cliente MCP (Claude Code, Claude Desktop, VS Code, Cursor…) use las skills de datos de DataCore como herramientas nativas: normalización de direcciones vietnamitas, verificación de direcciones, consulta de empresas, generación de embeddings.

MCP client (stdio) ──► datacore-mcp ──HTTPS──► DataCore API

Zero dependency, Python 3.9+.

Instalación

pip install datacore-a2a-mcp

Related MCP server: infera-mcp-server

Requisitos previos

Este servidor es un cliente, no un servicio. Necesita un endpoint de DataCore y un token de mandato para realizar llamadas — contacta con 3TIT para que te lo proporcionen. Sin esas dos cosas, el servidor se inicia y sale inmediatamente con un mensaje indicando qué variable falta.

Configuración

Variable

Obligatoria

Significado

DATACORE_A2A_URL

sí

URL base del endpoint de DataCore que se te ha asignado, por ejemplo https://api.example.com

DATACORE_MANDATE

sí

Token de mandato AP2 emitido por DataCore — determina qué skills se pueden invocar y el límite de gasto

DATACORE_SKILLS

no

Lista de ids de skill separados por comas para limitar las herramientas, o * para obtenerlas todas. Vacío usa el valor por defecto

DATACORE_TIMEOUT

no

Timeout de cada petición (segundos), por defecto 30

Usa la URL de DataCore proporcionada junto con el mandato. Un endpoint diferente no aceptará tu mandato y devolverá 401.

Claude Code / Claude Desktop

Añádelo a .mcp.json (proyecto) o a la configuración de Claude Desktop:

{
  "mcpServers": {
    "datacore-a2a": {
      "command": "datacore-mcp",
      "env": {
        "DATACORE_A2A_URL": "https://api.example.com",
        "DATACORE_MANDATE": "<mandate-token>"
      }
    }
  }
}

Herramientas

La lista de herramientas se genera desde el endpoint, no está hardcodeada aquí — así que cuando DataCore añada una skill, reinicia el servidor y verás la nueva herramienta.

Por defecto se exponen 4 skills conectadas al backend real:

Herramienta

Skill id

Qué hace

address_normalize

address.normalize

Normaliza direcciones vietnamitas en provincia / distrito / comuna

address_validate

address.validate

Comprueba si una dirección existe según los datos administrativos

company_search

company.search

Consulta empresas por nombre o código fiscal

company_embeddings

company.embeddings

Genera vectores de embedding para texto

Todas las herramientas son de solo lectura (readOnlyHint: true): no escriben, no borran, no crean nada. Llamar de nuevo con la misma entrada produce el mismo resultado.

Las otras tres skills de DataCore (company.graph, company.financial-sankey, company.news) no se exponen deliberadamente: están devolviendo datos mock/deterministas. Si quieres verlas para probar, pon DATACORE_SKILLS="*", y no te fíes de los resultados.

Ejemplos

Los tres prompts siguientes se ejecutan a través de tres herramientas diferentes:

  1. Normalización de direcciones — "Normaliza esta dirección en provincia/distrito/comuna: So 1 Ly Thai To, Hoan Kiem, Ha Noi"

  2. Consulta de empresas — "Busca información de la empresa con código fiscal 0100109106 y dime su estado de actividad"

  3. Embedding — "Genera un embedding para esta descripción de actividad y dime cuántas dimensiones tiene el vector: venta al por mayor de equipos electrónicos"

Modelo de seguridad

Este servidor transporta el token de mandato tal cual en la cabecera X-AP2-Mandate para que DataCore lo verifique, y no declara ninguna otra cabecera de autorización por su cuenta. Un cliente no es el lugar para otorgarse permisos a sí mismo — solo reenvía lo que se le ha concedido, y todas las decisiones de permitir o denegar residen en el lado de DataCore.

El mandato es una credencial de portador: quien lo tenga puede invocar exactamente las skills incluidas en él, hasta agotar el límite de gasto, hasta que expire. Trátalo como una contraseña — no hagas commit de un .mcp.json con el token rellenado, y si tu cliente lo admite, léelo desde el gestor de secretos en lugar de dejarlo inline.

Este paquete nunca escribe el token en los logs, ni siquiera parcialmente; tampoco el contenido text que envías. Ese es el compromiso para el proceso que se ejecuta en tu máquina — el lado del servicio es otra cuestión, y PRIVACY.md dice claramente qué almacena.

Solución de problemas

Los logs van a stderr, con prefijo [datacore-mcp]. stdout es el canal JSON-RPC.

Síntoma

Causa habitual

El servidor sale inmediatamente, FALTA variable de entorno obligatoria

No se ha definido DATACORE_A2A_URL o DATACORE_MANDATE

401 en todas las peticiones

El mandato ha expirado, o DATACORE_A2A_URL no es el endpoint asignado con ese mandato

402

Se ha agotado el límite de gasto del mandato

403

La skill está fuera de la allowlist del mandato — solicita un mandato con esa skill

502

El backend de esa skill en DataCore no responde

No aparece ninguna herramienta

DATACORE_SKILLS lo ha filtrado todo, o el endpoint no tiene ninguna skill registrada

Reportar fallos de seguridad

mcp-security@datacore.vn. No abras un issue público para fallos de seguridad.

Si sospechas que tu mandato se ha filtrado, repórtalo de inmediato — no esperes a que expire. Necesitamos saberlo para actuar en el lado del servicio.

Privacidad

Consulta PRIVACY.md. En resumen: este paquete se ejecuta en tu máquina, no almacena nada, no envía nada a ningún sitio salvo al endpoint de DataCore que tú mismo configuras, y nunca escribe el token de mandato en los logs.

Licencia

MIT — consulta LICENSE.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables read-only access to company data across PostgreSQL, MongoDB Atlas, and flat files through MCP tools, allowing AI assistants to query and retrieve information via natural language.
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to query internal business data for insights into customers, revenue, subscriptions, sales, and churn through controlled, read-only MCP tools.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to securely query PostgreSQL with pgvector, DynamoDB, and MongoDB Atlas with Vector Search through a read-only, allowlisted MCP interface.
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables governed, read-only SQL analytics, hybrid RAG knowledge search, financial metric calculation, and database schema introspection through MCP, with role-based access control, audit logging, and AI observability.
    -