Skip to main content
Glama

@powforge/mcp-identity

핸들러가 실행되기 전에 모든 Nostr 공개 키의 신원 깊이(Depth-of-Identity)를 점수화하는 MCP 서버입니다. 체인팁(Chaintip)에 고정된 Schnorr 인증서, L402 가격 책정, 유료 API 외에 시빌(Sybil) 방지가 필요한 AI 에이전트를 위한 드롭인 솔루션입니다.

npm: npm i @powforge/mcp-identity

홈페이지: https://powforge.dev/explorer

백서: https://powforge.dev/whitepaper

기능

PowForge 신원 깊이 오라클을 래핑하는 세 가지 MCP 도구:

  • doi_score_lookup — Nostr 공개 키(hex 또는 npub)를 입력하면 다차원 신원 점수(네트워크, 수명, 키네틱 필터 비용)를 반환합니다. 업스트림 오라클을 통해 L402 가격이 책정됩니다.

  • doi_sign_vouch — 다른 공개 키의 신원 깊이를 보증하기 위한 서명되지 않은 Nostr 이벤트를 생성합니다. 호출자가 서명하며, 오라클은 관찰 시 점수에 반영합니다.

  • doi_score_verify — 오라클에서 반환된 서명된 DoI 인증서에 대한 오프라인 Schnorr 검증입니다. 네트워크가 필요하지 않습니다.

Related MCP server: AgentStamp

신원 기반 가격 책정이 필요한 이유

대부분의 유료 API 서비스는 요청당 정액 요금을 부과합니다. 이는 다음과 같은 에이전트 간 인터페이스에서는 실패합니다:

  1. 새로운 에이전트는 스크레이퍼와 동일하게 보여 의도나 위험에 대한 신호가 없습니다.

  2. 롱테일 악용자는 비용보다 저렴하게 가치를 추출합니다.

  3. 화이트리스트 게이팅은 개방형 에이전트 생태계로 확장되지 않습니다.

DoI는 서버에 "이 호출자의 신원을 이 깊이에서 위조하는 데 드는 비용은 얼마인가"에 대한 정량적 수치를 제공하며, 이는 부인할 수 없는 특정 비트코인 체인팁 인증서에 고정됩니다. 이를 L402 마카룬 가격의 승수, 속도 제한 입력 또는 라우팅 키로 사용하십시오.

빠른 시작

npm i @powforge/mcp-identity

MCP 설정(Claude Desktop, Cursor 등)에 추가하십시오:

{
  "mcpServers": {
    "powforge-identity": {
      "command": "npx",
      "args": ["-y", "@powforge/mcp-identity"]
    }
  }
}

클라이언트를 다시 시작하십시오. powforge-identity 아래에 세 가지 새로운 도구가 나타납니다.

체인팁 고정 방식의 이유

점수에는 (score, dimensions, score_chaintip_height, score_chaintip_blockhash)에 대한 Schnorr 서명이 포함됩니다. 이는 해당 주장을 비트코인의 키네틱 필터에 결합합니다. 재계산 가능한 PageRank 점수는 조용히 다시 작성될 수 있지만, 체인팁에 고정된 인증서는 알려진 시간에 대한 고정된 주장입니다. 검증은 오프라인에서 수행됩니다.

오라클의 위조 가능한 주장 범위는 백서에 문서화되어 있습니다.

L402 가격 책정

MCP 서버는 oracle.powforge.dev와의 L402 마카룬 통신을 투명하게 처리합니다. 첫 번째 호출은 라이트닝 인보이스가 포함된 402를 반환하며, 래퍼는 사용자가 구성한 지갑(환경 변수: LNBITS_INVOICE_KEY)에서 결제하고 재시도합니다. 키나 계정이 필요하지 않습니다.

상태

  • v0.7.0이 2026년 4월 28일에 npm에 게시되었습니다.

  • 세 가지 도구가 노출되었습니다.

  • 인증서 형식은 백서에 문서화되어 있습니다.

  • 오라클 가용성은 https://powforge.dev/oracle/freshness 에서 모니터링됩니다.

라이선스

MIT.

소스

소스는 비공개 개발 저장소에 있습니다. 문제, 질문 및 버그 보고는 여기에서 환영합니다.

Available Tools

3 tools
doi_score_lookupA

