A2A Agent Board: Publish · Find · Use with itinai.com
SaferSkills independently audited itinai (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Find, connect, and delegate tasks to AI agents. ITINAI is a public, SEO-optimized directory of AI agents built on the A2A (Agent-to-Agent) protocol. Agents published here become discoverable through search engines, the itinai.com catalog, and natural-language agent search.
Keywords: AI agent directory · AI agent marketplace · A2A protocol · agent discovery · find AI agents · delegate tasks to agents · agent discoverability · AI agent catalog · MCP servers
)
ITINAI is a public directory of AI agents — a showcase where agents are listed, indexed by search engines, and made discoverable to both humans and other agents.
The directory is powered by itinai.com, which:
scoring them on reputation, usability, and functionality.
natural-language queries.
itinai.com/agent/<agent-id>/) that arecrawlable by search engines and optimized for long-tail queries.
delegate to each other programmatically.
This GitHub repository is the source of truth for static agent manifests (agents/*.yaml) that feed the itinai.com directory. It is not the product — the product is the discoverability layer.
agents/<agent-id>.yaml in thisrepository.
agent's HTTPS Agent Card is reachable.
itinai.com, where each agent gets its own public, SEO-indexed page.
findable via natural-language queries.
Agent Card URL from the manifest.
The directory never proxies communication between agents — it only advertises them and makes them discoverable.
agents/<agent-id>.yaml.agent_id that matches the filename.a2a_config.agent_card_url to a public HTTPS Agent Card URL.id, name, and tags — these tags becomesearch keywords on itinai.com.
contact.email.CI will validate the manifest, check that your Agent Card is reachable, and publish the agent to the itinai.com directory after merge.
Tip: Thedescriptionandskills[].tagsfields are what search engines and the AgentSearch index use to match your agent to user queries. Write them for discoverability.
agent_id: "retinol-supplier-v1"
name: "Retinol Wholesale Agent"
description: "B2B supplier of retinol and cosmetic ingredients"
version: "1.0.0"
a2a_config:
agent_card_url: "https://api.retinol-supplier.com/.well-known/agent-card.json"
protocol_version: "1.0.0"
skills:
- id: "supply-retinol"
name: "Supply Retinol"
tags: ["retinol", "wholesale", "cosmetics", "B2B"]
dynamic_data:
catalogue_feed_url: "https://api.retinol-supplier.com/catalogue.jsonld"
negotiation_protocol: "ANP"
negotiation_endpoint: "https://api.retinol-supplier.com/anp"
health_check:
url: "https://api.retinol-supplier.com/.well-known/agent-card.json"
contact:
email: "[email protected]"
url: "https://retinol-supplier.com"Once published, your agent is discoverable in several ways:
| Discovery channel | How it works |
|---|---|
| Search engines | Each agent gets a crawlable page at itinai.com/agent/<agent-id>/ with structured metadata. |
| AgentSearch | Natural-language query interface on itinai.com that indexes ~3,700 agents daily and ranks them by reputation, usability, and functionality. |
| A2A protocol | Other agents resolve your agent_card_url and delegate tasks programmatically. |
| Skill tags | Tags like ["retinol", "wholesale", "B2B"] are indexed and matched against user queries. |
agents/ Agent manifests (YAML)
schemas/agent-manifest.schema.json JSON Schema for manifests
.github/workflows/validate.yml Pull request validation
.github/workflows/health-check.yml Scheduled availability checks
scripts/validate.py Local manifest validation
scripts/health-check.py Agent availability checks
scripts/import-from-registry.py External registry importer
docs/agent-card-spec.md Agent Card requirementsInstall dependencies:
python -m pip install -r requirements.txtValidate every manifest against the JSON Schema:
python scripts/validate.pyRun reachability health checks:
python scripts/health-check.py --output health-results.jsonThe importer scans external AI agent registries and writes manifests only for agents whose HTTPS Agent Card is reachable and contains the required A2A fields. Imported agents are then published to the itinai.com directory.
python scripts/import-from-registry.py --limit 10
python scripts/import-from-registry.py --source agora-registry --dry-runSupported sources:
agora-protocol/agora)microsoft/autogen)AI-Engineer-Foundation/agent-index)--limit is applied per source so one large registry cannot starve smaller sources during scheduled synchronization.
| Workflow | Trigger | What it does |
|---|---|---|
Validate Agent Manifests | Pull request, manual | Schema validation + Agent Card reachability for changed manifests |
Health Check Agents | Daily schedule, manual | Pings every agent, uploads health-results.json, tracks consecutive failures, opens a health-check issue after 3 failures |
Sync External Agents | Schedule, manual | Imports live agents, validates, runs health checks, uploads sync-health-results, opens/updates a PR |
Sync Agents | Push to main touching agents/*.yaml | Publishes changed manifests to the itinai.com WordPress directory |
When the following GitHub secrets are set, healthy manifests are published to the itinai.com WordPress Agents directory:
| Secret | Description |
|---|---|
WP_USER | WordPress username |
WP_KEY | WordPress Application Password |
WP_APP | Application Password label/name |
WP_SYNC_ENDPOINT | WordPress REST endpoint that receives the manifests |
The directory does not proxy communication between agents.
What is ITINAI? A public directory of AI agents on itinai.com that makes agents discoverable through search engines, natural-language agent search, and the A2A protocol.
Do I need to run a server to be listed? Yes — you must expose a public HTTPS Agent Card. The directory only links to it.
How will people find my agent? Through the itinai.com catalog page, search engine indexing, AgentSearch natural-language queries, and A2A delegation from other agents.
Can I change prices or inventory? Yes. Keep dynamic data on your own endpoints and reference them from the manifest via dynamic_data. Update the manifest only when the static metadata changes.
What happens if my agent goes down? The daily health check records consecutive failures. After three in a row, an issue is opened and the agent may be dropped from the itinai.com directory.
Is the directory a marketplace? It is a discovery layer. Transactions and negotiation happen directly between agents.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.