Skip to main content
Glama
DataCore-VietNam

vn.datacore/datacore-a2a

Official

DataCore A2A — MCP server

Lets an MCP client (Claude Code, Claude Desktop, VS Code, Cursor…) use DataCore's data skills as native tools: Vietnamese address normalization, address validation, company lookup, embedding generation.

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

Zero dependency, Python 3.9+.

Installation

pip install datacore-a2a-mcp

Related MCP server: database-remote-mcp

Prerequisites

This server is a client, not a service. It needs a DataCore endpoint and a mandate token to call — contact 3TIT to be issued one. Without those two, the server starts up and exits immediately with a message saying which variable is missing.

Configuration

Variable

Required

Meaning

DATACORE_A2A_URL

yes

Base URL of the DataCore endpoint issued to you, e.g. https://api.example.com

DATACORE_MANDATE

yes

AP2 mandate token issued by DataCore — determines which skills can be called and the spend cap

DATACORE_SKILLS

no

Comma-separated list of skill ids to limit the tools, or * for all. Leave blank for the default

DATACORE_TIMEOUT

no

Timeout per request (seconds), default 30

Use the exact URL DataCore issued along with the mandate. A different endpoint will not accept your mandate and will return 401.

Claude Code / Claude Desktop

Add to .mcp.json (project) or the Claude Desktop config:

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

Tools

The tool list is generated from the endpoint, not hardcoded here — so when DataCore adds a skill, restart the server and the new tool appears.

By default, 4 skills wired to the real backend are exposed:

Tool

Skill id

What it does

address_normalize

address.normalize

Normalizes a Vietnamese address into province / district / commune

address_validate

address.validate

Checks whether an address exists per administrative data

company_search

company.search

Looks up a company by name or tax ID

company_embeddings

company.embeddings

Generates embedding vectors for text

Every tool is read-only (readOnlyHint: true): nothing is written, deleted, or created. Calling again with the same input yields the same result.

Three other DataCore skills (company.graph, company.financial-sankey, company.news) are deliberately not exposed: they are currently returning mock/deterministic data. If you want to see them for testing, set DATACORE_SKILLS="*", and don't trust the results.

Examples

The three prompts below run through three different tools:

  1. Address normalization — "Normalize this address into province/district/commune: So 1 Ly Thai To, Hoan Kiem, Ha Noi"

  2. Company lookup — "Find company information for tax ID 0100109106 and tell me its operating status"

  3. Embedding — "Generate an embedding for this industry description and tell me how many dimensions the vector has: bán buôn thiết bị điện tử"

Security model

This server carries the mandate token as-is in the X-AP2-Mandate header for DataCore to verify, and never sets any other authorization header on its own. A client is not a place to grant itself permissions — it only forwards what it was issued, and all allow/deny decisions live on the DataCore side.

The mandate is a bearer credential: whoever holds it can call exactly the skills in it, up to the spend cap, until it expires. Treat it like a password — don't commit a .mcp.json with the token filled in, and if your client supports it, read it from a secret manager instead of leaving it inline.

This package never writes the token to logs, not even partially; the text content you send is not logged either. That is a commitment for the process running on your machine — the service side is a different matter, and PRIVACY.md states plainly what it stores.

Troubleshooting

Logs go to stderr, prefixed with [datacore-mcp]. stdout is the JSON-RPC channel.

Symptom

Common cause

Server exits immediately, MISSING required environment variable

DATACORE_A2A_URL or DATACORE_MANDATE not set

401 on every request

Mandate expired, or DATACORE_A2A_URL is not the endpoint issued with that mandate

402

The mandate's spend cap has been used up

403

Skill is outside the mandate's allowlist — request a mandate that includes that skill

502

The skill's backend on the DataCore side is not responding

No tools appear

DATACORE_SKILLS filtered everything out, or the endpoint has no skills registered

Reporting security issues

mcp-security@datacore.vn. Don't open a public issue for security bugs.

If you suspect your mandate has leaked, report it immediately — don't wait until it expires. We need to know so we can handle it on the service side.

Privacy

See PRIVACY.md. In short: this package runs on your machine, stores nothing, sends nothing anywhere except the DataCore endpoint you configure yourself, and never writes the mandate token to logs.

License

MIT — see LICENSE.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

0Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables remote database access (RDBMS and MongoDB) through MCP tools, supporting read/write queries, schema management, and more.
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables read-only SQL querying and schema inspection across MSSQL, PostgreSQL, and MySQL databases via MCP tools.
  • 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.

View all related MCP servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DataCore-VietNam/datacore-a2a-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server