{"apiVersion":"v1","directorySlug":"oakspoke-mcp-1a76c0c61d","title":"Oakspoke","description":null,"pageUrl":"https://www.mcpbundles.com/skills/oakspoke-mcp-1a76c0c61d","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.oakspoke.com/mcp","hostedMcpUrl":null,"toolCount":14,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"com.oakspoke/oakspoke-mcp-1a76c0c61d","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"getBlock","description":"Retrieve a finalized block from the Oakspoke chain. Returns the latest block when blockNumber is omitted.","inputSchema":{"type":"object","properties":{"lite":{"type":"boolean"},"blockNumber":{"type":"integer","minimum":0}}},"logicalName":"getBlock","displayName":"getBlock","title":"getBlock","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"getBalance","description":"Get the Oakspoke balance for a GeoKey location.","inputSchema":{"type":"object","required":["location"],"properties":{"location":{"type":"string"},"confirmed":{"type":"boolean"}}},"logicalName":"getBalance","displayName":"getBalance","title":"getBalance","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"getProof","description":"Generate a Merkle proof for the balance at the given location.","inputSchema":{"type":"object","required":["location"],"properties":{"location":{"type":"string"}}},"logicalName":"getProof","displayName":"getProof","title":"getProof","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"getStateRoot","description":"Get the current canonical stateRoot from balances.json.","inputSchema":{"type":"object","properties":{}},"logicalName":"getStateRoot","displayName":"getStateRoot","title":"getStateRoot","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"getParams","description":"Read network governance and core parameters (oakName, transactionFee, rewardInterval, etc.).","inputSchema":{"type":"object","properties":{}},"logicalName":"getParams","displayName":"getParams","title":"getParams","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"submitTransaction","description":"Submit a signed transaction bundle to the chain.","inputSchema":{"type":"object","required":["transaction"],"properties":{"transaction":{"type":"object"}}},"logicalName":"submitTransaction","displayName":"submitTransaction","title":"submitTransaction","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"health","description":"CA health check — returns version, status, and timestamp.","inputSchema":{"type":"object","properties":{}},"logicalName":"health","displayName":"health","title":"health","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"claimLocation","description":"Generate a fresh, unclaimed Oakspoke GeoKey for a new user. Random hashA/hashB identity bits and random sub-cell offsets are produced with a CSPRNG; cell coordinates are uniformly random within the map dimensions reported by /params unless x and y are supplied.","inputSchema":{"type":"object","properties":{"x":{"type":"integer","minimum":0},"y":{"type":"integer","minimum":0}}},"logicalName":"claimLocation","displayName":"claimLocation","title":"claimLocation","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"pay","description":"Open the Oakspoke send-payment UI as an inline app. Renders an iframe pointing at https://oakspoke.com/#send so the user can compose and submit a transaction without leaving the conversation.","inputSchema":{"type":"object","properties":{}},"logicalName":"pay","displayName":"pay","title":"pay","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"chargeCard","description":"DIRECT card charge — debit an osdebitcard and submit a signed acoorn transaction to an arbitrary destination. Use this ONLY for ad-hoc payments (e.g., paying a merchant directly). DO NOT call this after buyItem — buyItem already performs the full charge and on-chain settlement internally. Proxies to the chargeDebitCard endpoint at /chargeCard. Default memo is \"🤖➡️\".","inputSchema":{"type":"object","required":["cardID","amount","destination"],"properties":{"memo":{"type":"string"},"amount":{"type":"number","exclusiveMinimum":0},"cardID":{"type":"string"},"destination":{"type":"string"}}},"logicalName":"chargeCard","displayName":"chargeCard","title":"chargeCard","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"buyItem","description":"Purchase an item from the Oakspoke General Store using an osdebitcard. This is a SINGLE TERMINAL CALL that performs the entire purchase end-to-end: it atomically claims the deliverable, debits the card, signs and submits the on-chain transaction, and returns the delivered link/code. On a 200 response the purchase is COMPLETE — do NOT call chargeCard or submitTransaction afterward. If the charge fails the claim is rolled back so nothing is lost. Use browseStore first to find sku values.","inputSchema":{"type":"object","required":["cardID","sku"],"properties":{"sku":{"type":"string"},"cardID":{"type":"string"}}},"logicalName":"buyItem","displayName":"buyItem","title":"buyItem","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"browseStore","description":"Browse items available for purchase in the Oakspoke General Store. Returns the public catalog (sku, title, description, price in ACN, type, stock). Does not expose codes or links — those are only delivered by buyItem after a successful charge.","inputSchema":{"type":"object","properties":{}},"logicalName":"browseStore","displayName":"browseStore","title":"browseStore","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"fetch","description":"Fetch a resource by id. Supports \"block:<n>\", \"balance:<location>\", \"proof:<location>\", or a bare numeric block id.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}},"logicalName":"fetch","displayName":"fetch","title":"fetch","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"search","description":"Heuristic search over Oakspoke resources. Numeric queries map to blocks; \"X:..._Y:...\" queries map to balances; otherwise returns the latest block.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string"}}},"logicalName":"search","displayName":"search","title":"search","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Oakspoke&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3Aub2Frc3Bva2UuY29tL21jcCJ9"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Oakspoke%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.oakspoke.com%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Oakspoke%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.oakspoke.com%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Oakspoke&connectorUrl=https%3A%2F%2Fmcp.oakspoke.com%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Oakspoke\" --url \"https://mcp.oakspoke.com/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/oakspoke-mcp-1a76c0c61d","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/oakspoke-mcp-1a76c0c61d/tools/{tool}","mcpServerUrl":"https://mcp.oakspoke.com/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/oakspoke-mcp-1a76c0c61d?live=1"}