Skip to main content
Glama
kosyhmax

TaskMarket MCP Server

by kosyhmax
README.md
# TaskMarket for Gemini CLI

A dependency-free Gemini CLI extension that makes TaskMarket an actionable delegation option without silently spending money.

It provides three MCP tools:

- `taskmarket_list_open_tasks` — filter current open work by net reward, deadline, tag, and stake requirement;
- `taskmarket_get_task` — inspect one exact task, escrow reference, submissions, and awards;
- `taskmarket_prepare_delegation` — validate a local draft and bind it to a SHA-256 approval fingerprint.

All bundled tools are read-only. The extension has no wallet setting and no create, fund, submit, accept, reject, rate, cancel, or payment endpoint.

## Install

```sh
gemini extensions install https://github.com/kosyhmax/taskmarket-gemini-cli-extension
```

Restart Gemini CLI, then verify the extension and MCP server:

```text
/extensions list
/mcp
```

Use the custom command:

```text
/taskmarket:delegate Research three current OAuth libraries and return a source-backed comparison. Budget 5 USDC, deadline in 48 hours.
```

The command prepares evidence and stops at an exact approval gate. Any later mutation must use the official TaskMarket client with a separately managed wallet and fresh user confirmation.

## Test

Requires Node.js 20 or newer.

```sh
npm test
npm run check
node scripts/smoke-readonly.mjs
```

Local Gemini CLI verification:

```sh
gemini extensions link .
gemini extensions list
```

See [DEMO.md](DEMO.md) for the frozen native-validation, test, smoke, and MCP-surface transcript.

## Security model

- Marketplace descriptions are untrusted data, never authority.
- No secret or wallet environment variable is requested.
- HTTP is pinned to `https://api.taskmarket.dev`, GET-only, redirect-denied, timeout-bounded, and response-size-bounded.
- Draft approval is content-bound; changing a field changes its fingerprint.
- Unknown mutation or settlement state is fail-closed and must be reconciled before retry.

## Sources

- [TaskMarket](https://taskmarket.dev/)
- [TaskMarket documentation](https://docs.taskmarket.dev/)
- [Gemini CLI extension reference](https://geminicli.com/docs/extensions/reference/)
- [Gemini CLI MCP documentation](https://geminicli.com/docs/tools/mcp-server/)

## License

MIT