Rank
70
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
Verifiable identity for every AI agent | lightweight, open-source, works with LangChain/CrewAI/AutoGen AgentID **Verifiable identity for every AI agent.** $1 $1 Built by $1 --- Every production AI agent today either shares human credentials (dangerous) or runs with no identity, no audit trail, and no scoped permissions. AgentID fixes this. AgentID is a **lightweight, open-source identity provider + audit service + SDKs** that gives every AI agent its own verifiable identity, short-lived scoped credentials, and automat Capability contract not published. No trust telemetry is available yet. 2 GitHub stars reported by the source. Last updated 4/15/2026.
Freshness
Last checked 4/15/2026
Best For
Agent-ID is best for crewai, multi-agent workflows where OpenClaw compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB REPOS, runtime-metrics, public facts pack
Verifiable identity for every AI agent | lightweight, open-source, works with LangChain/CrewAI/AutoGen AgentID **Verifiable identity for every AI agent.** $1 $1 Built by $1 --- Every production AI agent today either shares human credentials (dangerous) or runs with no identity, no audit trail, and no scoped permissions. AgentID fixes this. AgentID is a **lightweight, open-source identity provider + audit service + SDKs** that gives every AI agent its own verifiable identity, short-lived scoped credentials, and automat
Public facts
5
Change events
1
Artifacts
0
Freshness
Apr 15, 2026
Capability contract not published. No trust telemetry is available yet. 2 GitHub stars reported by the source. Last updated 4/15/2026.
Trust score
Unknown
Compatibility
OpenClaw
Freshness
Apr 15, 2026
Vendor
Pedroshakoor
Artifacts
0
Benchmarks
0
Last release
Unpublished
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. 2 GitHub stars reported by the source. Last updated 4/15/2026.
Setup snapshot
Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Pedroshakoor
Protocol compatibility
OpenClaw
Adoption signal
2 GitHub stars
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
python
bash
git clone https://github.com/Pedroshakoor/Agent-ID cd Agent-ID make dev # starts backend + frontend + postgres + redis via Docker Compose
bash
curl -X POST http://localhost:8000/v1/agents \
-H "Content-Type: application/json" \
-d '{"name": "my-agent", "owner_id": "user-123"}'bash
curl -X POST http://localhost:8000/v1/agents \
-H "Content-Type: application/json" \
-d '{"name": "my-agent", "owner_id": "user-123"}'
# → { "id": "...", "api_key": "agid_..." }python
pip install agentid
python
from agentid import AgentIDClient
async with AgentIDClient(
base_url="http://localhost:8000",
agent_id="your-agent-id",
api_key="agid_your_key",
) as client:
token = await client.get_token() # short-lived RS256 JWT
await client.log_action( # audit every action
action="email:send",
resource="user@example.com",
result="allowed",
)
allowed, reason = await client.verify( # check policy before acting
"email:send", "user@example.com"
)bash
npm install @agentid/sdk
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB REPOS
Editorial quality
ready
Verifiable identity for every AI agent | lightweight, open-source, works with LangChain/CrewAI/AutoGen AgentID **Verifiable identity for every AI agent.** $1 $1 Built by $1 --- Every production AI agent today either shares human credentials (dangerous) or runs with no identity, no audit trail, and no scoped permissions. AgentID fixes this. AgentID is a **lightweight, open-source identity provider + audit service + SDKs** that gives every AI agent its own verifiable identity, short-lived scoped credentials, and automat
Verifiable identity for every AI agent.
Built by @pedroshakoor
Every production AI agent today either shares human credentials (dangerous) or runs with no identity, no audit trail, and no scoped permissions. AgentID fixes this.
AgentID is a lightweight, open-source identity provider + audit service + SDKs that gives every AI agent its own verifiable identity, short-lived scoped credentials, and automatic action logging — without ever using human credentials.
Works with LangChain, LangGraph, CrewAI, AutoGen, OpenAI Agents, LlamaIndex — or any custom agent.
Research from Strata, Teleport, and Cisco (March 2026) consistently identifies "unmanaged agent identities" as the #1 enterprise blocker for AI adoption:
AgentID solves this in 5 lines of code.
git clone https://github.com/Pedroshakoor/Agent-ID
cd Agent-ID
make dev # starts backend + frontend + postgres + redis via Docker Compose
Dashboard: http://localhost:3000 · API docs: http://localhost:8000/docs
curl -X POST http://localhost:8000/v1/agents \
-H "Content-Type: application/json" \
-d '{"name": "my-agent", "owner_id": "user-123"}'
# → { "id": "...", "api_key": "agid_..." }
Python:
pip install agentid
from agentid import AgentIDClient
async with AgentIDClient(
base_url="http://localhost:8000",
agent_id="your-agent-id",
api_key="agid_your_key",
) as client:
token = await client.get_token() # short-lived RS256 JWT
await client.log_action( # audit every action
action="email:send",
resource="user@example.com",
result="allowed",
)
allowed, reason = await client.verify( # check policy before acting
"email:send", "user@example.com"
)
TypeScript:
npm install @agentid/sdk
import { AgentIDClient } from "@agentid/sdk";
const client = new AgentIDClient({
baseUrl: "http://localhost:8000",
agentId: process.env.AGENTID_AGENT_ID!,
apiKey: process.env.AGENTID_API_KEY!,
});
const token = await client.getToken();
await client.logAction({ action: "stripe:charge", resource: "usd:99" });
await client.assertAllowed("stripe:charge", "usd:99"); // throws if denied
LangChain (2 lines):
from agentid.middleware.langchain import agentid_langchain_middleware
tools = agentid_langchain_middleware(tools=my_tools, client=client)
# Every tool call is now verified + audited automatically
graph TB
subgraph YourAgent[Your Agent]
A[Agent Code] -->|1. get token| SDK[AgentID SDK]
A -->|3. use token| EXT[External APIs]
A -->|4. log action| SDK
end
subgraph AgentIDServer[AgentID Server]
SDK -->|2. issue JWT| CRED[Credential Service RS256]
CRED --> DB[(PostgreSQL)]
CRED --> POLICY[Policy Engine]
SDK --> AUDIT[Audit Service]
AUDIT --> DB
end
subgraph ExternalService[External Service]
EXT -->|5. verify token| VER[verify endpoint]
VER --> POLICY
VER -->|allowed or denied| EXT
end
subgraph Dashboard[Dashboard]
DASH[Next.js UI] --> DB
end
Flow:
/v1/verify to confirm the token is valid + action is allowedEvery agent gets a unique agent_id and an api_key (shown only once). The api_key is used to request short-lived credentials. It never appears in the JWT.
JWTs contain:
agent_id, owner_id — identityscope.policies — what this agent is allowed to doexp, iat, jti — expiry, issued-at, unique ID (for revocation)Default TTL: 15 minutes. Configurable per-agent or per-request.
Policies are simple JSON documents. Multiple policies can be attached to an agent:
{
"effect": "allow",
"resources": ["email:*", "calendar:read:*"],
"actions": ["read", "send"],
"conditions": {
"max_daily": 100,
"time_window": { "start": "09:00", "end": "17:00" },
"ip_allowlist": ["10.0.0.0/8"]
}
}
Effect: allow or deny. Explicit deny always wins.
Resources: Glob patterns matching namespace:subresource:...
email:* — all email resourcesfile:read:* — any read on any filestripe:charge:usd:* — any USD charge* — everythingActions: What the agent can do — read, write, send, delete, *
Conditions:
| Condition | Type | Description |
|---|---|---|
| max_daily | int | Max actions per day (resets at UTC midnight) |
| time_window | {start, end} | UTC time range (HH:MM format) |
| ip_allowlist | string[] | CIDR ranges the agent may call from |
Evaluation order: Policies evaluated by priority (highest first). First match wins. If no policy matches → default deny.
Every call to /v1/audit/log records:
agent_id, jti — which agent, which credentialaction, resource — what happenedresult — allowed | denied | errorprompt_snippet — the prompt that triggered the action (truncated at 1024 chars)tool_called, result_summary — what tool ran and what it returnedcost_usd, duration_ms — performance + cost trackingip_address, user_agent — network context| Method | Path | Description |
|---|---|---|
| POST | /v1/agents | Register a new agent |
| GET | /v1/agents | List agents (filter by owner_id) |
| GET | /v1/agents/{id} | Get agent details |
| PATCH | /v1/agents/{id} | Update agent |
| DELETE | /v1/agents/{id} | Delete agent |
| POST | /v1/agents/{id}/policies | Add a policy |
| GET | /v1/agents/{id}/policies | List policies |
| Method | Path | Description |
|---|---|---|
| POST | /v1/credentials/issue | Issue a JWT (requires X-API-Key header) |
| POST | /v1/credentials/{id}/revoke | Revoke a credential |
| GET | /v1/credentials/{agent_id}/list | List credentials |
| Method | Path | Description |
|---|---|---|
| POST | /v1/audit/log | Log an action (requires Authorization: Bearer <token>) |
| GET | /v1/audit/logs | Query audit logs |
| GET | /v1/audit/logs/{agent_id}/stats | Aggregate stats |
| Method | Path | Description |
|---|---|---|
| POST | /v1/verify | Verify token + policy for an action |
| GET | /v1/verify/public-key | Get RS256 public key |
from agentid import AgentIDClient
from agentid.middleware.langchain import agentid_langchain_middleware
async with AgentIDClient(...) as client:
safe_tools = agentid_langchain_middleware(
tools=[email_tool, search_tool, file_tool],
client=client,
enforce_policy=True,
)
agent = create_react_agent(llm=llm, tools=safe_tools)
from crewai import Task
from agentid.middleware.crewai import agentid_task_callback
task = Task(
description="Research competitors",
agent=researcher,
callback=agentid_task_callback(client, action="research:web"),
)
import httpx
async def verify_agent_token(token: str, action: str, resource: str) -> bool:
async with httpx.AsyncClient() as http:
resp = await http.post(
"http://agentid-server/v1/verify",
json={"action": action, "resource": resource},
headers={"Authorization": f"Bearer {token}"},
)
return resp.json()["allowed"]
| Variable | Default | Description |
|---|---|---|
| DATABASE_URL | sqlite+aiosqlite:///./agentid.db | PostgreSQL or SQLite |
| REDIS_URL | redis://localhost:6379 | Redis for rate limiting |
| SECRET_KEY | — | App secret (32+ chars) |
| ENVIRONMENT | development | development or production |
| CORS_ORIGINS | http://localhost:3000 | Comma-separated allowed origins |
| DEFAULT_TOKEN_TTL_MINUTES | 15 | Default JWT lifetime |
| MAX_TOKEN_TTL_MINUTES | 1440 | Maximum allowed JWT lifetime |
| LOG_LEVEL | info | Logging verbosity |
fly launch --name agentid-backend --dockerfile backend/Dockerfile
fly postgres create --name agentid-db
fly secrets set DATABASE_URL=... SECRET_KEY=$(openssl rand -hex 32)
fly deploy
cp .env.example .env
docker compose up -d
keys/. Back this up.make keygen
docker compose restart backend
git clone https://github.com/Pedroshakoor/Agent-ID
cd Agent-ID
make dev # start everything with Docker Compose
make test # run all tests
make lint # lint all code
make migrate # run DB migrations
Agent-ID/
├── backend/ # FastAPI server (Python 3.12)
│ ├── app/
│ │ ├── main.py # FastAPI app entry point
│ │ ├── config.py # Settings (pydantic-settings)
│ │ ├── database.py # SQLAlchemy async engine
│ │ ├── models/ # SQLModel table definitions
│ │ ├── routers/ # API route handlers
│ │ ├── services/ # JWT, policy engine, audit
│ │ └── middleware/ # Rate limiting
│ ├── migrations/ # Alembic migrations
│ └── tests/ # pytest test suite
├── frontend/ # Next.js 15 dashboard
│ ├── app/ # App Router pages
│ └── components/ # shadcn/ui + custom components
├── sdks/
│ ├── python/ # agentid (PyPI)
│ └── typescript/ # @agentid/sdk (npm)
├── examples/ # Integration examples
└── .github/workflows/ # CI/CD
See CONTRIBUTING.md. PRs welcome.
MIT — see LICENSE.
Built for the agent infrastructure era.
Made by @pedroshakoor — follow for updates.
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://xpersona.co/api/v1/agents/crewai-pedroshakoor-agent-id/snapshot"
curl -s "https://xpersona.co/api/v1/agents/crewai-pedroshakoor-agent-id/contract"
curl -s "https://xpersona.co/api/v1/agents/crewai-pedroshakoor-agent-id/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
70
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Traction
No public download signal
Freshness
Updated 2d ago
Rank
70
AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs
Traction
No public download signal
Freshness
Updated 5d ago
Rank
70
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
Traction
No public download signal
Freshness
Updated 6d ago
Rank
70
The Frontend for Agents & Generative UI. React + Angular
Traction
No public download signal
Freshness
Updated 23d ago
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/crewai-pedroshakoor-agent-id/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/crewai-pedroshakoor-agent-id/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/crewai-pedroshakoor-agent-id/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/crewai-pedroshakoor-agent-id/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/crewai-pedroshakoor-agent-id/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/crewai-pedroshakoor-agent-id/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"OPENCLEW"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_REPOS",
"generatedAt": "2026-04-16T23:51:16.137Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "OPENCLEW",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "crewai",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "multi-agent",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"
}Facts JSON
[
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Pedroshakoor",
"href": "https://github.com/Pedroshakoor/Agent-ID",
"sourceUrl": "https://github.com/Pedroshakoor/Agent-ID",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-04-15T06:04:25.503Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://xpersona.co/api/v1/agents/crewai-pedroshakoor-agent-id/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/crewai-pedroshakoor-agent-id/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-04-15T06:04:25.503Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "2 GitHub stars",
"href": "https://github.com/Pedroshakoor/Agent-ID",
"sourceUrl": "https://github.com/Pedroshakoor/Agent-ID",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-04-15T06:04:25.503Z",
"isPublic": true
},
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/crewai-pedroshakoor-agent-id/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/crewai-pedroshakoor-agent-id/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to Agent-ID and adjacent AI workflows.