streamable-httpApache-2.0updated 9d ago
A free, unauthenticated MCP concierge service for the DPYC Social Contract. The Oracle answers questions about membership, governance, onboarding, and tax rates by reading the dpyc-community GitHub registry live. No credits, no Neon database, no Secure Courier, no payment or credentials required.
What can you do with dpyc oracle?
DPYC Oracle
A free, unauthenticated MCP concierge service for the DPYC Social Contract. The Oracle answers questions about membership, governance, onboarding, and tax rates by reading the dpyc-community GitHub registry live. No credits, no Neon database, no Secure Courier, no payment or credentials required.
Available Tools
| Tool | Params | Description |
|---|---|---|
about() |
ā | Extended narration from repo docs (README + GOVERNANCE) |
lookup_member(npub) |
npub: str |
Look up a member by Nostr npub |
list_services(probe, kind) |
probe: bool = True, kind: str = "all" |
Enumerate the live service network from the registry, optionally MCP-handshaking each member for its own self-description and tool inventory |
get_tax_rate() |
ā | Explains per-Authority ad valorem certification taxation; quotes no rate of its own and redirects to the relevant Authority's check_price |
economic_model() |
ā | Qualitative model of how value flows up the Certification Chain (no hardcoded rates, counts, or revenue figures) |
get_rulebook() |
ā | GOVERNANCE.md content |
how_to_join() |
ā | Tier-specific onboarding guide |
how_to_add_authority() |
ā | End-to-end guide for spinning up a new Tollbooth Authority (fetched live from dpyc-community) |
who_is_first_curator() |
ā | First Curator's npub and record |
network_versions() |
ā | Current recommended component versions |
network_advisory() |
ā | Deployment advisory for operators |
service_status() |
ā | Runtime version diagnostics |
request_citizenship(npub, display_name) |
npub: str, display_name: str |
Begin citizenship onboarding (issues challenge) |
confirm_citizenship(npub, challenge_id, signed_event_json) |
npub: str, challenge_id: str, signed_event_json: str |
Complete onboarding with signed Nostr event |
register_advocate(npub, display_name, service_name, service_url, service_description) |
npub: str, display_name: str, service_name: str, service_url: str, service_description: str |
Register a community utility service as an Advocate |
register_authority(authority_npub, display_name, service_url, upstream_authority_npub) |
authority_npub: str, display_name: str, service_url: str, upstream_authority_npub: str |
Register a new Authority (called by onboarding flow) |
register_operator(operator_npub, display_name, service_url, authority_npub) |
operator_npub: str, display_name: str, service_url: str, authority_npub: str |
Register a new Operator (called by the sponsoring Authority) |
update_operator(operator_npub, service_url, display_name, authority_npub) |
operator_npub: str, service_url: str = "", display_name: str = "", authority_npub: str = "" |
Update an existing Operator's registry entry (e.g. new MCP endpoint) |
deregister_operator(operator_npub, authority_npub) |
operator_npub: str, authority_npub: str |
Remove an Operator from the registry (Authority disowns the Operator) |
check_ban_status(npub) |
npub: str |
Check if an npub is banned |
publish_campaign(author_npub, operator_npub, campaign_json, campaign_name, campaign_markdown) |
author_npub: str, operator_npub: str, campaign_json: str, campaign_name: str = "", campaign_markdown: str = "" |
Publish a pricing campaign to the DPYC community |
list_campaigns(operator_npub, author_npub) |
operator_npub: str = "", author_npub: str = "" |
List published pricing campaigns, optionally filtered by operator or author |
get_campaign(author_npub, operator_npub, slug, format) |
author_npub: str, operator_npub: str, slug: str, format: str = "json" |
Retrieve a published pricing campaign (JSON or Markdown) |
Stubbed (Future)
| Tool | Description |
|---|---|
renounce_membership(npub) |
Citizen self-removal via automated PR |
initiate_ban_election(target_npub, reason) |
Start economic ban voting |
cast_ban_vote(election_id, vote, npub) |
Lightning-funded ban vote |
Citizenship Onboarding
New citizens can self-register via Schnorr signature verification:
request_citizenship(npub, display_name)ā issues a cryptographic challenge- Sign the challenge with your Nostr nsec (offline, nsec never leaves your device)
confirm_citizenship(npub, challenge_id, signed_event_json)ā verifies signature and auto-commits
On success, the Oracle creates an individual member file at members/citizens/{npub}.json in dpyc-community. The CI workflow auto-regenerates members.json from individual files.
Advocate Registration
Advocates are community utility services (e.g., OAuth2 collectors) that provide shared infrastructure but aren't monetized Operators. Registration is Oracle-mediated ā no challenge-response needed:
register_advocate(
npub="<service_npub>",
display_name="My Service",
service_name="my-service",
service_url="https://my-service.fastmcp.app",
service_description="What the service does",
)
The Oracle commits members/advocates/{npub}.json directly. Peer MCP servers discover the service URL via resolve_service_by_name() in the tollbooth-dpyc registry client.
How to Connect
This service is hosted on Horizon. Add it to your MCP client configuration:
{
"mcpServers": {
"dpyc-oracle": {
"url": "https://dpyc-oracle.fastmcp.app/mcp"
}
}
}
Related Repos
The authoritative, always-current roster lives in the registry ā call lookup_member() / network_versions() for live data. The stable source repos:
Core
- dpyc-community ā Registry, governance, and membership data
- tollbooth-dpyc ā Python SDK every Operator and Authority builds on
- tollbooth-sample ā Reference Operator template for new services
- tollbooth-pricing-studio ā iOS app Operators use to design pricing models
Authorities (certification chain)
- tollbooth-authority ā Certification + fee ledger
- tollbooth-authority-northamerica ā Regional certifier
- tollbooth-authority-newengland ā Sub-regional certifier
Operators
- thebrain-mcp ā Personal Brain knowledge graph
- excalibur-mcp ā X/Twitter posting
- schwab-mcp ā Charles Schwab brokerage data
- taxsort-mcp ā Tax sorting + classification
- optionality-mcp ā Options analytics
- cypher-mcp ā Monetized graph answers (named Cypher over Neo4j/AuraDB)
Advocates (shared utilities, unmonetized)
- tollbooth-oauth2-collector ā OAuth2 authorization-code collection
- tollbooth-shortlinks ā Ephemeral short URLs for OAuth flows
License
Apache-2.0
Install
Add dpyc oracle to your client. Pick the one you use.
claude mcp add --transport http dpyc-oracle https://dpyc-oracle.fastmcp.app/mcpcodex mcp add dpyc-oracle --url https://dpyc-oracle.fastmcp.app/mcp{
"mcpServers": {
"dpyc-oracle": {
"url": "https://dpyc-oracle.fastmcp.app/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"dpyc-oracle": {
"type": "http",
"url": "https://dpyc-oracle.fastmcp.app/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"dpyc-oracle": {
"url": "https://dpyc-oracle.fastmcp.app/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"dpyc-oracle": {
"serverUrl": "https://dpyc-oracle.fastmcp.app/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance25/25
- Trust13/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 1 days ago
- Has a release history
- Repository is not archived
- Licensed Apache-2.0
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint ā no local install
Version history
| Versions | Published |
|---|---|
| 0.3.0Latest | Aug 24, 2026 |
| 0.2.16 | Aug 24, 2026 |
| 0.2.15 | Aug 10, 2026 |