Sub-regional certifier under Tollbooth-Authority-NorthAmerica. Registers MCP operators, collects certification fees via Bitcoin Lightning, and issues Schnorr-signed Nostr event certificates.
Six tools with clear naming (verb_noun pattern) and reasonable descriptions (100-200 chars). All tools have input schemas with type definitions. However, parameter descriptions are minimal or absent in several tools (check_balance, operator_status lack input descriptions entirely since they take no params). Output schemas are not documented anywhere in the source. Error handling guidance is absent, no recovery hints or categorization. The server delegates tool logic to tollbooth-dpyc wheel, making it difficult to verify full schema completeness and error patterns. Descriptions are functional but lack LLM-optimization details (e.g., when to call certify_credits vs check_balance, what happens on insufficient balance).
Issue a Schnorr-signed Nostr event certificate proving an operator has paid. Deducts the certification fee from the operator's pre-funded balance.
Retrieve the operator's current credit balance.
Check payment status for a Lightning invoice. On settlement, the operator's credit balance is funded.
Retrieve operator status including funded balance and the Authority's Nostr npub for certificate verification.
Pre-fund operator account with sats via Bitcoin Lightning. Returns a Lightning invoice with a checkoutLink.
Register an MCP operator with the Authority using a Nostr npub. Creates a ledger entry and returns the npub with a zero balance.
Output schemas not documented. No tool returns a documented schema showing what fields the LLM should expect (e.g., what does register_operator return? Is it {npub, balance} or {npub, balance, created_at}?). LLMs cannot plan downstream calls without knowing response structure.
No error handling guidance. Tools lack recovery hints (e.g., 'If operator not found, call register_operator first'). No error categorization (retryable vs user-fixable vs fatal). Agents cannot self-correct on failures.
check_balance and operator_status take no parameters but lack descriptions explaining what they retrieve or when to call each (both are READ_ONLY status tools, unclear distinction). Parameter descriptions are required even for empty input schemas.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | <=2025-11-25 | v2 |
Tool logic delegated to tollbooth-dpyc wheel (register_authority_tools, register_standard_tools). Actual schemas, error handling, and output structure are not visible in this repo. Cannot verify full compliance with schema and error patterns.
Descriptions lack LLM-optimization context. No hints on prerequisites (e.g., 'Call register_operator before purchase_credits'), mutual exclusivity, or side effects. Bootstrap instructions are in server.instructions but not in individual tool descriptions.