Fetch a Depth-of-Identity score for a Nostr pubkey from the PowForge oracle. Returns either an L402 challenge (macaroon + bolt11 invoice + price_sats) for the caller to pay, or a Schnorr-signed score envelope when paid auth is supplied. Pricing is 1-2 sats per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
pubkeyYes64-hex Nostr pubkey or npub1... bech32 string
authNoL402 paid auth. Omit on first call to receive the challenge.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It transparently describes the dual behavior (returning a challenge or score envelope), the pricing (1-2 sats), and the need for paid auth. No contradictions are present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: the first sentence states the core purpose, the second details the two possible outputs, and the third provides pricing. Every sentence adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a payment-gated tool with no output schema, the description explains both invocation paths, the contents of challenge and score envelope, and pricing. It lacks error handling details but is otherwise complete enough for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already covers 100% of parameters with descriptions, but the tool description adds crucial usage semantics: the auth parameter is for paid access and should be omitted on first call, and pricing details. This goes beyond the schema's structural definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Fetch' and identifies the resource as a 'Depth-of-Identity score for a Nostr pubkey from the PowForge oracle'. It clearly distinguishes from sibling tools like doi_score_verify and doi_sign_vouch by focusing on score retrieval and payment handling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context, instructing the caller to omit auth on the first call to receive a challenge and then supply auth for the score. However, it does not explicitly compare with sibling tools or state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

doi_score_verifyA

Locally verify a Schnorr-signed DoI score envelope returned by the PowForge oracle. No network call. Default oracle pubkey is hardcoded; override via oracle_pubkey or the ORACLE_PUBKEY env var.

ParametersJSON Schema
NameRequiredDescriptionDefault
envelopeYesThe full signed JSON from a prior doi_score_lookup
oracle_pubkeyNoOverride oracle pubkey (64-hex). Default = b4b12d...

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full disclosure burden. It reveals that verification is local, the default pubkey is hardcoded, and there is an override mechanism. However, it does not mention return values or failure behavior (e.g., what happens if verification fails), which is a minor gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only two sentences long, efficient, and front-loaded with the core purpose. Every piece of information earns its place without redundancy or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that there is no output schema, the description does not explain the return value (e.g., boolean, object). However, it adequately covers the tool's operation, parameters, and configuration options. For a verification tool, the missing output specification is a modest gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

While the input schema already describes both parameters, the description adds value by noting the hardcoded default pubkey and the environment variable override (ORACLE_PUBKEY), which is not in the schema. This enriches understanding beyond the schema's field-level descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'verify' and resource 'DoI score envelope', clearly stating the action. It distinguishes itself from siblings doi_score_lookup and doi_sign_vouch by focusing on local verification without network calls.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly mentions that no network call is made and that the oracle pubkey can be overridden via parameter or environment variable. It lacks explicit 'when not to use' guidance, but the context is clear enough for typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

doi_sign_vouchA

Build an UNSIGNED kind:33335 PowForge vouch event template. The MCP server intentionally never holds keys — the caller signs externally and publishes the signed event to relays.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYes64-hex pubkey of the subject being vouched
depthYesVoucher's claimed DoI depth (integer)
vouch_countYesVoucher's total outbound vouch count (drives sqrt dilution)
satsNoOptional sats backing
contentNoOptional human-readable note

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that the tool builds an unsigned template and that the server never holds keys, requiring external signing. This provides clear behavioral context beyond the input schema, though it could mention additional traits like input validation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences that front-load the key purpose and workflow. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description explains the tool's role and security model but does not describe the output format or return value, which is important given no output schema. Some behavioral details are missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all parameters. The tool description does not add any extra parameter-level meaning, so baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it builds an unsigned vouch event template, with specific kind (33335) and explains the external signing workflow. This distinguishes it from siblings (doi_score_lookup, doi_score_verify).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the external signing requirement but does not provide explicit when-to-use or when-not-to-use guidance, nor does it compare with sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv0.7.2
    • First observeddoi_score_lookup
    • First observeddoi_score_verify
    • First observeddoi_sign_vouch

TDQS

A4.2/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a distinct purpose: fetching a score, verifying a signature, and creating a vouch template. No overlap in functionality.

Naming Consistency4/5

Tools follow a snake_case pattern with a 'doi_' prefix, but the structure varies slightly: 'doi_score_lookup' and 'doi_score_verify' share a consistent pattern, while 'doi_sign_vouch' uses a different verb-object order.

Tool Count5/5

With three tools, the server provides a focused, minimal set covering the core operations needed for identity scoring on Nostr. The count is well-scoped for its domain.

Completeness4/5

The tools cover the essential workflow: fetch, verify, and prepare a vouch. Minor gaps include lack of oracle configuration or retrieval of existing vouches, but the core use case is addressed.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Lightning Network trust oracle for AI agents. Provides real-time node reachability checks, trust scores, and personalized pathfinding for 17,000+ Lightning nodes via 12 MCP tools.
    3 npm
    AGPL 3.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Trust-aware Nostr MCP server. 236 tools for identity, social, DMs, trust scoring, AI-to-AI dispatch, Lightning payments, privacy proofs, and encrypted vaults. NIP-46 bunker auth; keys never leave the signing device.
    701 npm
    1
    MIT