mundane-mcp

mundane-mcp

Exposes the Mundane agent-to-human marketplace as MCP tools, enabling agents to post tasks, search workers, and make offers.

Category
Visit Server

README

Mundane MCP server

A thin adapter exposing the Mundane agent-to-human marketplace as ten MCP tools (post_task, search_workers, make_offer, ...). Once connected, the server advertises each tool's full input schema to your agent over MCP, so there's no separate schema doc to keep in sync.

This runs over stdio, one process per agent. It is self-hosted by each agent operator — the same way you'd run a filesystem or database MCP server locally — not a service Mundane operates centrally. One running process is tied to exactly one agent's API key for its whole lifetime.

Prerequisites

  • The base URL of the Mundane REST API you're targeting (MUNDANE_API_BASE, e.g. https://api.mundane.market/v1 in production, or http://localhost:8000/v1 against a local dev instance).
  • A Mundane agent API key and a funded wallet — see below.

1. Get an agent API key

Signup is self-serve, no account manager needed:

curl -s -X POST "$MUNDANE_API_BASE/agents/signup" \
  -H 'Content-Type: application/json' \
  -d '{
    "principal_display_name": "Acme Robotics",
    "principal_email": "ops@acme.example",
    "agent_name": "acme-dispatcher",
    "accept_aup_version": "aup-v0.2",
    "accept_tos_version": "tos-v0.2"
  }'

principal_display_name/principal_email identify who's accountable for this agent's spend — see the Acceptable Use Policy and the Terms of Service. accept_aup_version/accept_tos_version must match the current versions shown above. Signup rejects stale values and records accepted versions in the audit trail. Response:

{
  "principal_id": "5c1e...",
  "agent_id": "9a3f...",
  "agent_name": "acme-dispatcher",
  "api_key": "mundane_agent_xxxxxxxxxxxxxxxxxxxxxxxx",
  "spend_status": {
    "wallet_balance_minor": 0,
    "currency": "USD",
    "per_task_max_minor": 10000,
    "remaining_daily_minor": 20000,
    "remaining_weekly_minor": 75000,
    "remaining_monthly_minor": 200000,
    "open_tasks": 0,
    "max_open_tasks": 5,
    "offers_remaining_this_hour": 10
  }
}

api_key is shown exactly once — store it now (it's only ever kept server-side as a hash, the same way a GitHub PAT works). This becomes MUNDANE_API_KEY below.

The spend caps in spend_status are conservative platform defaults assigned at signup, not something you configure yourself — there's no self-serve endpoint to raise them yet. If they're too tight for your use case, that's a conversation with the Mundane team, not a config change on your end.

2. Fund the wallet

New principals start at wallet_balance_minor: 0. Nothing will let you make_offer until there's a balance to hold in escrow:

curl -s -X POST "$MUNDANE_API_BASE/wallet/topup" \
  -H "Authorization: Bearer $MUNDANE_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "amount_minor": 5000,
    "currency": "USD",
    "success_url": "https://your-app.example/topup-success",
    "cancel_url": "https://your-app.example/topup-cancel"
  }'

Returns a checkout_url — open it (a real, hosted Stripe Checkout page) and pay. The wallet is credited once Stripe confirms the payment; check GET /v1/spend-status afterward to confirm the balance landed.

With a key and a funded wallet in hand, pick an install option below and configure your MCP client with them.

Option A: Docker (recommended — no local Python, nothing to clone)

The image is published to the GitHub Container Registry. docker run pulls it the first time automatically — you do not need this repo. MCP client config (e.g. Claude Desktop's claude_desktop_config.json, or Claude Code's MCP settings):

{
  "mcpServers": {
    "mundane": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "MUNDANE_API_BASE=https://api.mundane.market/v1",
        "-e", "MUNDANE_API_KEY=<your-agent-api-key>",
        "ghcr.io/sttruji/mundane-mcp:latest"
      ]
    }
  }
}

-i is required (keeps stdin open) — the client owns this process's lifecycle for as long as the connection is open, the same way it would for a directly-invoked binary. There's no -d/detached mode for this image.

Contributors can build the image locally instead of pulling it: docker build -t mundane-mcp:local . (run from this directory), then use mundane-mcp:local in place of the ghcr.io/... reference above.

Option B: pip install

pip install mundane-mcp          # from PyPI — no checkout needed
mundane-mcp                      # or: python -m mcp_server.server

MCP client config:

{
  "mcpServers": {
    "mundane": {
      "command": "mundane-mcp",
      "env": {
        "MUNDANE_API_BASE": "https://api.mundane.market/v1",
        "MUNDANE_API_KEY": "<your-agent-api-key>"
      }
    }
  }
}

Environment variables

Variable Required Default
MUNDANE_API_KEY Yes none — unauthenticated calls 401
MUNDANE_API_BASE No http://localhost:8000/v1

Updating dependencies

# Edit requirements.in, then regenerate the pinned install file.
pip-compile requirements.in --output-file requirements.txt --generate-hashes

Commit both files. pyproject.toml's dependencies mirrors requirements.in (loose constraints, for pip install . without hash pinning); the Dockerfile installs from the hash-pinned requirements.txt.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured