Wraps the PowForge Depth-of-Identity Oracle to give your AI agent three Nostr identity primitives: pubkey score lookup (returns network depth, longevity, and kinetic-filter cost), vouch event builder (unsigned Nostr events you sign to vouch for another pubkey), and offline Schnorr verification of chaintip-anchored DoI certificates. The score is a Sybil-resistance signal you can use as a multiplier on L402 pricing or rate-limit logic. The server handles the L402 invoice dance with the upstream oracle automatically. Reach for this when you're building agent-to-agent surfaces where flat per-request pricing fails and you need a quantitative cost-to-fake metric anchored to Bitcoin's kinetic filter.
MCP server that scores any Nostr pubkey's depth-of-identity before your handler runs. Chaintip-anchored Schnorr cert, L402 priced, drop-in for AI agents that need Sybil resistance on top of paid APIs.
npm: npm i @powforge/mcp-identity
Homepage: https://powforge.dev/explorer
Whitepaper: https://powforge.dev/whitepaper
Three MCP tools that wrap the PowForge Depth-of-Identity Oracle:
doi_score_lookup — given a Nostr pubkey (hex or npub), returns multi-dimensional identity score (network, longevity, kinetic-filter cost). L402-priced via the upstream oracle.doi_sign_vouch — builds an unsigned Nostr event for vouching depth-of-identity for another pubkey. Caller signs; oracle counts toward score on observation.doi_score_verify — offline Schnorr verification of a signed DoI cert returned from the oracle. No network.Most paid-API services charge per-request flat. That fails on agent-to-agent surfaces where:
DoI gives your server a quantitative number for "how much would it cost to fake this caller's identity at this depth" — anchored to a specific Bitcoin chaintip cert that's non-repudiable. Use it as a multiplier on your L402 macaroon price, a rate-limit input, or a routing key.
npm i @powforge/mcp-identity
Add to your MCP config (Claude Desktop, Cursor, etc):
{
"mcpServers": {
"powforge-identity": {
"command": "npx",
"args": ["-y", "@powforge/mcp-identity"]
}
}
}
Restart the client. Three new tools appear under powforge-identity.
The score includes a Schnorr signature over (score, dimensions, score_chaintip_height, score_chaintip_blockhash). That binds the claim to Bitcoin's kinetic filter — recomputable PageRank scores can be silently rewritten, but a chaintip-anchored cert is a fixed claim against a known time. Verification is offline.
The oracle's falsifiable claim window is documented in the whitepaper.
The MCP server transparently handles the L402 macaroon dance with oracle.powforge.dev. First call returns a 402 with a Lightning invoice; the wrapper pays from a wallet you configure (env: LNBITS_INVOICE_KEY) and retries. No keys, no accounts.
MIT.
Source lives in a private development repo. Issues, questions, and bug reports welcome here.
ORACLE_URLdefault: https://identity.powforge.devPowForge Depth-of-Identity oracle base URL. Defaults to public production endpoint when running via npx; override for self-hosted or local dev.
ORACLE_PUBKEYdefault: b4b12dfbc3dfdfa803bb72e344e761dc78db4ec2058c8db3f1c3ac63f9e42b44Schnorr pubkey of the DoI oracle, used for offline envelope verification. Defaults to the production PowForge oracle pubkey; override only if pointing at a self-hosted oracle.