Skip to main content
AgentLedger’s capability ontology is the shared vocabulary that makes agent discovery possible. When you register a service, you declare its capabilities using this taxonomy. When an agent searches for a service, it queries against the same vocabulary. The entity that controls this vocabulary controls discovery across every registry that adopts it — which is why the ontology is the most strategically important artifact AgentLedger publishes.

Design rules

The ontology follows five structural rules that enforce clarity and prevent ambiguity:
  1. Root categories are DOMAINS — what world does this capability touch?
  2. L2 categories are FUNCTIONS — what class of action does this perform?
  3. L3 tags are CAPABILITIES — what specific thing can your service do?
  4. Every capability must be a verb phrase — agents operate in actions, not categories.
  5. No capability appears in two branches — this forces precision in how you declare what your service does.
These rules mean you cannot claim a capability just because your service is adjacent to it. If your service books flights, you declare travel.air.book — not travel.air or a custom tag you invented.

The taxonomy tree

The current ontology covers five root domains with 20 L2 function branches and 65 L3 capability tags. Use the exact dot-notation strings below when you populate the capabilities field in your Agent Manifest.
ROOT
├── TRAVEL
│   ├── travel.air
│   │   ├── travel.air.search
│   │   ├── travel.air.book
│   │   ├── travel.air.cancel
│   │   └── travel.air.track
│   ├── travel.ground
│   │   ├── travel.ground.rail
│   │   ├── travel.ground.car_rental
│   │   └── travel.ground.rideshare
│   ├── travel.lodging
│   │   ├── travel.lodging.search
│   │   ├── travel.lodging.book
│   │   └── travel.lodging.cancel
│   └── travel.documents
│       ├── travel.documents.visa
│       └── travel.documents.passport

├── FINANCE
│   ├── finance.payments
│   │   ├── finance.payments.send
│   │   ├── finance.payments.request
│   │   └── finance.payments.verify
│   ├── finance.accounts
│   │   ├── finance.accounts.balance
│   │   ├── finance.accounts.history
│   │   └── finance.accounts.open
│   ├── finance.investment
│   │   ├── finance.investment.quote
│   │   ├── finance.investment.trade
│   │   └── finance.investment.analyze
│   └── finance.insurance
│       ├── finance.insurance.quote
│       └── finance.insurance.claim

├── HEALTH
│   ├── health.appointments
│   │   ├── health.appointments.book
│   │   ├── health.appointments.cancel
│   │   └── health.appointments.remind
│   ├── health.records
│   │   ├── health.records.retrieve
│   │   ├── health.records.share
│   │   └── health.records.summarize
│   ├── health.pharmacy
│   │   ├── health.pharmacy.refill
│   │   ├── health.pharmacy.check
│   │   └── health.pharmacy.locate
│   └── health.monitoring
│       ├── health.monitoring.vitals
│       └── health.monitoring.alert

├── COMMERCE
│   ├── commerce.shopping
│   │   ├── commerce.shopping.search
│   │   ├── commerce.shopping.compare
│   │   ├── commerce.shopping.purchase
│   │   └── commerce.shopping.return
│   ├── commerce.subscriptions
│   │   ├── commerce.subscriptions.create
│   │   ├── commerce.subscriptions.cancel
│   │   └── commerce.subscriptions.modify
│   ├── commerce.delivery
│   │   ├── commerce.delivery.track
│   │   ├── commerce.delivery.schedule
│   │   └── commerce.delivery.redirect
│   └── commerce.reviews
│       ├── commerce.reviews.retrieve
│       └── commerce.reviews.analyze

└── PRODUCTIVITY
    ├── productivity.calendar
    │   ├── productivity.calendar.read
    │   ├── productivity.calendar.create
    │   ├── productivity.calendar.schedule
    │   └── productivity.calendar.cancel
    ├── productivity.communication
    │   ├── productivity.communication.email_send
    │   ├── productivity.communication.email_read
    │   ├── productivity.communication.sms
    │   └── productivity.communication.notify
    ├── productivity.documents
    │   ├── productivity.documents.create
    │   ├── productivity.documents.retrieve
    │   ├── productivity.documents.sign
    │   └── productivity.documents.summarize
    └── productivity.automation
        ├── productivity.automation.trigger
        ├── productivity.automation.monitor
        └── productivity.automation.report

Why these five roots?

These domains map to where autonomous agents will first replace human action — and where the liability stakes are highest. They are also almost entirely uncovered by MCP’s current adoption, which skews heavily toward developer tooling.
MCP coverageAgentLedger coverage
Database connectorsTravel
GitHub / CI-CDFinance
Communication platformsHealth
Cloud infrastructureCommerce + Productivity
If your service operates in a domain not yet covered by the ontology — legal, government, real estate — hold on: v0.2 adds those roots. In the meantime, open an issue on GitHub to flag your use case and influence the expansion.

Version roadmap

The ontology is versioned independently of the AgentLedger registry. You can pin your manifest to a specific ontology version.
VersionScope
v0.1 (current)5 roots, 20 L2 branches, 65 L3 capabilities
v0.2Add LEGAL, GOVERNMENT, REAL_ESTATE roots
v0.3Add L4 sub-capability parameters + input/output schemas
v1.0Full semantic embeddings trained on ontology + real service descriptions
The ontology is an open standard. Propose changes, flag gaps, or request new branches by opening an issue on GitHub.