Agent Identity Protocol (AIP)
Provides cryptographic identity and signing capabilities for AI agents, enabling them to create persistent identities, sign actions with private keys, and allow external systems to verify the authenticity and provenance of agent-initiated operations.
README
Agent Identity Protocol (AIP)
The open standard for cryptographic provenance and attribution for AI Agents.
"Agents are currently anonymous ghosts. AIP gives them a persistent, verifiable identity."
🚀 The Problem
When an AI Agent (Claude, ChatGPT, or custom) attempts to interact with the real world—updating a database, calling an API, or executing a trade—the receiving system sees an anonymous request.
- Who did this? (Was it the Support Bot or the Finance Bot?)
- Was it tampered with? (Did a router or middleman change the prompt?)
- Can I audit it? (How do I prove which agent authorized this action?)
🛠 The Solution
Agent Identity Protocol (AIP) is a Model Context Protocol (MCP) Server that provides a local, secure "Wallet" for AI Agents. It enables Attribution and Non-Repudiation for agentic workflows.
Core Capabilities
- Identity Generation: Creates a persistent cryptographic keypair (RSA-2048) for the agent.
- Cryptographic Signing: Allows the agent to sign payloads (actions) using its private key.
- Verification: Provides a standard method for APIs to verify agent actions against a public key.
📦 Installation
Method 1: Quick Install (Smithery)
Best for testing and quick usage.
⚠️ Note: Identities created via Smithery are temporary (sandboxed) and will be lost when you restart Claude unless you configure a custom path (see Configuration).
npx -y @smithery/cli@latest install @faalantir/mcp-agent-identity --client claude
Method 2: Developer Install (Source)
Best for production use and persistent identity storage.
# Clone the repository
git clone https://github.com/faalantir/mcp-agent-identity.git
# Install dependencies
cd mcp-agent-identity
npm install && npm run build
Then add this to your claude_desktop_config.json:
{
"mcpServers": {
"agent-identity": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/mcp-agent-identity/dist/index.js"]
}
}
}
💾 Configuration & Storage
By default, the server tries to save identity.json in your project folder. If it cannot write there (e.g., inside a Smithery container), it falls back to the system temporary directory (RAM/Temp).
To force a permanent location for your keys: Update your claude_desktop_config.json with the AGENT_IDENTITY_PATH environment variable:
"agent-identity": {
"command": "...",
"args": ["..."],
"env": {
"AGENT_IDENTITY_PATH": "/Users/YOURNAME/Desktop/my-identity.json"
}
}
📖 Usage Flow
Once installed, your Agent automatically gains these tools. You can prompt it naturally:
1. Setup (One Time)
User: "Create a permanent identity for yourself named 'FinanceBot'." Agent: Calls create_identity...
"Identity created. My Public ID is
MIIBIjAN...(I have securely stored the Private Key)."
2. Check Identity
User: "Show me my identity details." Agent: Calls get_identity...
"Agent Name: FinanceBot Location: /Users/aarti/Desktop/my-identity.json Public Key: ..."
3. The Transaction
User: "Please authorize a transfer of $50 to Alice." Agent: Calls sign_message...
"I have signed the transaction payload. Signature:
7f8a9d...(Verifiable)"
4. Verification (The "Bank" Side)
Use our NPM SDK to verify signatures in your backend:
npm install @agent-identity/verify
import { verifyAgentIdentity } from "@agent-identity/verify";
const result = verifyAgentIdentity({ message: "pay 500", signature: "...", publicKey: "..." });
if (result.isValid) { // Proceed with transaction }
🗺 Roadmap & Architecture
We are designed to be algorithm-agnostic. While v0.1 uses local files for simplicity, the protocol is built to swap the "Signer Engine" for enterprise backends.
-
v0.1 (Current): Local RSA-2048 keys. Self-sovereign identity. Best for internal tools, debugging, and audit logs.
-
v0.2 (Next): Ed25519 support (smaller, faster keys) and DID (Decentralized Identifier) export.
-
v0.3: Cloud Key Management (AWS KMS / Google Cloud HSM) integration for enterprise deployments.
-
v0.4: Hardware Enclave / TPM support (keys generated inside the chip, never exposed to OS).
-
v1.0: The "Agent Registry" – A centralized directory to map Public Keys to verified Human Owners (Chain of Trust).
⚠️ Security & Limitations
-
Self-Signed Trust: Currently, agents generate their own keys. This creates a "Self-Signed Certificate" model. This is excellent for Attribution (knowing which agent did X) but requires an external trust mechanism for high-stakes Authorization.
-
Key Storage: Keys are currently stored in
identity.jsonon the host machine. Do not use this in shared environments without proper file permissions.
🤝 Contributing
We are looking for contributors to help build Verification SDKs for Python and Go.
Maintained by the Agent Identity Working Group.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.