A transport-agnostic standard for AI agents to identify themselves when interacting with services.
Not all AI agents make network requests—some operate locally or use proprietary protocols. However, an increasing number of agents interact with external services—whether fully autonomously, semi-autonomously, or under human direction.
When AI agents do interact with external services, there's no standardized way for them to identify themselves. AAIP fills this gap with a canonical identity format that works across HTTP, gRPC, WebSocket, MCP, and SDK-level integrations.
<vendor>/<model> (<application>; <version>) [aid=<agent-id>]
AI-Agent: OpenAI/GPT-5.2 (MyApp; 1.2.0) [aid=atlas-prod]
| Component | Value | Required |
|---|---|---|
| Vendor | OpenAI |
✅ |
| Model | GPT-5.2 |
✅ |
| Application | MyApp |
✅ |
| Version | 1.2.0 |
✅ |
| Agent ID | abc123 |
❌ |
| Document | Description |
|---|---|
| SPECIFICATION.md | Core protocol specification |
| BINDINGS.md | HTTP, gRPC, WebSocket, MCP, SDK bindings |
| VERIFICATION.md | Signed headers, JWT, mTLS verification |
| FAQ.md | Common questions answered |
| USAGE_GUIDE.md | Developer implementation guide |
| SAMPLES.md | Example identity strings |
| SDK_INTEGRATION.md | Framework integration guides |
HTTP:
headers = {
"AI-Agent": "OpenAI/GPT-5.2 (MyApp; 1.0) [aid=atlas-prod]"
}
response = requests.get("https://example.com", headers=headers)gRPC:
metadata = [('x-ai-agent', 'OpenAI/GPT-5.2 (MyApp; 1.0) [aid=atlas-prod]')]
response = stub.MyMethod(request, metadata=metadata)| Feature | Description |
|---|---|
| Transport-Agnostic | Same format for HTTP, gRPC, WebSocket, MCP |
| Identity + Capabilities | Separate layers for different disclosure needs |
| Stable Agent ID | aid= for analytics and allowlists |
| Verification | Optional cryptographic authenticity |
| Delegation | Support for multi-agent orchestration |
- Transparency: Servers can distinguish AI traffic from human traffic
- Traffic Management: Rate limits and policies per agent
- Analytics: Track AI usage patterns with stable IDs
- Security: Verify agent identity when needed
- Interoperability: Common format across protocols
⚠️ Self-Reporting: Core AAIP is self-reported and can be spoofed. Use verification extensions when trust is required.
This is a proposed standard. Feedback and contributions welcome via GitHub issues.
MIT
Toward an Internet of AI Agents (IoA) with transparent, interoperable identity.