Skip to main content
Glama

sponge-mcp

A scaffold for a Sponge MCP server built with dedalus-mcp and DAuth-style credential exchange.

This server follows a DAuth-style credential exchange pattern:

  • Credentials are provided by clients at runtime.

  • The server declares a Connection with SecretKeys.

  • Tool calls dispatch through Dedalus secure connection handles.

Scaffold Scope

  • DAuth-compatible API key authentication (SPONGE_API_KEY).

  • Configurable Sponge base URL via SPONGE_BASE_URL.

  • Read-only wallet inspection tools for the core Sponge wallet API.

  • Includes a smoke ping tool for quick MCP handshake validation.

  • Keeps the implementation intentionally small so Sponge engineers can extend it.

Related MCP server: Bankless Onchain MCP Server

Setup

  1. Create a Sponge API key.

  2. Copy env template:

cp .env.example .env

Required:

  • SPONGE_API_KEY (provided by the MCP client via DAuth credentials in production flows)

Optional:

  • SPONGE_BASE_URL (defaults to https://api.wallet.paysponge.com)

  • DEDALUS_AS_URL (defaults to https://as.dedaluslabs.ai)

  • HOST (defaults to 127.0.0.1)

  • PORT (defaults to 8080)

Run

uv run python src/main.py

Hosted SDK usage

For the current published Dedalus Python SDK, hosted MCP credentials are matched using a slug-derived connection name. For this deploy, use tsion-sponge-mcp when constructing runtime SecretValues:

import os

from dedalus_labs import AsyncDedalus, DedalusRunner
from dedalus_mcp.auth import Connection, SecretKeys, SecretValues

sponge = Connection(
    name="name-of-server", #if name of server is tsion/sponge-mcp use tsion-sponge-mcp
    secrets=SecretKeys(api_key="SPONGE_API_KEY"),
    base_url="https://api.wallet.paysponge.com",
    auth_header_format="Bearer {api_key}",
)
sponge_secrets = SecretValues(sponge, api_key=os.getenv("SPONGE_API_KEY", ""))

client = AsyncDedalus(
    api_key=os.getenv("DEDALUS_API_KEY"),
    as_base_url="https://as.dedaluslabs.ai",
)
runner = DedalusRunner(client)

result = await runner.run(
    input="Use Sponge to get my wallet balances.",
    model="openai/gpt-4.1-mini",
    mcp_servers=["tsion/sponge-mcp"],
    credentials=[sponge_secrets],
)

Tool Surface

  • sponge_get_addresses

  • sponge_get_balances

  • sponge_get_balance

  • sponge_get_transaction_history

  • sponge_get_transaction_status

  • smoke_ping

Notes

  • Sponge wallet endpoints are served from https://api.wallet.paysponge.com.

  • This scaffold is intentionally wallet-only for now; future admin tools can be layered on once Sponge exposes a stable public REST surface for them.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    F
    maintenance
    Implements the Model Context Protocol to allow AI models to access and interact with blockchain data, including reading contract states, retrieving events, and accessing transaction information across various networks.
    10
    40 npm
    80
    MIT
  • F
    license
    B
    quality
    Not graded
    maintenance
    Provides access to YNAB (You Need A Budget) functionality through the Model Context Protocol, allowing users to view account balances, access transaction data, and create new transactions.
    10
    -