{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"vn.datacore/datacore-a2a","description":"Normalise Vietnamese addresses and look up companies by name or tax code, through DataCore A2A.","title":"DataCore A2A","repository":{"url":"https://github.com/DataCore-VietNam/datacore-a2a-mcp","source":"github"},"version":"0.2.5","packages":[{"registryType":"pypi","identifier":"datacore-a2a-mcp","version":"0.2.5","transport":{"type":"stdio"},"environmentVariables":[{"description":"Base URL of the DataCore gateway, for example https://gateway.datacore.vn. It must be the gateway — pointing straight at the orchestrator is always rejected with 401.","isRequired":true,"name":"DATACORE_A2A_URL"},{"description":"Long-lived credential shaped dck_..., created with POST /mcp/credentials — see the README. The server exchanges it for short-lived mandates and refreshes them itself, so it never has to be replaced on expiry. Either this or DATACORE_MANDATE is required.","isSecret":true,"name":"DATACORE_API_KEY"},{"description":"A hand-issued AP2 mandate, the older way. Not refreshed: when it expires you replace it and restart. Use it only if you were set up this way; otherwise use DATACORE_API_KEY.","isSecret":true,"name":"DATACORE_MANDATE"},{"description":"Comma-separated skill ids to narrow the tools that get exposed, or * for every skill the endpoint returns. Empty uses the default four.","name":"DATACORE_SKILLS"},{"description":"Per-request timeout in seconds. Defaults to 30.","name":"DATACORE_TIMEOUT"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-27T08:15:33.133716Z","publishedAt":"2026-10-27T08:15:33.133716Z","updatedAt":"2026-10-27T08:15:33.133716Z","isLatest":true}}}
