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
failed observationversion not recorded—
verifiedversion not recorded6 tools
failed observationversion not recorded—
verifiedversion not recorded6 tools
failed observationversion not recorded—