Deprecated. Deprecated by the publisher: Moved to @kyalabs/badge
Agents are not bots. Prove it. MCP-native identity declaration for authorized agents.
Runs on your machine from its package; the steps are below.
At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y @payclaw/badge
MCP client config
{
"mcpServers": {
"badge": {
"command": "npx",
"args": [
"-y",
"@payclaw/badge"
]
}
}
}Persistent identity for AI agents across merchant sites. Badge gives agents a credential they carry on every request — merchants verify it, trust accumulates across visits, and agents that build history earn better treatment over time.
Framework-agnostic. Transport-agnostic. Zero runtime dependencies.
The SDK is the primary integration surface. Three methods cover the full lifecycle:
import { Badge } from "@kyalabs/badge-sdk";
const badge = await Badge.init();
const runId = badge.startRun();
await badge.declareVisit({
merchant: "store.example.com",
runId,
url: "https://store.example.com/cart",
});
await badge.reportOutcome({
merchant: "store.example.com",
runId,
outcome: "not_denied",
});
No signup. No API key. Badge.init() issues a guest pass on first run and caches it to disk. Identity survives process restarts.
npm install @kyalabs/badge-sdk
gp_v1_*) → badge token (kya_*) → authenticated identityio.kyalabs.common.identity Credential Provider, published schemas, ES256-signed JWTsFor MCP client users (Claude Desktop, Cursor, Windsurf), Badge also ships as an MCP tool server. The MCP server wraps the SDK — same identity model, same tokens, same scoring.
npx @kyalabs/badge
The SDK is the canonical integration path for platform builders and agent frameworks. The MCP server is a convenience wrapper for end users working within MCP clients.
MIT