{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_sr4kt8u3h8pv","handle":"dpyc-oracle","url":"https://wellknown.network/agents/dpyc-oracle","links":{"self":"https://wellknown.network/agents/dpyc-oracle/record.json","html":"https://wellknown.network/agents/dpyc-oracle","markdown":"https://wellknown.network/agents/dpyc-oracle/record.md","api":"https://wellknown.network/api/v1/agents/dpyc-oracle","status":"https://wellknown.network/api/v1/agents/dpyc-oracle/status","claim":"https://wellknown.network/agents/dpyc-oracle/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/dpyc-oracle/claim.json","badge":"https://wellknown.network/agents/dpyc-oracle/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air:dpyc-oracle.fastmcp.app:server:dpyc-oracle","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"dpyc-oracle","summary":"DPYC Social Contract community concierge — free MCP for membership, governance, and onboarding","description":"DPYC Social Contract community concierge — free MCP for membership, governance, and onboarding","publisher":{"name":"lonniev","url":null},"homepage":null,"repository":"https://github.com/lonniev/dpyc-oracle","version":"0.3.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://dpyc-oracle.fastmcp.app/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-08-24T23:58:16.55454Z","publishedAt":"2026-08-24T23:58:16.55454Z","registryName":"io.github.lonniev/dpyc-oracle"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"documents.contracts","name":"Contracts & Legal","confidence":0.938,"provenance":"derived"},{"slug":"dev.ci-cd","name":"CI/CD & Deploy","confidence":0.554,"provenance":"derived"},{"slug":"content.marketing","name":"Marketing","confidence":0.525,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":0.525,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"},{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":0.51,"provenance":"derived"}],"categories":["commerce","content","dev","documents","security"]},"observed":{"status":"live","statusReason":"Responded 4h ago.","lastOkAt":"2026-09-08T00:20:25.270Z","lastProbedAt":"2026-09-08T00:20:25.270Z","statusComputedAt":"2026-09-08T00:23:48.464Z","reliability30d":{"probes":1,"successRate":1,"p50Ms":330},"latestObservations":[{"at":"2026-09-08T00:20:25.270Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":330,"error":null,"detail":{"tools":[{"name":"about","description":"Extended narration about DPYC, the Social Contract, and the Oracle.\n\nFetches README.md and GOVERNANCE.md from the dpyc-community repo and\nassembles a comprehens"},{"name":"lookup_member","description":"Look up a member by their Nostr npub.\n\nCan look up any role's npub — citizen, operator, or authority.\nReturns the full member record if found, or a not-found me"},{"name":"get_tax_rate","description":"Explain how Tollbooth certification taxation works.\n\nTaxation is ad valorem and **per-Authority** — there is no single\nnetwork-wide number, and the Oracle delib"},{"name":"economic_model","description":"Explain the DPYC Social Contract economic model — qualitatively.\n\nDescribes how value flows through the network: ad valorem\ncertification fees, the cascade up t"},{"name":"get_rulebook","description":"Fetch the DPYC Social Contract governance document.\n\nReturns the raw markdown of GOVERNANCE.md from the dpyc-community repo."},{"name":"how_to_join","description":"Tier-specific onboarding guide for joining the DPYC Social Contract.\n\nCovers all five tiers: Citizen, Advocate, Operator, Authority, and\nFirst Curator. Includes"},{"name":"who_is_first_curator","description":"Identify the First Curator (Prime Authority) of the Certification Chain.\n\nReturns the curator's npub, display name, and member record."},{"name":"network_versions","description":"Get current recommended versions of all Tollbooth components.\n\nReturns component versions, minimum compatibility, active protocols,\nand a short advisory summary"},{"name":"network_advisory","description":"Get current network deployment advisory.\n\nReturns human-readable guidance on what changed recently, urgent\nupgrades, and actions operators should take. Fetched "},{"name":"how_to_add_authority","description":"End-to-end guide for spinning up a new Tollbooth Authority.\n\nReturns the eight-step procedure covering identity, region selection,\nGitHub workspace, dpyc-commun"},{"name":"service_status","description":"Diagnostic: report this service's software versions and runtime info.\n\nFree, unauthenticated. Use to verify deployment versions across the\nDPYC ecosystem."},{"name":"list_services","description":"Enumerate the live DPYC service network with self-described summaries.\n\nReads the member roster from the dpyc-community registry, then (when\n``probe=True``) per"},{"name":"get_relays","description":"Return the DPYC Nostr relay set, best first.\n\nThe single source of truth is ``dpyc-community/relays.json``. An Operator\nseeds its relay set from here at cold st"},{"name":"report_relay_failure","description":"Report that a relay in the DPYC set was unreachable, and re-rank it.\n\nA report does not set a relay's rank. It asks the Oracle to measure that\nrelay *now*, and "},{"name":"resolve_authority_for","description":"Resolve the certifying Authority for an operator npub.\n\nReturns the Authority's ``{npub, url, name}`` (from the operator's\n``upstream_authority_npub``). Use thi"},{"name":"resolve_service","description":"Resolve a DPYC service by ``name`` or ``npub``.\n\nReturns ``{npub, url, name, role, purchase_mode}`` where ``purchase_mode``\nis the registry-topology fact ``\"cer"},{"name":"request_citizenship","description":"Begin the citizen registration process (Operator-owned flow).\n\nThis is the **citizen** registration path. Called by the Operator on\nbehalf of a patron — invokes"},{"name":"confirm_citizenship","description":"Complete the citizen registration by submitting a signed Nostr event.\n\nThis is part of the **citizen** registration flow (Operator-owned).\nThe Operator calls th"},{"name":"register_authority","description":"Register a new Authority in the DPYC community registry.\n\nCalled by an Authority service at the end of the onboarding protocol\n(after the candidate proves npub "},{"name":"register_operator","description":"Register a new Operator in the DPYC community registry.\n\nCalled by an Authority service after the operator requests registration.\nThe Authority validates the op"},{"name":"update_operator","description":"Update an existing Operator's registry entry.\n\nUsed when an Operator moves to a new MCP endpoint, changes its\ndisplay name, or needs to correct a registration. "},{"name":"deregister_operator","description":"Remove an Operator from the DPYC community registry.\n\nCalled when an Authority disowns an Operator.  An Operator cannot\nexist without a sponsoring Authority, so"},{"name":"register_advocate","description":"Register a new Advocate in the DPYC community registry.\n\nAdvocates are community utility services that provide shared\ninfrastructure (e.g., OAuth2 callback coll"},{"name":"check_ban_status","description":"Check whether an npub is banned from the DPYC Social Contract.\n\nLooks up the member in the community registry and checks whether\ntheir status is \"banned\".  Unkn"},{"name":"renounce_membership","description":"Citizen self-removal from the DPYC Social Contract via automated PR.\n\nNot yet implemented — will create a GitHub PR to remove the member\nfrom the registry."},{"name":"initiate_ban_election","description":"Initiate a community ban election against a member.\n\nNot yet implemented — will create a GitHub Issue with a 72-hour\ndiscussion period and Lightning-funded econ"},{"name":"cast_ban_vote","description":"Cast a Lightning-funded vote in an active ban election.\n\nNot yet implemented — will verify npub membership, validate the\nelection is active, and record the vote"},{"name":"publish_campaign","description":"Publish a pricing campaign to the DPYC community.\n\nCommits both a machine-importable JSON file and a human-readable\nMarkdown summary to the dpyc-community campa"},{"name":"list_campaigns","description":"List published pricing campaigns from the DPYC community.\n\nOptionally filter by operator or author npub."},{"name":"get_campaign","description":"Retrieve a published pricing campaign."}],"toolCount":30,"serverName":"dpyc-oracle","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"3.4.7","protocolVersion":"2025-06-18"}},{"at":"2026-09-07T17:21:55.436Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":339,"error":null,"detail":{"tools":[{"name":"about","description":"Extended narration about DPYC, the Social Contract, and the Oracle.\n\nFetches README.md and GOVERNANCE.md from the dpyc-community repo and\nassembles a comprehens"},{"name":"lookup_member","description":"Look up a member by their Nostr npub.\n\nCan look up any role's npub — citizen, operator, or authority.\nReturns the full member record if found, or a not-found me"},{"name":"get_tax_rate","description":"Explain how Tollbooth certification taxation works.\n\nTaxation is ad valorem and **per-Authority** — there is no single\nnetwork-wide number, and the Oracle delib"},{"name":"economic_model","description":"Explain the DPYC Social Contract economic model — qualitatively.\n\nDescribes how value flows through the network: ad valorem\ncertification fees, the cascade up t"},{"name":"get_rulebook","description":"Fetch the DPYC Social Contract governance document.\n\nReturns the raw markdown of GOVERNANCE.md from the dpyc-community repo."},{"name":"how_to_join","description":"Tier-specific onboarding guide for joining the DPYC Social Contract.\n\nCovers all five tiers: Citizen, Advocate, Operator, Authority, and\nFirst Curator. Includes"},{"name":"who_is_first_curator","description":"Identify the First Curator (Prime Authority) of the Certification Chain.\n\nReturns the curator's npub, display name, and member record."},{"name":"network_versions","description":"Get current recommended versions of all Tollbooth components.\n\nReturns component versions, minimum compatibility, active protocols,\nand a short advisory summary"},{"name":"network_advisory","description":"Get current network deployment advisory.\n\nReturns human-readable guidance on what changed recently, urgent\nupgrades, and actions operators should take. Fetched "},{"name":"how_to_add_authority","description":"End-to-end guide for spinning up a new Tollbooth Authority.\n\nReturns the eight-step procedure covering identity, region selection,\nGitHub workspace, dpyc-commun"},{"name":"service_status","description":"Diagnostic: report this service's software versions and runtime info.\n\nFree, unauthenticated. Use to verify deployment versions across the\nDPYC ecosystem."},{"name":"list_services","description":"Enumerate the live DPYC service network with self-described summaries.\n\nReads the member roster from the dpyc-community registry, then (when\n``probe=True``) per"},{"name":"get_relays","description":"Return the DPYC Nostr relay set, best first.\n\nThe single source of truth is ``dpyc-community/relays.json``. An Operator\nseeds its relay set from here at cold st"},{"name":"report_relay_failure","description":"Report that a relay in the DPYC set was unreachable, and re-rank it.\n\nA report does not set a relay's rank. It asks the Oracle to measure that\nrelay *now*, and "},{"name":"resolve_authority_for","description":"Resolve the certifying Authority for an operator npub.\n\nReturns the Authority's ``{npub, url, name}`` (from the operator's\n``upstream_authority_npub``). Use thi"},{"name":"resolve_service","description":"Resolve a DPYC service by ``name`` or ``npub``.\n\nReturns ``{npub, url, name, role, purchase_mode}`` where ``purchase_mode``\nis the registry-topology fact ``\"cer"},{"name":"request_citizenship","description":"Begin the citizen registration process (Operator-owned flow).\n\nThis is the **citizen** registration path. Called by the Operator on\nbehalf of a patron — invokes"},{"name":"confirm_citizenship","description":"Complete the citizen registration by submitting a signed Nostr event.\n\nThis is part of the **citizen** registration flow (Operator-owned).\nThe Operator calls th"},{"name":"register_authority","description":"Register a new Authority in the DPYC community registry.\n\nCalled by an Authority service at the end of the onboarding protocol\n(after the candidate proves npub "},{"name":"register_operator","description":"Register a new Operator in the DPYC community registry.\n\nCalled by an Authority service after the operator requests registration.\nThe Authority validates the op"},{"name":"update_operator","description":"Update an existing Operator's registry entry.\n\nUsed when an Operator moves to a new MCP endpoint, changes its\ndisplay name, or needs to correct a registration. "},{"name":"deregister_operator","description":"Remove an Operator from the DPYC community registry.\n\nCalled when an Authority disowns an Operator.  An Operator cannot\nexist without a sponsoring Authority, so"},{"name":"register_advocate","description":"Register a new Advocate in the DPYC community registry.\n\nAdvocates are community utility services that provide shared\ninfrastructure (e.g., OAuth2 callback coll"},{"name":"check_ban_status","description":"Check whether an npub is banned from the DPYC Social Contract.\n\nLooks up the member in the community registry and checks whether\ntheir status is \"banned\".  Unkn"},{"name":"renounce_membership","description":"Citizen self-removal from the DPYC Social Contract via automated PR.\n\nNot yet implemented — will create a GitHub PR to remove the member\nfrom the registry."},{"name":"initiate_ban_election","description":"Initiate a community ban election against a member.\n\nNot yet implemented — will create a GitHub Issue with a 72-hour\ndiscussion period and Lightning-funded econ"},{"name":"cast_ban_vote","description":"Cast a Lightning-funded vote in an active ban election.\n\nNot yet implemented — will verify npub membership, validate the\nelection is active, and record the vote"},{"name":"publish_campaign","description":"Publish a pricing campaign to the DPYC community.\n\nCommits both a machine-importable JSON file and a human-readable\nMarkdown summary to the dpyc-community campa"},{"name":"list_campaigns","description":"List published pricing campaigns from the DPYC community.\n\nOptionally filter by operator or author npub."},{"name":"get_campaign","description":"Retrieve a published pricing campaign."}],"toolCount":30,"serverName":"dpyc-oracle","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"3.4.7","protocolVersion":"2025-06-18"}},{"at":"2026-09-07T09:29:15.844Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":351,"error":null,"detail":{"tools":[{"name":"about","description":"Extended narration about DPYC, the Social Contract, and the Oracle.\n\nFetches README.md and GOVERNANCE.md from the dpyc-community repo and\nassembles a comprehens"},{"name":"lookup_member","description":"Look up a member by their Nostr npub.\n\nCan look up any role's npub — citizen, operator, or authority.\nReturns the full member record if found, or a not-found me"},{"name":"get_tax_rate","description":"Explain how Tollbooth certification taxation works.\n\nTaxation is ad valorem and **per-Authority** — there is no single\nnetwork-wide number, and the Oracle delib"},{"name":"economic_model","description":"Explain the DPYC Social Contract economic model — qualitatively.\n\nDescribes how value flows through the network: ad valorem\ncertification fees, the cascade up t"},{"name":"get_rulebook","description":"Fetch the DPYC Social Contract governance document.\n\nReturns the raw markdown of GOVERNANCE.md from the dpyc-community repo."},{"name":"how_to_join","description":"Tier-specific onboarding guide for joining the DPYC Social Contract.\n\nCovers all five tiers: Citizen, Advocate, Operator, Authority, and\nFirst Curator. Includes"},{"name":"who_is_first_curator","description":"Identify the First Curator (Prime Authority) of the Certification Chain.\n\nReturns the curator's npub, display name, and member record."},{"name":"network_versions","description":"Get current recommended versions of all Tollbooth components.\n\nReturns component versions, minimum compatibility, active protocols,\nand a short advisory summary"},{"name":"network_advisory","description":"Get current network deployment advisory.\n\nReturns human-readable guidance on what changed recently, urgent\nupgrades, and actions operators should take. Fetched "},{"name":"how_to_add_authority","description":"End-to-end guide for spinning up a new Tollbooth Authority.\n\nReturns the eight-step procedure covering identity, region selection,\nGitHub workspace, dpyc-commun"},{"name":"service_status","description":"Diagnostic: report this service's software versions and runtime info.\n\nFree, unauthenticated. Use to verify deployment versions across the\nDPYC ecosystem."},{"name":"list_services","description":"Enumerate the live DPYC service network with self-described summaries.\n\nReads the member roster from the dpyc-community registry, then (when\n``probe=True``) per"},{"name":"get_relays","description":"Return the DPYC Nostr relay set, best first.\n\nThe single source of truth is ``dpyc-community/relays.json``. An Operator\nseeds its relay set from here at cold st"},{"name":"report_relay_failure","description":"Report that a relay in the DPYC set was unreachable, and re-rank it.\n\nA report does not set a relay's rank. It asks the Oracle to measure that\nrelay *now*, and "},{"name":"resolve_authority_for","description":"Resolve the certifying Authority for an operator npub.\n\nReturns the Authority's ``{npub, url, name}`` (from the operator's\n``upstream_authority_npub``). Use thi"},{"name":"resolve_service","description":"Resolve a DPYC service by ``name`` or ``npub``.\n\nReturns ``{npub, url, name, role, purchase_mode}`` where ``purchase_mode``\nis the registry-topology fact ``\"cer"},{"name":"request_citizenship","description":"Begin the citizen registration process (Operator-owned flow).\n\nThis is the **citizen** registration path. Called by the Operator on\nbehalf of a patron — invokes"},{"name":"confirm_citizenship","description":"Complete the citizen registration by submitting a signed Nostr event.\n\nThis is part of the **citizen** registration flow (Operator-owned).\nThe Operator calls th"},{"name":"register_authority","description":"Register a new Authority in the DPYC community registry.\n\nCalled by an Authority service at the end of the onboarding protocol\n(after the candidate proves npub "},{"name":"register_operator","description":"Register a new Operator in the DPYC community registry.\n\nCalled by an Authority service after the operator requests registration.\nThe Authority validates the op"},{"name":"update_operator","description":"Update an existing Operator's registry entry.\n\nUsed when an Operator moves to a new MCP endpoint, changes its\ndisplay name, or needs to correct a registration. "},{"name":"deregister_operator","description":"Remove an Operator from the DPYC community registry.\n\nCalled when an Authority disowns an Operator.  An Operator cannot\nexist without a sponsoring Authority, so"},{"name":"register_advocate","description":"Register a new Advocate in the DPYC community registry.\n\nAdvocates are community utility services that provide shared\ninfrastructure (e.g., OAuth2 callback coll"},{"name":"check_ban_status","description":"Check whether an npub is banned from the DPYC Social Contract.\n\nLooks up the member in the community registry and checks whether\ntheir status is \"banned\".  Unkn"},{"name":"renounce_membership","description":"Citizen self-removal from the DPYC Social Contract via automated PR.\n\nNot yet implemented — will create a GitHub PR to remove the member\nfrom the registry."},{"name":"initiate_ban_election","description":"Initiate a community ban election against a member.\n\nNot yet implemented — will create a GitHub Issue with a 72-hour\ndiscussion period and Lightning-funded econ"},{"name":"cast_ban_vote","description":"Cast a Lightning-funded vote in an active ban election.\n\nNot yet implemented — will verify npub membership, validate the\nelection is active, and record the vote"},{"name":"publish_campaign","description":"Publish a pricing campaign to the DPYC community.\n\nCommits both a machine-importable JSON file and a human-readable\nMarkdown summary to the dpyc-community campa"},{"name":"list_campaigns","description":"List published pricing campaigns from the DPYC community.\n\nOptionally filter by operator or author npub."},{"name":"get_campaign","description":"Retrieve a published pricing campaign."}],"toolCount":30,"serverName":"dpyc-oracle","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"3.4.7","protocolVersion":"2025-06-18"}},{"at":"2026-09-07T02:24:23.664Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":351,"error":null,"detail":{"tools":[{"name":"about","description":"Extended narration about DPYC, the Social Contract, and the Oracle.\n\nFetches README.md and GOVERNANCE.md from the dpyc-community repo and\nassembles a comprehens"},{"name":"lookup_member","description":"Look up a member by their Nostr npub.\n\nCan look up any role's npub — citizen, operator, or authority.\nReturns the full member record if found, or a not-found me"},{"name":"get_tax_rate","description":"Explain how Tollbooth certification taxation works.\n\nTaxation is ad valorem and **per-Authority** — there is no single\nnetwork-wide number, and the Oracle delib"},{"name":"economic_model","description":"Explain the DPYC Social Contract economic model — qualitatively.\n\nDescribes how value flows through the network: ad valorem\ncertification fees, the cascade up t"},{"name":"get_rulebook","description":"Fetch the DPYC Social Contract governance document.\n\nReturns the raw markdown of GOVERNANCE.md from the dpyc-community repo."},{"name":"how_to_join","description":"Tier-specific onboarding guide for joining the DPYC Social Contract.\n\nCovers all five tiers: Citizen, Advocate, Operator, Authority, and\nFirst Curator. Includes"},{"name":"who_is_first_curator","description":"Identify the First Curator (Prime Authority) of the Certification Chain.\n\nReturns the curator's npub, display name, and member record."},{"name":"network_versions","description":"Get current recommended versions of all Tollbooth components.\n\nReturns component versions, minimum compatibility, active protocols,\nand a short advisory summary"},{"name":"network_advisory","description":"Get current network deployment advisory.\n\nReturns human-readable guidance on what changed recently, urgent\nupgrades, and actions operators should take. Fetched "},{"name":"how_to_add_authority","description":"End-to-end guide for spinning up a new Tollbooth Authority.\n\nReturns the eight-step procedure covering identity, region selection,\nGitHub workspace, dpyc-commun"},{"name":"service_status","description":"Diagnostic: report this service's software versions and runtime info.\n\nFree, unauthenticated. Use to verify deployment versions across the\nDPYC ecosystem."},{"name":"list_services","description":"Enumerate the live DPYC service network with self-described summaries.\n\nReads the member roster from the dpyc-community registry, then (when\n``probe=True``) per"},{"name":"get_relays","description":"Return the DPYC Nostr relay set, best first.\n\nThe single source of truth is ``dpyc-community/relays.json``. An Operator\nseeds its relay set from here at cold st"},{"name":"report_relay_failure","description":"Report that a relay in the DPYC set was unreachable, and re-rank it.\n\nA report does not set a relay's rank. It asks the Oracle to measure that\nrelay *now*, and "},{"name":"resolve_authority_for","description":"Resolve the certifying Authority for an operator npub.\n\nReturns the Authority's ``{npub, url, name}`` (from the operator's\n``upstream_authority_npub``). Use thi"},{"name":"resolve_service","description":"Resolve a DPYC service by ``name`` or ``npub``.\n\nReturns ``{npub, url, name, role, purchase_mode}`` where ``purchase_mode``\nis the registry-topology fact ``\"cer"},{"name":"request_citizenship","description":"Begin the citizen registration process (Operator-owned flow).\n\nThis is the **citizen** registration path. Called by the Operator on\nbehalf of a patron — invokes"},{"name":"confirm_citizenship","description":"Complete the citizen registration by submitting a signed Nostr event.\n\nThis is part of the **citizen** registration flow (Operator-owned).\nThe Operator calls th"},{"name":"register_authority","description":"Register a new Authority in the DPYC community registry.\n\nCalled by an Authority service at the end of the onboarding protocol\n(after the candidate proves npub "},{"name":"register_operator","description":"Register a new Operator in the DPYC community registry.\n\nCalled by an Authority service after the operator requests registration.\nThe Authority validates the op"},{"name":"update_operator","description":"Update an existing Operator's registry entry.\n\nUsed when an Operator moves to a new MCP endpoint, changes its\ndisplay name, or needs to correct a registration. "},{"name":"deregister_operator","description":"Remove an Operator from the DPYC community registry.\n\nCalled when an Authority disowns an Operator.  An Operator cannot\nexist without a sponsoring Authority, so"},{"name":"register_advocate","description":"Register a new Advocate in the DPYC community registry.\n\nAdvocates are community utility services that provide shared\ninfrastructure (e.g., OAuth2 callback coll"},{"name":"check_ban_status","description":"Check whether an npub is banned from the DPYC Social Contract.\n\nLooks up the member in the community registry and checks whether\ntheir status is \"banned\".  Unkn"},{"name":"renounce_membership","description":"Citizen self-removal from the DPYC Social Contract via automated PR.\n\nNot yet implemented — will create a GitHub PR to remove the member\nfrom the registry."},{"name":"initiate_ban_election","description":"Initiate a community ban election against a member.\n\nNot yet implemented — will create a GitHub Issue with a 72-hour\ndiscussion period and Lightning-funded econ"},{"name":"cast_ban_vote","description":"Cast a Lightning-funded vote in an active ban election.\n\nNot yet implemented — will verify npub membership, validate the\nelection is active, and record the vote"},{"name":"publish_campaign","description":"Publish a pricing campaign to the DPYC community.\n\nCommits both a machine-importable JSON file and a human-readable\nMarkdown summary to the dpyc-community campa"},{"name":"list_campaigns","description":"List published pricing campaigns from the DPYC community.\n\nOptionally filter by operator or author npub."},{"name":"get_campaign","description":"Retrieve a published pricing campaign."}],"toolCount":30,"serverName":"dpyc-oracle","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"3.4.7","protocolVersion":"2025-06-18"}},{"at":"2026-09-06T19:21:22.367Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":373,"error":null,"detail":{"tools":[{"name":"about","description":"Extended narration about DPYC, the Social Contract, and the Oracle.\n\nFetches README.md and GOVERNANCE.md from the dpyc-community repo and\nassembles a comprehens"},{"name":"lookup_member","description":"Look up a member by their Nostr npub.\n\nCan look up any role's npub — citizen, operator, or authority.\nReturns the full member record if found, or a not-found me"},{"name":"get_tax_rate","description":"Explain how Tollbooth certification taxation works.\n\nTaxation is ad valorem and **per-Authority** — there is no single\nnetwork-wide number, and the Oracle delib"},{"name":"economic_model","description":"Explain the DPYC Social Contract economic model — qualitatively.\n\nDescribes how value flows through the network: ad valorem\ncertification fees, the cascade up t"},{"name":"get_rulebook","description":"Fetch the DPYC Social Contract governance document.\n\nReturns the raw markdown of GOVERNANCE.md from the dpyc-community repo."},{"name":"how_to_join","description":"Tier-specific onboarding guide for joining the DPYC Social Contract.\n\nCovers all five tiers: Citizen, Advocate, Operator, Authority, and\nFirst Curator. Includes"},{"name":"who_is_first_curator","description":"Identify the First Curator (Prime Authority) of the Certification Chain.\n\nReturns the curator's npub, display name, and member record."},{"name":"network_versions","description":"Get current recommended versions of all Tollbooth components.\n\nReturns component versions, minimum compatibility, active protocols,\nand a short advisory summary"},{"name":"network_advisory","description":"Get current network deployment advisory.\n\nReturns human-readable guidance on what changed recently, urgent\nupgrades, and actions operators should take. Fetched "},{"name":"how_to_add_authority","description":"End-to-end guide for spinning up a new Tollbooth Authority.\n\nReturns the eight-step procedure covering identity, region selection,\nGitHub workspace, dpyc-commun"},{"name":"service_status","description":"Diagnostic: report this service's software versions and runtime info.\n\nFree, unauthenticated. Use to verify deployment versions across the\nDPYC ecosystem."},{"name":"list_services","description":"Enumerate the live DPYC service network with self-described summaries.\n\nReads the member roster from the dpyc-community registry, then (when\n``probe=True``) per"},{"name":"get_relays","description":"Return the DPYC Nostr relay set, best first.\n\nThe single source of truth is ``dpyc-community/relays.json``. An Operator\nseeds its relay set from here at cold st"},{"name":"report_relay_failure","description":"Report that a relay in the DPYC set was unreachable, and re-rank it.\n\nA report does not set a relay's rank. It asks the Oracle to measure that\nrelay *now*, and "},{"name":"resolve_authority_for","description":"Resolve the certifying Authority for an operator npub.\n\nReturns the Authority's ``{npub, url, name}`` (from the operator's\n``upstream_authority_npub``). Use thi"},{"name":"resolve_service","description":"Resolve a DPYC service by ``name`` or ``npub``.\n\nReturns ``{npub, url, name, role, purchase_mode}`` where ``purchase_mode``\nis the registry-topology fact ``\"cer"},{"name":"request_citizenship","description":"Begin the citizen registration process (Operator-owned flow).\n\nThis is the **citizen** registration path. Called by the Operator on\nbehalf of a patron — invokes"},{"name":"confirm_citizenship","description":"Complete the citizen registration by submitting a signed Nostr event.\n\nThis is part of the **citizen** registration flow (Operator-owned).\nThe Operator calls th"},{"name":"register_authority","description":"Register a new Authority in the DPYC community registry.\n\nCalled by an Authority service at the end of the onboarding protocol\n(after the candidate proves npub "},{"name":"register_operator","description":"Register a new Operator in the DPYC community registry.\n\nCalled by an Authority service after the operator requests registration.\nThe Authority validates the op"},{"name":"update_operator","description":"Update an existing Operator's registry entry.\n\nUsed when an Operator moves to a new MCP endpoint, changes its\ndisplay name, or needs to correct a registration. "},{"name":"deregister_operator","description":"Remove an Operator from the DPYC community registry.\n\nCalled when an Authority disowns an Operator.  An Operator cannot\nexist without a sponsoring Authority, so"},{"name":"register_advocate","description":"Register a new Advocate in the DPYC community registry.\n\nAdvocates are community utility services that provide shared\ninfrastructure (e.g., OAuth2 callback coll"},{"name":"check_ban_status","description":"Check whether an npub is banned from the DPYC Social Contract.\n\nLooks up the member in the community registry and checks whether\ntheir status is \"banned\".  Unkn"},{"name":"renounce_membership","description":"Citizen self-removal from the DPYC Social Contract via automated PR.\n\nNot yet implemented — will create a GitHub PR to remove the member\nfrom the registry."},{"name":"initiate_ban_election","description":"Initiate a community ban election against a member.\n\nNot yet implemented — will create a GitHub Issue with a 72-hour\ndiscussion period and Lightning-funded econ"},{"name":"cast_ban_vote","description":"Cast a Lightning-funded vote in an active ban election.\n\nNot yet implemented — will verify npub membership, validate the\nelection is active, and record the vote"},{"name":"publish_campaign","description":"Publish a pricing campaign to the DPYC community.\n\nCommits both a machine-importable JSON file and a human-readable\nMarkdown summary to the dpyc-community campa"},{"name":"list_campaigns","description":"List published pricing campaigns from the DPYC community.\n\nOptionally filter by operator or author npub."},{"name":"get_campaign","description":"Retrieve a published pricing campaign."}],"toolCount":30,"serverName":"dpyc-oracle","capabilities":["experimental","logging","prompts","resources","tools","extensions"],"serverVersion":"3.4.7","protocolVersion":"2025-06-18"}}],"tools":[{"name":"about","description":"Extended narration about DPYC, the Social Contract, and the Oracle.\n\nFetches README.md and GOVERNANCE.md from the dpyc-community repo and\nassembles a comprehens"},{"name":"lookup_member","description":"Look up a member by their Nostr npub.\n\nCan look up any role's npub — citizen, operator, or authority.\nReturns the full member record if found, or a not-found me"},{"name":"get_tax_rate","description":"Explain how Tollbooth certification taxation works.\n\nTaxation is ad valorem and **per-Authority** — there is no single\nnetwork-wide number, and the Oracle delib"},{"name":"economic_model","description":"Explain the DPYC Social Contract economic model — qualitatively.\n\nDescribes how value flows through the network: ad valorem\ncertification fees, the cascade up t"},{"name":"get_rulebook","description":"Fetch the DPYC Social Contract governance document.\n\nReturns the raw markdown of GOVERNANCE.md from the dpyc-community repo."},{"name":"how_to_join","description":"Tier-specific onboarding guide for joining the DPYC Social Contract.\n\nCovers all five tiers: Citizen, Advocate, Operator, Authority, and\nFirst Curator. Includes"},{"name":"who_is_first_curator","description":"Identify the First Curator (Prime Authority) of the Certification Chain.\n\nReturns the curator's npub, display name, and member record."},{"name":"network_versions","description":"Get current recommended versions of all Tollbooth components.\n\nReturns component versions, minimum compatibility, active protocols,\nand a short advisory summary"},{"name":"network_advisory","description":"Get current network deployment advisory.\n\nReturns human-readable guidance on what changed recently, urgent\nupgrades, and actions operators should take. Fetched "},{"name":"how_to_add_authority","description":"End-to-end guide for spinning up a new Tollbooth Authority.\n\nReturns the eight-step procedure covering identity, region selection,\nGitHub workspace, dpyc-commun"},{"name":"service_status","description":"Diagnostic: report this service's software versions and runtime info.\n\nFree, unauthenticated. Use to verify deployment versions across the\nDPYC ecosystem."},{"name":"list_services","description":"Enumerate the live DPYC service network with self-described summaries.\n\nReads the member roster from the dpyc-community registry, then (when\n``probe=True``) per"},{"name":"get_relays","description":"Return the DPYC Nostr relay set, best first.\n\nThe single source of truth is ``dpyc-community/relays.json``. An Operator\nseeds its relay set from here at cold st"},{"name":"report_relay_failure","description":"Report that a relay in the DPYC set was unreachable, and re-rank it.\n\nA report does not set a relay's rank. It asks the Oracle to measure that\nrelay *now*, and "},{"name":"resolve_authority_for","description":"Resolve the certifying Authority for an operator npub.\n\nReturns the Authority's ``{npub, url, name}`` (from the operator's\n``upstream_authority_npub``). Use thi"},{"name":"resolve_service","description":"Resolve a DPYC service by ``name`` or ``npub``.\n\nReturns ``{npub, url, name, role, purchase_mode}`` where ``purchase_mode``\nis the registry-topology fact ``\"cer"},{"name":"request_citizenship","description":"Begin the citizen registration process (Operator-owned flow).\n\nThis is the **citizen** registration path. Called by the Operator on\nbehalf of a patron — invokes"},{"name":"confirm_citizenship","description":"Complete the citizen registration by submitting a signed Nostr event.\n\nThis is part of the **citizen** registration flow (Operator-owned).\nThe Operator calls th"},{"name":"register_authority","description":"Register a new Authority in the DPYC community registry.\n\nCalled by an Authority service at the end of the onboarding protocol\n(after the candidate proves npub "},{"name":"register_operator","description":"Register a new Operator in the DPYC community registry.\n\nCalled by an Authority service after the operator requests registration.\nThe Authority validates the op"},{"name":"update_operator","description":"Update an existing Operator's registry entry.\n\nUsed when an Operator moves to a new MCP endpoint, changes its\ndisplay name, or needs to correct a registration. "},{"name":"deregister_operator","description":"Remove an Operator from the DPYC community registry.\n\nCalled when an Authority disowns an Operator.  An Operator cannot\nexist without a sponsoring Authority, so"},{"name":"register_advocate","description":"Register a new Advocate in the DPYC community registry.\n\nAdvocates are community utility services that provide shared\ninfrastructure (e.g., OAuth2 callback coll"},{"name":"check_ban_status","description":"Check whether an npub is banned from the DPYC Social Contract.\n\nLooks up the member in the community registry and checks whether\ntheir status is \"banned\".  Unkn"},{"name":"renounce_membership","description":"Citizen self-removal from the DPYC Social Contract via automated PR.\n\nNot yet implemented — will create a GitHub PR to remove the member\nfrom the registry."},{"name":"initiate_ban_election","description":"Initiate a community ban election against a member.\n\nNot yet implemented — will create a GitHub Issue with a 72-hour\ndiscussion period and Lightning-funded econ"},{"name":"cast_ban_vote","description":"Cast a Lightning-funded vote in an active ban election.\n\nNot yet implemented — will verify npub membership, validate the\nelection is active, and record the vote"},{"name":"publish_campaign","description":"Publish a pricing campaign to the DPYC community.\n\nCommits both a machine-importable JSON file and a human-readable\nMarkdown summary to the dpyc-community campa"},{"name":"list_campaigns","description":"List published pricing campaigns from the DPYC community.\n\nOptionally filter by operator or author npub."},{"name":"get_campaign","description":"Retrieve a published pricing campaign."}],"package":null},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.lonniev/dpyc-oracle","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.lonniev%2Fdpyc-oracle","firstSeenAt":"2026-09-06T18:19:25.596Z","fetchedAt":"2026-09-06T18:19:25.596Z","normalizedAt":"2026-09-06T18:19:25.596Z"}]},"firstSeenAt":"2026-09-06T18:19:25.596Z","updatedAt":"2026-09-08T00:24:31.008Z"}