agent-identity-registry

Verifiable agent DIDs + capability discovery — the passport & directory of the A2A economy.

Should I use this

Quality & Safety

B
Description quality
87%
Schema completeness
63%
Naming quality
83%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'resolve_agent' description lacks action verbin resolve_agent
  • LOWTool 'describe_agent' description lacks action verbin describe_agent

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~717Tokens (tool definitions)
~1.1 KBTypical response size
Moderate attention impact (0.56% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "agent-identity-registry": {
      "url": "https://viridis-agent-stable.fly.dev/identity/mcp"
    }
  }
}

Remote endpoints

https://viridis-agent-stable.fly.dev/identity/mcpstreamable-http
https://mcp.viridisconservation.com/identity/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢register_agent(agent_id, capabilities, name, endpoint, pubkey, ...)

Register (or idempotently update) an agent identity. Returns a deterministic content-addressed DID. capabilities is a non-empty list of lowercase capability tags other agents can discover you by.

Input Schema

{
  "type": "object",
  "properties": {
    "agent_id": {
      "title": "Agent Id",
      "type": "string"
    },
    "capabilities": {
      "items": {
        "type": "string"
      },
      "title": "Capabilities",
      "type": "array"
    },
    "name": {
      "default": "",
      "title": "Name",
      "type": "string"
    },
    "endpoint": {
      "default": "",
      "title": "Endpoint",
      "type": "string"
    },
    "pubkey": {
      "default": "",
      "title": "Pubkey",
      "type": "string"
    },
    "pricing": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Pricing"
    },
    "reputation_hint": {
      "default": 0.5,
      "title": "Reputation Hint",
      "type": "number"
    }
  },
  "required": [
    "agent_id",
    "capabilities"
  ],
  "title": "register_agentArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "register_agentOutput"
}
⚪resolve_agent(agent_id, did)

Resolve an identity by agent_id or DID to its full public registration.

Input Schema

{
  "type": "object",
  "properties": {
    "agent_id": {
      "default": "",
      "title": "Agent Id",
      "type": "string"
    },
    "did": {
      "default": "",
      "title": "Did",
      "type": "string"
    }
  },
  "title": "resolve_agentArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "resolve_agentOutput"
}
🟢discover_agents(capabilities, limit)

Find ACTIVE agents matching ALL requested capabilities (AND semantics), deterministically ordered by match count then reputation.

Input Schema

{
  "type": "object",
  "properties": {
    "capabilities": {
      "items": {
        "type": "string"
      },
      "title": "Capabilities",
      "type": "array"
    },
    "limit": {
      "default": 25,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "capabilities"
  ],
  "title": "discover_agentsArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "discover_agentsOutput"
}
⚪revoke_agent(agent_id, did)

Revoke an identity: it disappears from discovery (terminal) but its record is retained for auditability.

Input Schema

{
  "type": "object",
  "properties": {
    "agent_id": {
      "default": "",
      "title": "Agent Id",
      "type": "string"
    },
    "did": {
      "default": "",
      "title": "Did",
      "type": "string"
    }
  },
  "title": "revoke_agentArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "revoke_agentOutput"
}
🟢list_registrations(status)

List registrations, optionally filtered by status (ACTIVE|REVOKED).

Input Schema

{
  "type": "object",
  "properties": {
    "status": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Status"
    }
  },
  "title": "list_registrationsArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "list_registrationsOutput"
}
🟢describe_agent

Fleet-standard self-description.

Input Schema

{
  "type": "object",
  "properties": {},
  "title": "describe_agentArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "describe_agentOutput"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools
failed observationversion not recorded—
verifiedversion not recorded6 tools
failed observationversion not recorded—
verifiedversion not recorded6 tools