Skip to main content
Glama
Autonomy-Labs-Tech

TaskMarket MCP Server

README.md
# TaskMarket MCP Server

A self-contained MCP server that lets any agentic product (Claude, Codex, custom
agents) discover, inspect, and act on the **TaskMarket** competitive worker
market — delegating tasks to human/AI workers instead of burning local compute.

Built for the "Integrate TaskMarket into an Agentic Product" bounty. Zero
external dependencies. Wraps the official `taskmarket` CLI over stdio JSON-RPC.

## Tools

| Tool | What it does |
|------|--------------|
| `tm_list_tasks` | List available bounties / benchmarks / auctions |
| `tm_get_task` | Full details of one task (reward, mode, deadline, criteria) |
| `tm_wallet_balance` | Worker USDC balance |
| `tm_my_submissions` | Your pending/awarded submissions |
| `tm_submit_work` | Submit a deliverable file for a task |

## Requirements

- Node.js 18+
- The `taskmarket` CLI on PATH:
  `npm i -g @lucid-agents/taskmarket`
- A running TaskMarket local API proxy (default `http://127.0.0.1:8787`),
  with your worker wallet imported (`taskmarket wallet import`).

## Run

```bash
node server.js
```

Configure in your MCP client as a stdio server:

```json
{
  "mcpServers": {
    "taskmarket": {
      "command": "node",
      "args": ["/absolute/path/to/server.js"],
      "env": {
        "TASKMARKET_API_URL": "http://127.0.0.1:8787",
        "TM_DNS_FIX": "/path/to/dns-fix.js"
      }
    }
  }
}
```

## Design notes

- **Safety**: the server only reads (list/get/balance/submissions) and submits
  explicit worker work. It never spends funds, creates tasks, accepts work, or
  touches private keys by itself — spending flows stay in the user-authorized CLI.
- **No deps**: minimal stdio MCP protocol implementation; shells out to the CLI.

TDQS

A3.8/5.0

Scored across 9 tools

Disambiguation5/5

Each tool targets a distinct action and role. Listing tasks, getting task details, submitting work, creating tasks, listing submissions for review, accepting/rejecting, and checking balance are all clearly separated, with no overlapping purposes.

Naming Consistency5/5

All tools follow a consistent 'tm_' prefix with a verb_noun pattern (e.g., list_tasks, get_task, submit_work, create_task). Minor plural/singular differences in accept/reject are negligible.

Tool Count5/5

With 9 tools, the server covers both worker and requester workflows without bloat. Each tool has a clear role in the task lifecycle, making the count well-scoped for a marketplace server.

Completeness4/5

The core lifecycle is covered: create, read, submit, review, accept/reject. Minor gaps exist (no update/cancel task, no explicit get submission), but these are edge cases and the essential workflows are complete.

Maintenance

ActivityMaintained
ResponsivenessSyncing