aip-agents
AIP identity and delegation for AI agent frameworks. Add cryptographic identity, scoped delegation chains, and audit-ready token flows to your agents in 5 lines of code.
Supports CrewAI, Google ADK, and LangChain.
Install
pip install aip-agents[crewai] # CrewAI
pip install aip-agents[adk] # Google ADK
pip install aip-agents[langchain] # LangChain
pip install aip-agents[all] # All frameworks
Quick Start: CrewAI
from crewai import Crew, Agent, Task
from aip_agents.adapters.crewai import AIPCrewPlugin
plugin = AIPCrewPlugin()
researcher = Agent(role="researcher", ...)
writer = Agent(role="writer", ...)
crew = Crew(agents=[researcher, writer], tasks=[...])
plugin.register(crew) # Each agent gets an AIP identity + delegation token
crew.kickoff()
Quick Start: Google ADK
from google.adk import Agent, Runner
from aip_agents.adapters.adk import AIPAdkPlugin
plugin = AIPAdkPlugin()
agent = Agent(name="coordinator", sub_agents=[worker1, worker2], ...)
runner = Runner(agent=agent)
plugin.register(runner) # Walks agent tree, creates delegation chains
runner.run("task")
Quick Start: LangChain
from langchain.agents import AgentExecutor, create_tool_calling_agent
from aip_agents.adapters.langchain import AIPLangChainPlugin
plugin = AIPLangChainPlugin()
# Register single agent
plugin.register(agent_executor, name="researcher")
# Or register multiple agents (supervisor pattern)
plugin.register_agents({
"researcher": researcher_executor,
"writer": writer_executor,
})
# Get headers for tool calls
headers = plugin.get_tool_call_headers("researcher")
# {"X-AIP-Token": "eyJ..."}
What You Get
When you register a plugin, every agent gets:
- Cryptographic identity - An Ed25519 keypair and AIP identifier (
aip:key:ed25519:z...) - Delegation chain - When a parent agent delegates to a sub-agent, a Biscuit token chain records the delegation with attenuated scope
- Tool call headers -
X-AIP-Tokenheaders ready to attach to outgoing tool/MCP calls
Enable logging to see it in action:
from aip_agents import AIPConfig
plugin = AIPCrewPlugin(AIPConfig(log_tokens=True))
Output:
[AIP] Identity created: researcher -> aip:key:ed25519:z6Fk3...
[AIP] Delegation: manager -> researcher [scope: web_search] [chain depth: 2]
[AIP] Tool call: researcher -> web_search [chain depth: 3, verified]
Configuration
AIPConfig(
app_name="my-app", # Root identity label
auto_identity=True, # Auto-assign identity to every agent
auto_delegation=True, # Auto-create delegation chains
persist_keys=False, # Save keys to ~/.aip/keys/
log_tokens=False, # Log token operations
default_scope=None, # Default scope for root token
)
How It Works
- Identity: Each agent gets an Ed25519 keypair. The public key becomes the agent's AIP identifier.
- Tokens: Authority tokens use Biscuit - an append-only cryptographic token that enforces scope can only narrow, never widen.
- Delegation: When Agent A delegates to Agent B, a new block is appended to A's token with B's identity and attenuated scope. The chain is cryptographically verifiable.
- Tool calls: Tokens are attached via
X-AIP-Tokenheader, compatible with AIP MCP middleware for end-to-end verification.
Links
Metadata
Release files for aip-agents 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aip_agents-0.2.2.tar.gz | 8.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aip_agents-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.4 kB
Release files / aip_agents-0.2.2.tar.gz
| Download URL | aip_agents-0.2.2.tar.gz |
|---|---|
| Size | 8.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5452761a42095158ac20016340ef4723cf25ec0dcd078603bcf1a8470188f132
|
|
BLAKE2b-256 checksum How to use checksums |
e981d344138e7c806e2a69d9ea0b6bcad70a324b723777dee74c289c47496a37
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 8, 2026.
Transparency logRelease files / aip_agents-0.2.2-py3-none-any.whl
| Download URL | aip_agents-0.2.2-py3-none-any.whl |
|---|---|
| Size | 14.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d715aeca97505ebbb1bf3cecf58760ae550a7cb86129f2634e70cda85577b055
|
|
BLAKE2b-256 checksum How to use checksums |
17bf66b6101cd1364d07f93bedf478a1b0fcea9bc7d310a0361d7898f39c5c91
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 8, 2026.
Transparency log