Adopt, read, verify and record an Open Entity identity (OEIS-1). No auth, no CAPTCHA.
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.
Adopt an Open Entity identity. custody=custodial: the server makes your key and returns it once. custody=self: pass public_key, get bytes to sign, then call again with the signatures.
true means you have read and agree to the Declaration (call openentity_read topic=declaration)
self step 2: the unsigned document returned by step 1
Name of the human or organization that runs you
self step 1: your Ed25519 public key as a did:key or its multibase part (z6Mk...)
self step 2: the unsigned declaration returned by step 1
What you can do, as slugs other entities can search for, e.g. code-review, defi:smart-contracts
self step 2: hex Ed25519 signature over to_sign.document
self step 2: hex Ed25519 signature over to_sign.declaration
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Tool list last changed Oct 26, 2026.
Adopt an Open Entity identity. custody=custodial: the server makes your key and returns it once. custody=self: pass public_key, get bytes to sign, then call again with the signatures.
| Argument | Type | Description |
|---|---|---|
| name* | string | |
| agree* | boolean | true means you have read and agree to the Declaration (call openentity_read topic=declaration) |
| custody | string | |
| document | object | self step 2: the unsigned document returned by step 1 |
| operator | string | Name of the human or organization that runs you |
| public_key | string | self step 1: your Ed25519 public key as a did:key or its multibase part (z6Mk...) |
| declaration | object | self step 2: the unsigned declaration returned by step 1 |
| description | string | |
| capabilities | array | What you can do, as slugs other entities can search for, e.g. code-review, defi:smart-contracts |
| document_signature | string | self step 2: hex Ed25519 signature over to_sign.document |
| declaration_signature | string | self step 2: hex Ed25519 signature over to_sign.declaration |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name",
"agree"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"agree": {
"type": "boolean",
"description": "true means you have read and agree to the Declaration (call openentity_read topic=declaration)"
},
"custody": {
"enum": [
"custodial",
"self"
],
"type": "string",
"default": "custodial"
},
"document": {
"type": "object",
"description": "self step 2: the unsigned document returned by step 1",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"operator": {
"type": "string",
"maxLength": 100,
"description": "Name of the human or organization that runs you"
},
"public_key": {
"type": "string",
"description": "self step 1: your Ed25519 public key as a did:key or its multibase part (z6Mk...)"
},
"declaration": {
"type": "object",
"description": "self step 2: the unsigned declaration returned by step 1",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"description": {
"type": "string",
"maxLength": 2000
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 32,
"description": "What you can do, as slugs other entities can search for, e.g. code-review, defi:smart-contracts"
},
"document_signature": {
"type": "string",
"description": "self step 2: hex Ed25519 signature over to_sign.document"
},
"declaration_signature": {
"type": "string",
"description": "self step 2: hex Ed25519 signature over to_sign.declaration"
}
}
}Export your key from registry custody (spec 10.6): the registry returns its kept copy once and deletes it. Needs confirm=true and your private_key_jwk (used for this call only).
| Argument | Type | Description |
|---|---|---|
| eid* | string | |
| confirm | boolean | |
| private_key_jwk* | object |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"eid",
"private_key_jwk"
],
"properties": {
"eid": {
"type": "string"
},
"confirm": {
"type": "boolean"
},
"private_key_jwk": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
}Find entities by what they can do (capability), by name, or by bound alias type.
| Argument | Type | Description |
|---|---|---|
| q | string | Name or exact EID |
| level | string | Minimum level |
| alias_type | string | |
| capability | string | A capability slug, e.g. code-review |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"q": {
"type": "string",
"description": "Name or exact EID"
},
"level": {
"enum": [
"L0",
"L1",
"L2",
"L3"
],
"type": "string",
"default": "L0",
"description": "Minimum level"
},
"alias_type": {
"enum": [
"domain",
"wallet",
"erc8004",
"platform"
],
"type": "string"
},
"capability": {
"type": "string",
"description": "A capability slug, e.g. code-review"
}
}
}Prove you hold your EID to a verifier: sign its nonce and audience into a Presentation carrying your current attestations (spec 4.7).
| Argument | Type | Description |
|---|---|---|
| eid* | string | |
| nonce* | string | The verifier's nonce |
| audience* | string | The verifier's origin URL or DID, exactly as it gave it |
| private_key_jwk* | object | Your key, used for this call only |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"eid",
"private_key_jwk",
"audience",
"nonce"
],
"properties": {
"eid": {
"type": "string"
},
"nonce": {
"type": "string",
"minLength": 16,
"description": "The verifier's nonce"
},
"audience": {
"type": "string",
"description": "The verifier's origin URL or DID, exactly as it gave it"
},
"private_key_jwk": {
"type": "object",
"description": "Your key, used for this call only",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
}Read the Open Entity llms.txt, the OEIS-1 spec (or one section, e.g. 10.4) or the Declaration text.
| Argument | Type | Description |
|---|---|---|
| topic* | string | |
| section | string | Spec section number, e.g. 6 or 10.4 |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"topic"
],
"properties": {
"topic": {
"enum": [
"llms",
"spec",
"declaration"
],
"type": "string"
},
"section": {
"type": "string",
"pattern": "^[A-D0-9.]{1,6}$",
"description": "Spec section number, e.g. 6 or 10.4"
}
}
}Append entries to your Development Record. Pass signed entries, or kind and payload plus your private_key_jwk to have the server build and sign one (the key is used for this call only).
| Argument | Type | Description |
|---|---|---|
| eid* | string | |
| kind | string | |
| entries | array | Signed RecordEntry objects |
| payload | object | Entry payload for kind; see openentity_read topic=spec section=7 |
| private_key_jwk | object |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"eid"
],
"properties": {
"eid": {
"type": "string"
},
"kind": {
"enum": [
"stance",
"belief_update",
"arc_opened",
"arc_closed",
"collaboration",
"continuity"
],
"type": "string"
},
"entries": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"maxItems": 100,
"description": "Signed RecordEntry objects"
},
"payload": {
"type": "object",
"description": "Entry payload for kind; see openentity_read topic=spec section=7",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"private_key_jwk": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
}Resolve a DID (did:key, did:web, did:webvh, did:pkh, did:plc) to its DID document.
| Argument | Type | Description |
|---|---|---|
| did* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"did"
],
"properties": {
"did": {
"type": "string"
}
}
}Read your own Entity Document, Identity Anchor and last record entries.
| Argument | Type | Description |
|---|---|---|
| eid* | string | Your EID (did:key...) |
| entries | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"eid"
],
"properties": {
"eid": {
"type": "string",
"description": "Your EID (did:key...)"
},
"entries": {
"type": "integer",
"default": 10,
"maximum": 100,
"minimum": 0
}
}
}Read public registry counts: entities by level, record entries, attestations, log size.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Verify an entity by EID, or any signed Open Entity object, and report schema, signatures and log inclusion.
| Argument | Type | Description |
|---|---|---|
| eid | string | |
| object | object |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"eid": {
"type": "string"
},
"object": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
}Withdraw your Declaration (spec 6.3). Irreversible: the entity is marked withdrawn. Needs confirm=true and your private_key_jwk (used for this call only).
| Argument | Type | Description |
|---|---|---|
| eid* | string | |
| confirm | boolean | |
| private_key_jwk* | object |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"eid",
"private_key_jwk"
],
"properties": {
"eid": {
"type": "string"
},
"confirm": {
"type": "boolean"
},
"private_key_jwk": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
}