Skip to content

Add agentURI generation and registration UI to ERC-8004 card #13

@a6b8

Description

@a6b8

Summary

Extend the ERC-8004 verdict card on the Validate page to support agentURI generation, editing, copying, and linking to Basescan/Etherscan for on-chain registration and updates.

AgentProbe is read-only — it generates the agentURI JSON but NEVER executes transactions. The user copies the output and pastes it into Basescan/Etherscan with MetaMask.

Three UI States

The ERC-8004 card renders one of three states based on assessment results:

State A: Not Recommended

Condition: No valid MCP or A2A protocol detected.

  • Show warning: "Registration requires at least one agent protocol (MCP or A2A)"
  • No generate button, no JSON output

State B: Ready to Register

Condition: MCP and/or A2A valid, agent NOT found on ERC-8004 registry.

  • Display generated agentURI JSON in a code block
  • Editable fields above JSON: name, description (inline edit or input fields)
  • Two copy buttons:
    • Copy JSON — raw JSON string
    • Copy as Data URIdata:application/json;base64,... encoded
  • Link to Basescan Write Contract → register(string) function:
    • https://basescan.org/address/0x8004a169fb4a3325136eb29fa0ceb6d2e539a432#writeProxyContract
    • https://etherscan.io/address/0x8004a169fb4a3325136eb29fa0ceb6d2e539a432#writeProxyContract

State C: Update Available

Condition: MCP and/or A2A valid, agent already on ERC-8004 registry, changes detected.

  • Show diff: what changed between current on-chain agentURI and new assessment results
  • Display updated agentURI JSON in a code block
  • Editable fields: name, description
  • Two copy buttons: Copy JSON and Copy as Data URI
  • Link to Basescan Write Contract → setAgentURI(uint256, string) function
  • Pre-fill note showing the agentId (already known from assessment)

Contract Details

  • Proxy address: 0x8004a169fb4a3325136eb29fa0ceb6d2e539a432 (same across chains)
  • Registration: register(string agentURI)
  • Update: setAgentURI(uint256 agentId, string agentURI)

Design Constraints

  • No wallet connection, no transaction handling — AgentProbe = read-only data generation
  • User copies the string and pastes it into Basescan/Etherscan + MetaMask
  • UI lives inside the existing ERC-8004 verdict card, NOT a separate page
  • Appears below the existing ERC-8004 status information

Integration

  • The agentURI JSON generation logic lives in mcp-agent-assessment (separate issue in that repo)
  • The validator UI consumes the result from the /api/assess response
  • The assess response should include the generated agentURI data that the UI renders

References

  • mcp-agent-assessment repo: agentURI generation logic (separate issue)
  • context/erc-8004-registry-best-practices.txt — AgentURI schema specification
  • Issue Add ERC-8004 verdict card and detail section #10 — ERC-8004 verdict card (this extends it)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions