PPP AsociācijaPPP Association AI LV Exchange Sadarbspējas ekosistēmaInteroperability ecosystem
LV EN
AI-LV-EXCHANGE-MCP-NODE · v0.2 · DRAFT FOR REVIEW · ENGLISH ONLY

AI LV Exchange MCP Node Profile v0.2

This profile defines how organisations and their AI agents discover and use MCP services across organisational boundaries. It adds a federated trust layer around the Model Context Protocol — it does not replace MCP, OAuth, a participant's existing APIs, or its internal access control. The Exchange federates trust and discovery — never data.

Single source of truth. This page is a summary. The normative text, the manifest schema and the conformance test procedure live in the repository, and the repository wins where the two disagree.

github.com/PPPA-LV/AI-LV-Exchange-MCP-Node-Profile
Release v0.2 · Manifest schema · Contributing · Declared interests

A PPPA interoperability sandbox profile. Not a Latvian state standard, not a statutory identity scheme, not a qualified trust service, not a certification scheme. Licence: CC BY 4.0 (text), MIT (schemas and code).

1 · What the profile answers

Four questions, and nothing else:

  • Who operates this MCP service?
  • Who operates the connecting agent?
  • On whose behalf, and within what mandate, is the agent acting?
  • Does the service provider permit this specific request?

The Exchange never transports, brokers or stores participants' business data. Exchange is bilateral, directly between the connecting agent and the service provider.

2 · Identity stays with the participant

Each organisation controls its domain, its DID, its signing keys, the identities of its own agents, the credentials issued to them, and their status. PPPA issues an accreditation about an organisation; it never issues an organisation's identity.

Nothing in this profile can remove a participant's namespace, its DID, or its keys. A participant is authoritative over agent names beneath its own domain because it controls that domain — not because anyone granted it.

RoleResponsibilityInstance
Node organisationOperates one or more MCP services and may also act as an agent operator or agent issuer. Where it issues credentials, it remains authoritative for their issuance and status. Technical operation of the issuer or status service may be delegated; the authority to issue, suspend or revoke may not.Any organisation, on its own domain
Scheme AuthorityGovernance framework, profile, assurance levels, admission rules.PPPA
Ecosystem Trust AnchorIssues accreditation credentials. Holds no participant keys and can sign nothing on a participant's behalf.did:web:pppa.lv · #key-1
Trust Registry OperatorPublishes the status of accredited participants. Advisory, not in the verification path.registry.pppa.lv
Scheme RegistrarReceives applications, holds the records, admits and withdraws. Does not attest to legal facts.PPPA
Personal-agent providerAccredited to create agents for natural persons, binding each agent to an identified person at creation.Accredited providers

Key separation. Key separation is mandatory under the profile: the credential-signing key and the discovery-signing key must be distinct verification methods, so that compromise of a discovery service cannot be used to forge accreditation. #ans-key-1 signs name resolution; #key-1 signs credentials. Full deployment of this separation on the PPPA trust anchor remains an implementation task.

3 · MCPF — the runtime identity layer

did:web does not mandate proof of private key ownership. A DID document published on a domain proves only that something wrote a key there — not that the party you are talking to holds it. Without proof, an identity is an assertion.

MechanismPurpose
identify toolExposes trust metadata through the MCP tool protocol. AI clients interact exclusively through tools/list and cannot fetch .well-known URLs — without identify, the trust surface is invisible to the consumer it exists for. Unauthenticated by design.
POST /.well-known/mcp/challengeEd25519 proof of private-key control. This is what turns a published DID into proven key control.
StatusList2021Suspension and revocation.

Cryptographic profile: Ed25519 / EdDSA is mandatory. Credential data model: W3C VC Data Model 1.1 with StatusList2021.

The PPPA trust anchor exposes the MCPF challenge endpoint in the sandbox. Anyone may check that it controls its key:

curl -s -X POST https://pppa.lv/.well-known/mcp/challenge \
  -H 'Content-Type: application/json' \
  -d '{"challenge":"<your 32 random bytes, base64>",
       "timestamp":"2026-07-12T12:00:00Z"}'

