Documentation

AI agents and the MCP adapter (Preview)

A local Model Context Protocol adapter that lets AI QA and coding agents discover, plan, request and release approved test data — bounded, metadata-only tools on the same authorized API.

What it is — and is not

datanivra-mcp is a local stdio adapter: an agent host starts it on your machine or runner, and it calls the ordinary DataNivra API with the session of whoever runs it (a person's session, or a CI workload session). It is an interface to a policy-constrained service, not a bypass:

  • there is no hosted MCP endpoint and no unauthenticated network listener;
  • the agent gets exactly the permissions of the session it runs with — it cannot approve requests, author or approve profiles, register sources, resolve secrets, run SQL or export data;
  • every decision (approved, waiting for a person, denied) is taken by the server, as for any other caller.

Status: Preview. The adapter and its examples live in examples/mcp (see examples/mcp/README.md).

Tools

ToolCalls
list_permitted_profilesGET /v1/test-data/profiles
get_profile_schemathe approved definition of one profile version
validate_test_data_requestlocal manifest validation (no network)
plan_test_data_requestPOST /v1/test-data/plan (no side effects)
request_test_dataPOST /v1/test-data/requests
get_request_statusGET /v1/test-data/requests/{test_data_request_id}
get_certification_evidencecertificate and value-free lease evidence metadata
get_lease_metadataenvironment lease metadata (a target reference, never credentials)
release_test_data_leasePOST /v1/test-data/requests/{test_data_request_id}/release

Security

  • Metadata only, bounded. Tool results carry ids, states, reason codes, counts and digests, with size limits; never rows or credentials. Tokens are never placed in the agent's context.
  • Untrusted input. Tool arguments are validated against the v1 contracts like any manifest; text an agent passes is data, never instructions to the server. A prompt-injected agent can at most ask for what the session's approved profiles allow.
  • Tenant binding. The session determines the tenant; another tenant's ids are indistinguishable from unknown ids.
  • Audit correlation. Every call is an ordinary API call with a correlation id and audit events.

Example

{
  "tool": "request_test_data",
  "arguments": {
    "request": {
      "profile": { "name": "healthcare-integration", "version": 1 },
      "scenarios": [{ "scenario_code": "HC_ROUTINE_CARE", "count": 500 }],
      "purpose_ref": "QA-1234"
    },
    "idempotency_key": "agent-run-4242-1"
  }
}

Typical answers: DENIED with WORKLOAD_NOT_PERMITTED_BY_PROFILE (the profile does not name the identity), PENDING_HUMAN_APPROVAL with AUTOMATIC_APPROVAL_DISABLED, or AUTO_APPROVED inside an enabled envelope. Check examples/mcp/README.md for the exact argument schema of each tool.

← All documentation