DataCore A2A — Claude Code MCP server: setup and tools
Connects your coding assistant to Vietnamese data tools for postal address normalization, registry lookups and text embeddings.
claude mcp add --env DATACORE_A2A_URL=<DATACORE_A2A_URL> --env DATACORE_MANDATE=<DATACORE_MANDATE> --env DATACORE_SKILLS=<DATACORE_SKILLS> --env DATACORE_TIMEOUT=<DATACORE_TIMEOUT> --transport stdio datacore-a2a -- uvx datacore-a2a-mcpWhat DataCore A2A does
The package acts as a local bridge forwarding stdio commands from your AI client to DataCore API endpoints via HTTPS. Tool definitions generate dynamically from the gateway at startup rather than remaining hardcoded. By default, four read-only operations are active: administrative address parsing into province and ward, geographic validation, registry company search and vector generation.
No records are altered or deleted during tool runs. You need Python 3.9+ and an active account on datacore.vn. Supplying DATACORE_A2A_URL along with either DATACORE_API_KEY or DATACORE_MANDATE is mandatory; missing credentials cause the server process to exit immediately on launch.
What it helps with
- normalize Vietnamese street addresses into province and ward levels
- verify location validity against official administrative records
- retrieve enterprise records by tax identifier or legal name
- calculate vector embeddings for industry descriptions
Example prompts for the agent
- Normalize this address into province, district, and ward: So 1 Ly Thai To, Hoan Kiem, Ha Noi
- Check company details and active status for tax ID 0100109106
- Generate embeddings for wholesale electronics trade and output vector dimensions
How to install DataCore A2A
Platform CLI
claude mcp add --env DATACORE_A2A_URL=<DATACORE_A2A_URL> --env DATACORE_MANDATE=<DATACORE_MANDATE> --env DATACORE_SKILLS=<DATACORE_SKILLS> --env DATACORE_TIMEOUT=<DATACORE_TIMEOUT> --transport stdio datacore-a2a -- uvx datacore-a2a-mcpReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from datacore-a2a-mcp <command>
Platform CLI
codex mcp add datacore-a2a --env DATACORE_A2A_URL=<DATACORE_A2A_URL> --env DATACORE_MANDATE=<DATACORE_MANDATE> --env DATACORE_SKILLS=<DATACORE_SKILLS> --env DATACORE_TIMEOUT=<DATACORE_TIMEOUT> -- uvx datacore-a2a-mcpReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from datacore-a2a-mcp <command>
Config file
{
"mcpServers": {
"datacore-a2a": {
"command": "uvx",
"args": [
"datacore-a2a-mcp"
],
"env": {
"DATACORE_A2A_URL": "<DATACORE_A2A_URL>",
"DATACORE_MANDATE": "<DATACORE_MANDATE>",
"DATACORE_SKILLS": "<DATACORE_SKILLS>",
"DATACORE_TIMEOUT": "<DATACORE_TIMEOUT>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from datacore-a2a-mcp <command>
Config file
{
"servers": {
"datacore-a2a": {
"type": "stdio",
"command": "uvx",
"args": [
"datacore-a2a-mcp"
],
"env": {
"DATACORE_A2A_URL": "<DATACORE_A2A_URL>",
"DATACORE_MANDATE": "<DATACORE_MANDATE>",
"DATACORE_SKILLS": "<DATACORE_SKILLS>",
"DATACORE_TIMEOUT": "<DATACORE_TIMEOUT>"
}
}
}
}Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from datacore-a2a-mcp <command>
Platform CLI
gemini mcp add -e DATACORE_A2A_URL=<DATACORE_A2A_URL> -e DATACORE_MANDATE=<DATACORE_MANDATE> -e DATACORE_SKILLS=<DATACORE_SKILLS> -e DATACORE_TIMEOUT=<DATACORE_TIMEOUT> datacore-a2a uvx datacore-a2a-mcpReplace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from datacore-a2a-mcp <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about DataCore A2A
How to install DataCore A2A in Claude Code?
Run claude mcp add datacore-a2a -e DATACORE_A2A_URL=<DATACORE_A2A_URL> -e DATACORE_MANDATE=<DATACORE_MANDATE> -- uvx datacore-a2a-mcp.
What does DataCore A2A do?
It gives your client native tools to validate addresses in Vietnam, look up local enterprise records, and build embeddings.
Why is DATACORE_API_KEY preferred over DATACORE_MANDATE?
A persistent key lets the local process request and refresh short-lived mandates in memory, preventing authentication failures caused by token expiration.