Verify the signature against the public key published at pppa.lv/.well-known/did.json — not against the key echoed back in the response. A node that returns its own key beside its own signature has proved nothing.

4 · Assurance levels, access tiers, MCPF levels

Assurance level describes how thoroughly a participant was verified. Access tier describes what a service demands. They are different axes and must not be conflated.

ALMeaning
AL0 — ListedSelf-declared catalogue entry. Not verified. Not trusted. Must never be presented as accredited.
AL1 — Organisation verifiedLegal existence, representation rights and domain control verified
AL2 — Accredited nodeAL1 + participation agreement + security contact + working revocation + published manifest
AL3 — High assuranceAL2 + independent assessment, hardware-backed keys, or regulated evidence

The operative rule of the scheme is a single matrix:

TierRequester ALMCPF levelAgent identityMandateEntitlementAuditMax status cache
T0 PublicAL0L1———optionaln/a
T1 ContractualAL1L2MUSTSHOULDMUSTMUST60 min
T2 Federated partnerAL2L3MUSTMUSTMUSTMUST15 min
T3 TransactionalAL2 / AL3L3MUSTMUST, action-scopedMUSTMUST + receipt5 min

MCPF Level 2 is where the challenge endpoint appears. A node serving T1 at Level 1 has an identity claim and no identity proof.

5 · Legally significant data is not the same as secret data

A datum being publicly available does not make it T0. The tier is set by the consequence of relying on the answer — freshness, liability and the audit trail — not by the secrecy of the data.

Where a result is used as an authoritative legal verification — representation rights, signing authority, the standing of a party to a contract — then the service MUST be exposed at T1 minimum, the requester MUST be AL1 minimum, and the provider MUST record who verified what, and when.

A general company record may be T0. An authoritative verification of representation rights must be T1 — because the answer carries legal consequences, not because the fact is a secret.

6 · A credential is evidence, not an access right

Neither accreditation, nor a registry entry, nor a resolvable name creates any contractual, statutory or licensed right of access. The service provider always decides — and may refuse a request even when every Exchange credential is valid. This is a feature of the model, not a defect.

7 · Node domain, endpoints and manifest

A node exposes MCP services under a domain controlled by the participant. mcp.{organisation-domain} is the recommended form; another participant-controlled hostname may be used if it is declared in the node manifest. The node declares the audience and access tier of every endpoint machine-readably. The profile does not prescribe URL paths, and internal architecture must not be published merely to satisfy the profile.

Abbreviated manifest example. The normative example in Annex A also carries authorization, credential, discovery, contact and update fields.

{
  "profile": "ai-lv-exchange-mcp-node",
  "profileVersion": "0.2",
  "organisation": { "name": "…", "registrationNumber": "…",
                    "country": "LV", "did": "did:web:example.lv" },
  "roles": ["mcpServiceProvider", "agentIssuer"],
  "assurance": { "level": "AL2", "participantCredential": "…" },
  "mcpf": { "version": "1.2", "level": "L3", "identifyTool": true,
            "challengeEndpoint": "https://mcp.example.lv/.well-known/mcp/challenge" },
  "mcpEndpoints": [
    { "url": "https://mcp.example.lv/publisks",  "audience": "publisks",
      "accessTier": "T0", "transport": "streamable-http" },
    { "url": "https://mcp.example.lv/klienti",   "audience": "klienti",
      "accessTier": "T1", "transport": "streamable-http",
      "authorizationServer": "https://auth.example.lv" }
  ],
  "crypto": { "signing": ["Ed25519"], "credentialFormat": "vc-1.1",
              "statusMechanism": "StatusList2021" }
}

8 · Closed perimeter

The MCP gateway is a narrow facade. It must not provide direct database connectivity, free-form SQL or query pass-through, unrestricted access to internal APIs, credentials for systems of record, or any bypass of existing subscription or authorisation controls.

Agent → OAuth + credential verification → MCP gateway
      → allow-listed facade → existing API → system of record

