MCP Hub
Back to servers

Sponge MCP Server

Provides a Model Context Protocol interface to the Sponge wallet API for managing digital assets and transaction histories. It enables users to securely check balances, retrieve addresses, and perform transfers using DAuth-style credential exchange.

glama
Updated
Mar 11, 2026

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.

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.

Reviews

No reviews yet

Sign in to write a review