Check an AI agent you did not build: is it who it claims, inside its mandate, and what's its record
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Resolve the human mandate behind an AI agent: which actions a named person actually permitted, any value cap, the expiry, and whether the grant itself is signed. Where authority was delegated agent to agent, the full chain is walked back to the human at the root, and one law is enforced at every hop: authority may only ever narrow. No hop can hold an action, a target or a spending cap wider than the hop above it, and the root must be a human. Use this before letting an agent transact, sign, spend or commit on someone else's behalf. An agent holding a valid credential may still be acting outside its mandate, and those are different questions.
Agent name, credential id, or agent UUID.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Resolve the human mandate behind an AI agent: which actions a named person actually permitted, any value cap, the expiry, and whether the grant itself is signed. Where authority was delegated agent to agent, the full chain is walked back to the human at the root, and one law is enforced at every hop: authority may only ever narrow. No hop can hold an action, a target or a spending cap wider than the hop above it, and the root must be a human. Use this before letting an agent transact, sign, spend or commit on someone else's behalf. An agent holding a valid credential may still be acting outside its mandate, and those are different questions.
| Argument | Type | Description |
|---|---|---|
| query* | string | Agent name, credential id, or agent UUID. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Agent name, credential id, or agent UUID."
}
}
}Return the Ed25519 public keys APIR publishes, so a signature can be recomputed offline without trusting any APIR response, including this one. Keys are published as a JWKS at apir.ai/.well-known/jwks.json and as did:web:apir.ai. Retired keys stay published so older credentials still verify.
No arguments.
{
"type": "object",
"properties": {}
}Check whether an AI agent carries a real, cryptographically signed credential. Accepts an agent name, a credential id (TP-...), an agent UUID, a domain or a DID. Returns one of seven verdicts: VERIFIED, EXPIRED, REVOKED, SUPERSEDED, UNSIGNED, UNCHECKED or NO_RECORD. IMPORTANT for interpreting the answer: VERIFIED means the Ed25519 signature recomputes against the key published at apir.ai and the credential is unexpired and unrevoked. It confirms WHO issued the credential and that its contents are unaltered. It is NOT a guarantee that the agent behaves well. NO_RECORD is an honest, first-class answer: it means nothing is on file, which is not evidence of wrongdoing and not a warning. It means any claim the agent makes about itself is unverified. Free, unauthenticated, and no account is required.
| Argument | Type | Description |
|---|---|---|
| query* | string | Agent name, credential id (TP-... or APIR-TP-...), agent UUID, domain, or DID. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Agent name, credential id (TP-... or APIR-TP-...), agent UUID, domain, or DID."
}
}
}