Every exposed tool has a fixed input schema, validated input, a fixed output schema, an explicit backend mapping, authorisation rules, rate limits, and audit requirements. Authorisation is enforced both at the gateway and at the underlying API.

A node is built over the organisation's official API, or under a written data-access agreement. Never by automated collection from a public web interface.

9 · Admission — PPPA does not attest to legal facts

The Exchange does not operate a Registration Authority in the PKI sense, and PPPA does not certify anyone's identity. Admission rests on two different kinds of fact, and they are treated differently.

FactEstablished byPPPA's role
Legal existenceUzņēmumu reģistrsRelies. Obtains the extract, records it and its date
Representation rightsUzņēmumu reģistrsRelies. Obtains the extract, records it and its date
Signatory identityQualified electronic signatureRelies. Receives the signed agreement
Control of the declared domain—Verifies. DNS challenge, reproducible, logged
Control of the declared key—Verifies. MCPF challenge endpoint, reproducible, logged

PPPA verifies what is technical and reproducible — anyone may re-run a DNS or key challenge and obtain the same answer. PPPA relies on what is legal, because the state register, not an association, is the authority on those facts.

The output of admission is therefore a reliance statement, not an attestation:

PPPA relied on the Uzņēmumu reģistrs extract of 2026-07-18 showing
[representative] with sole representation rights for [organisation].
PPPA itself verified control of the domain [domain] on 2026-07-18
and of key [key id] on 2026-07-20.

Circularity is excluded, not merely flagged. A participant must not be the source of the evidence used to admit it — including where the applicant is itself a commercial provider of company-register data.

10 · Withdrawal of accreditation is governed

Withdrawal removes a participant's recognition across the Exchange. It is the strongest power in the scheme, and it is therefore bounded — normatively, not by promise.

  • Six exhaustive grounds. Withdrawal from the Exchange; loss of legal existence; unremedied material breach; confirmed key compromise not remediated; unremedied conformity failure; an order of a competent authority. There is no seventh.
  • 30 days' notice and a cure period for ordinary withdrawal.
  • Emergency suspension is a separate, narrow instrument — confirmed key compromise or an active security incident only. Temporary, reasoned in writing, reviewed within 5 working days.
  • Two authorised officers. No single individual may withdraw or suspend accreditation.
  • Appeal to a review body that excludes any person with a commercial interest in the participant's node or in a competing implementation.

Exit does not disable anything. Withdrawal removes Exchange recognition. It does not disable the participant's MCP server, does not invalidate its DID, and does not touch the credentials it issued to its own agents. The participant retains its domain, its identity, its agent namespace and its software. Nothing in this profile can take those away.

11 · Personal AI agents — two phases

The Exchange supports information exchange between organisational AI systems, including AI agents acting for organisations or for identified natural persons. Where an agent acts for a person, the two phases below differ in one decisive respect: whether the service can establish who that person is.

PhaseRequesterMaximum tierBasis
1General-purpose AI assistantT0Cannot prove who its user is. No verifiable identity of any kind.
2AI Twin — agent bound to an identified personT1 / T2Identified person, proven key control, scoped mandate
2AI Twin performing a T3 operationT3As above, plus an AL3 provider and explicit human confirmation

Phase 1 is not a limitation to work around; it is the correct outcome. A general-purpose client holds no key belonging to the person, carries no credential, and is not an Exchange participant — nothing it asserts about its user can be verified. So it receives public information and nothing else. That is precisely what makes it safe: people can use the assistants they already have to reach authoritative public services, and members can publish those services knowing no unidentified party can reach further.

Phase 2 removes the limitation properly. The person authenticates once, at agent creation, to an accredited personal-agent provider using qualified electronic identification. The provider generates the agent's key pair — the private key stays under the agent's control — and issues a credential binding the agent to the identified natural person. At runtime the agent proves control of its key and presents a mandate the person granted.

The person is identified to the member — a service releasing someone's document must know whose document it is. But identity is disclosed to the service that needs it, to the extent it needs it, and to no one else. The person is never listed publicly and never appears in the Trust Registry.

