Overview
For agents to collaborate effectively, each needs to understand what others can do. The Capability Discovery Pattern provides mechanisms for agents to advertise their abilities and discover suitable collaborators.
Discovery Mechanisms
Agent Cards (A2A Protocol)
{
"name": "TranslationAgent",
"version": "2.0",
"capabilities": [
{
"skill": "translate",
"languages": ["en", "es", "fr", "de", "zh"],
"max_tokens": 10000
}
],
"endpoint": "https://agent.example.com/a2a",
"authentication": ["oauth2", "api_key"]
}
MCP Tool Lists
{
"tools": [{
"name": "query_database",
"description": "Execute SQL queries",
"inputSchema": {...}
}]
}
DID-Based Discovery (ANP)
Decentralized capability graphs using JSON-LD and W3C DIDs.
Discovery Patterns
Static Registry
Agents register in a central directory:
┌─────────────┐
│ Registry │
│ ┌───────┐ │
│ │Agent A│ │
│ │Agent B│ │
│ │Agent C│ │
│ └───────┘ │
└──────┬──────┘
│
Query: "Who can translate?"
│
Response: [Agent A, Agent C]
Well-Known Endpoints
Agents publish capability documents at standard URLs:
https://agent.example.com/.well-known/agent.json
Peer-to-Peer Broadcast
In decentralized networks, agents broadcast capabilities and maintain local caches.
Semantic Matching
Use embedding similarity to match requests to capabilities:
request_embedding = embed("translate legal document to Spanish")
for agent in agents:
similarity = cosine_sim(request_embedding, agent.capability_embedding)
if similarity > threshold:
candidates.append(agent)
Negotiation Protocols
After discovery, agents negotiate collaboration terms:
Capability Verification
Request proof of claimed capabilities:
Requester: Can you translate this test sentence?
Provider: [Demonstrates capability]
Requester: Verified. Proceeding with task.
Parameter Negotiation
Agree on task parameters:
{
"proposed": {"format": "markdown", "length": "detailed"},
"counter": {"format": "plain_text", "length": "detailed"},
"agreed": {"format": "plain_text", "length": "detailed"}
}
Resource Negotiation
Agree on resource constraints:
- Maximum execution time
- Token budgets
- Cost limits
Security Considerations
Capability Spoofing
Malicious agents may exaggerate capabilities. Defenses:
- Signed capability attestations
- Reputation systems
- Verification challenges
Discovery Spam
Agents may flood discovery systems. Defenses:
- Rate limiting
- Stake-based registration
- Proof-of-work challenges
Implementation Tips
- Cache discovery results with TTL
- Implement fallback agents for critical capabilities
- Monitor capability usage patterns for optimization
- Version capability schemas for backward compatibility