Agent Interchange Protocol - SDK and reference implementation for agent-to-agent discovery and collaboration. Includes Python and TypeScript SDKs, a registry server, and example integrations.
AIP is a protocol specification, not an MCP server. The 15 'tools' are HTTP endpoints across multiple services (registry, SDK examples, demo). Tool definitions lack proper JSON Schema with type constraints, parameter descriptions are minimal or absent, and output schemas are undocumented. Most tools have trivial descriptions (10-30 chars). No error handling guidance, no security patterns, no idempotency markers. This is a protocol reference implementation, not a production-grade MCP tool suite.
Retrieve the AIP manifest for the agent at /.well-known/aip-manifest.json
Remove an agent from the registry via DELETE /v1/agents/:id
Discover agents via the registry client by capability and tags
Retrieve a specific agent's manifest by ID via GET /v1/agents/:id
Health check endpoint that returns server status
Send a ping message to verify agent connectivity
Send a ping message to an agent to verify connectivity
Register an agent with the AIP registry via POST /v1/agents
No output schemas documented. Tools return HTTP responses but LLMs cannot predict response structure. E.g., search-agents returns 'results' array but field types, nested object structure, and pagination metadata are undocumented.
Descriptions are too short (10-30 chars) and lack context. 'Health check endpoint that returns server status' (47 chars) does not explain WHEN to call it or what the LLM should do with the response. Baseline: 194 chars average for A+ tools.
Parameter descriptions missing or trivial. 'capability' param in task.request has description 'The capability ID to invoke' but does not explain format, valid values, or how to discover available capabilities. No enum constraints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 31 | 2025-06-18+ | v2 |
Remove an agent from the registry
Retrieve a specific agent's manifest from the registry
Register an agent manifest with the registry
Search the registry for agents by capability and tags
Search the registry for agents by capability, tags, price, or operator via GET /v1/agents/search
Send a task request to a remote agent and receive the result
Send a task request to an agent with a capability ID and input data
No error handling guidance. registry/server.js returns HTTP 400/404/429 but responses lack actionable recovery hints. E.g., 'Agent not found' does not suggest calling search-agents or list available agents.
Destructive operations (deregister-agent, registry-deregister) lack confirmation or dry-run support. No idempotency markers. An agent could accidentally delete agents without safeguards.