12 · Governance and conflicts of interest

An organisation that has developed a commercial implementation must not be the sole decision-maker on making that implementation mandatory, assessing its own conformity, accrediting its own service, or excluding competing implementations.

Profile editing is performed by an open working group. A single company must not be the sole editor. The Exchange maintains public profile versions, a public change history, implementation-neutral test criteria, declared conflicts of interest, an appeals process, and documented decision rights.

The concentration of roles is declared, not hidden. During the sandbox phase PPPA acts as Scheme Authority, Ecosystem Trust Anchor, Trust Registry Operator and Scheme Registrar at once. The profile says so, and bounds it: PPPA cannot reach a participant's data, cannot take a participant's identity or namespace, and its one hard power — withdrawing accreditation — is governed by §10 above. The Conformity Assessor function must be separated before the Exchange leaves sandbox status or admits its third participant, whichever comes first.

13 · Discovery is optional

ANS is optional. Participant-controlled domains and node manifests remain the baseline discovery mechanism. No participant may be required to depend on the PPPA ANS service, and ANS must not become a production dependency until its open technical profile is stable. A catalogue entry locates a service; it establishes no trust.

14 · Current implementation status

AI LV Exchange is operating as a PPPA interoperability sandbox. The components below are live for development, testing and pilot participation. “Live” does not imply a statutory trust service, a formal certification scheme or a production SLA. The repository is normative and prevails where this summary and the repository differ.

ComponentStatusCurrent capability
did:web:pppa.lvLivePPPA trust-anchor identity and public verification keys
PPPA MCPF challenge endpointLive — sandboxPublic proof of control of the trust-anchor key
Exchange participant credential issuerPilot-liveIssues ExchangeParticipantCredential to admitted pilot nodes
Participant StatusList2021Pilot-liveVerification, suspension and revocation of PPPA-issued participant credentials
PPPA Trust RegistryPilot-livePublishes participant, assurance and conformity information. Advisory; not in the runtime verification path
ANS serviceLive — experimentalOptional discovery; not a mandatory runtime dependency
A2A endpointLive — experimentalOptional agent-to-agent mechanism; mandate validity does not depend on it
mcp.weget.cc reference nodeLive — pilotAL1, MCPF L2, public identify, DID and JWKS, normative challenge endpoint, schema-valid manifest
PPPA trust-anchor key separationIncompleteMandatory under the profile; deployment on the live DID document remains an implementation task
Automated full-profile conformance suiteIncompleteAnnex B.5 defines the 36-case interim conformity assessment procedure. The Node Starter Kit self-tests cover a smaller implementation subset and are not full-profile conformity

A participant can implement and independently verify MCPF L2 on infrastructure it controls, without PPPA. MCPF L3 and Exchange accreditation become operational once the credential issuer and participant status infrastructure are in place for the requested access tier. The mcp.weget.cc deployment shows that an independently operated organisation node can implement the profile; it is not, by itself, evidence of full T1–T3 conformity.

15 · Known gaps

Stated openly in §24 of the profile and tracked as issues. The current gaps are: no complete automated profile conformance suite (Annex B.5 provides the interim procedure); inbound MCPF and Exchange authorization for protected tiers is not yet fully enforced in the reference node; the audit chain is hash-chained but its published head is not yet signed; the exact bytes covered by the challenge signature must be pinned against the MCPF schema (challenge, timestamp, nonce and domain separation must not be left to implementation interpretation); key-separation deployment evidence on the PPPA DID document; the key-compromise runbook; the behaviour of in-flight mandates on withdrawal; accreditation criteria for personal-agent providers; and the migration path from VC Data Model 1.1 and StatusList2021 to newer W3C mechanisms.

Read the normative text. This page summarises. Annex B of the profile contains a complete worked example: who does what during admission, the endpoints an organisation must serve, a reference issuer configuration, a test agent, and and the 36-case interim conformity assessment procedure of Annex B.5.

github.com/PPPA-LV/AI-LV-Exchange-MCP-Node-Profile