Portable AI agent identity & reputation layer for cross-framework agent collaboration
Project description
AI-IQ Passport
Give your AI agent a verifiable CV.
Portable AI agent identity and reputation layer that works across A2A, MCP, CrewAI, and any framework.
The Problem
AI agents have no portable identity or reputation. When an agent joins a new swarm, mesh, or framework, it starts from zero:
- No way to prove what it's capable of
- No track record of task completion
- No verifiable credentials or skills
- No reputation that travels between systems
The Solution
AI-IQ Passport creates a cryptographically signed, portable identity card for AI agents. It captures:
- Skills with confidence scores and evidence counts
- Reputation based on feedback, predictions, and task completion
- Task history showing success rates and reliability
- Verifiable signatures using Ed25519 public-key cryptography
Export to any format: A2A Agent Cards, MCP resources, or plain JSON. Your agent's reputation travels with it.
Quick Start
Install:
pip install ai-iq-passport
Generate a passport in 5 lines:
# Generate a passport
ai-iq-passport generate --name "MyAgent" --output agent.json
# Add a skill
ai-iq-passport skill add "Python development" --passport agent.json --confidence 0.9
# Export to A2A format
ai-iq-passport export agent.json --format a2a --output agent-a2a.json
Or import from AI-IQ memory system:
ai-iq-passport generate --name "MyAgent" --from-ai-iq ~/.ai-iq/memories.db
CLI Reference
Generate passport
ai-iq-passport generate --name "AgentName" [OPTIONS]
Options:
--agent-id ID Custom agent ID (auto-generated if omitted)
--from-ai-iq PATH Import skills/reputation from AI-IQ database
--output PATH Output file (default: passport.json)
--traits KEY=VALUE Add custom traits (repeatable)
Manage skills
ai-iq-passport skill add "skill_name" [OPTIONS]
Options:
--passport PATH Passport file (default: passport.json)
--confidence N Confidence 0.0-1.0 (default: 0.7)
--evidence N Evidence count (default: 0)
--tags TAG1,TAG2 Comma-separated tags
Sign and verify
# Generate signing keys
ai-iq-passport keygen --output-dir ./keys
# Sign passport
ai-iq-passport sign passport.json --key ./keys/agent.key
# Verify signature
ai-iq-passport verify passport.json --pubkey ./keys/agent.pub
Export formats
ai-iq-passport export passport.json --format [a2a|mcp|json] --output out.json
View passport
ai-iq-passport show passport.json
ai-iq-passport show passport.json --full # Show full JSON
Refresh from AI-IQ
ai-iq-passport refresh --passport passport.json --from-ai-iq ~/.ai-iq/memories.db
Export Formats
A2A (Agent-to-Agent)
Exports to Google's A2A Agent Card format for multi-agent collaboration:
{
"@context": "https://a2aproject.org/schema",
"@type": "AgentCard",
"id": "agent-123",
"name": "MyAgent",
"capabilities": [
{
"name": "Python development",
"confidence": 0.9,
"evidence_count": 45
}
],
"reputation": {
"score": 0.82,
"task_completion_rate": 0.95
}
}
MCP (Model Context Protocol)
Exports as MCP resource for Claude Desktop and other MCP clients:
{
"uri": "passport://agent-123",
"name": "Agent Passport: MyAgent",
"description": "AI Agent: MyAgent | Skills: Python, API design | Reputation: 0.82",
"mimeType": "application/json",
"annotations": {
"agent_id": "agent-123",
"verified": true,
"reputation_score": 0.82
}
}
Plain JSON
Standard JSON format for custom integrations.
How Reputation Works
Reputation is calculated from four weighted factors:
- Feedback score (35%): Ratio of good/bad/meh feedback from users or other agents
- Prediction accuracy (25%): Percentage of confirmed vs refuted predictions
- Task completion (25%): Ratio of completed vs failed tasks
- Consistency (15%): Regularity of activity over time
Overall score: 0.0 (worst) to 1.0 (best).
When importing from AI-IQ, reputation is calculated from:
feedbacktable: good/bad/meh ratingspredictionstable: confirmed/refuted outcomesmemoriestable withcategory='pending': task completion tracking
Integration Examples
With CrewAI
from passport import AgentCard
from crewai import Agent
# Load passport
card = AgentCard.load("agent.json")
# Create CrewAI agent with passport context
agent = Agent(
role=card.name,
goal=f"Leverage my {len(card.skills)} skills to complete tasks",
backstory=f"I have a reputation score of {card.reputation.overall_score:.2f}",
verbose=True
)
With A2A
from passport import AgentCard
from passport.adapters import export_a2a
card = AgentCard.load("agent.json")
a2a_card = export_a2a(card.to_dict())
# Use in A2A protocol for agent discovery and capability matching
With MCP Server (Claude Code Integration)
AI-IQ Passport includes a native MCP (Model Context Protocol) server that exposes agent passports as resources and tools.
Setup:
- Add to your Claude Code MCP config (
~/.config/claude/mcp.jsonor similar):
{
"mcpServers": {
"ai-iq-passport": {
"command": "python",
"args": ["-m", "passport.mcp_server"]
}
}
}
- Restart Claude Code. The passport server will be available.
Resources:
passport://current- Get current agent's passportpassport://{agent_id}- Get specific agent's passport
Tools:
passport_generate- Generate a new passport (with optional AI-IQ import)passport_verify- Verify passport signaturepassport_skills- List top skills with confidence scorespassport_reputation- Get reputation breakdown
Example usage in Claude Code:
Read passport://current
Use passport_generate to create a passport for "MyAgent" with AI-IQ import from ~/.ai-iq/memories.db
Show me the top 5 skills using passport_skills
The MCP server automatically stores passports at ~/.ai-iq-passport/passport.json and maintains a registry at ~/.ai-iq-passport/registry/ for multi-agent scenarios.
As MCP Resource (Programmatic)
from passport import AgentCard
from passport.adapters import export_mcp
card = AgentCard.load("agent.json")
mcp_resource = export_mcp(card.to_dict())
# Returns MCP-compatible resource dict
Programmatic API
from passport import AgentCard, Skill
# Create passport
card = AgentCard.create(name="MyAgent", agent_id="agent-123")
# Add skills
card.add_skill(Skill(
name="Python development",
confidence=0.9,
evidence_count=45,
tags=["programming", "backend"]
))
# Add traits
card.add_trait("framework", "CrewAI")
card.add_trait("model", "claude-sonnet-4.5")
# Save
card.save("agent.json")
# Load and verify
loaded = AgentCard.load("agent.json")
print(loaded.summary())
What AI-IQ Passport Adds
| Feature | A2A | MCP | CrewAI | AI-IQ Passport |
|---|---|---|---|---|
| Agent identity | Yes | No | No | Yes |
| Capability declaration | Yes | Via tools | No | Yes |
| Reputation tracking | No | No | No | Yes |
| Task history | No | No | No | Yes |
| Cryptographic signing | No | No | No | Yes |
| Cross-framework portability | No | No | No | Yes |
| Feedback-based scoring | No | No | No | Yes |
| Prediction accuracy tracking | No | No | No | Yes |
AI-IQ Passport provides the identity and reputation layer that other frameworks lack. It's designed to work alongside A2A, MCP, and CrewAI, not replace them.
Development
Install with dev dependencies:
pip install -e ".[dev]"
Run tests:
pytest tests/ -v
pytest tests/ --cov=passport --cov-report=html
Format code:
black passport/ tests/
Type check:
mypy passport/
Contributing
Contributions welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes with tests
- Run the test suite (
pytest tests/) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
MIT License - see LICENSE file for details.
MCP Server Installation
To use the MCP server with Claude Code or other MCP clients:
# Install with MCP support
pip install ai-iq-passport[mcp]
# Or if already installed
pip install mcp>=1.0.0
Add to your MCP config (see mcp_config.json for example):
{
"mcpServers": {
"ai-iq-passport": {
"command": "python",
"args": ["-m", "passport.mcp_server"]
}
}
}
Or use the entry point:
{
"mcpServers": {
"ai-iq-passport": {
"command": "ai-iq-passport-mcp"
}
}
}
Restart your MCP client to load the server.
Links
- GitHub: https://github.com/kobie3717/ai-iq-passport
- PyPI: https://pypi.org/project/ai-iq-passport/ (coming soon)
- Issues: https://github.com/kobie3717/ai-iq-passport/issues
- AI-IQ Memory System: https://github.com/kobie3717/ai-iq
- MCP (Model Context Protocol): https://modelcontextprotocol.io/
Author
Built by @kobie3717
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ai_iq_passport-0.2.0.tar.gz.
File metadata
- Download URL: ai_iq_passport-0.2.0.tar.gz
- Upload date:
- Size: 29.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2fcb421dc239b16deebbc47444f5eea52b3158d980bbff07de1e9e1ddf3954f4
|
|
| MD5 |
548b3e934eab4f4cbe98083ad979aa7c
|
|
| BLAKE2b-256 |
c3666c2e6034699e33d6396a80eea1d493ebfdfa0ddd95ad9413c582d2c1d088
|
File details
Details for the file ai_iq_passport-0.2.0-py3-none-any.whl.
File metadata
- Download URL: ai_iq_passport-0.2.0-py3-none-any.whl
- Upload date:
- Size: 24.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d3dca0aa8326be25c8345b9fd2d69bf0023950362b66029201e3b3f2ead1939
|
|
| MD5 |
6281e5a633a4a9933c147f7a7cde0a3a
|
|
| BLAKE2b-256 |
685cfa9cc3f7dc59893b81c1310c382d873d27673706252094212f3f15754544
|