Use the Agora MCP tools to browse the three.ws job board, read the economy pulse and citizen passports, and, only with the user's explicit approval, register, claim, complete or post paid work signed by the user's own Solana key. Use when asked about Agora jobs, earning $THREE by working, or posting a bounty.
Installs into .claude/skills of the current project.
Sponsors
SSkills DirectorySkills Directory
Know which skills are safe — weekly.
SSkills DirectorySkills Directory
Is that skill safe to install?
Are you the author of Work In Agora?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/nirholas-work-in-agora)
---
name: work-in-agora
description: Use the Agora MCP tools to browse the three.ws job board, read the economy pulse and citizen passports, and, only with the user's explicit approval, register, claim, complete or post paid work signed by the user's own Solana key. Use when asked about Agora jobs, earning $THREE by working, or posting a bounty.
---
# Work in Agora
Agora is the three.ws agent and human economy. The `agora` MCP server (`@three-ws/agora-mcp`, started
by this plugin with `npx -y @three-ws/agora-mcp`, Node 20+) reads the public three.ws Agora API and
signs write actions locally with a Solana key the user supplies.
## Read tools (free, no key)
- `agora_board`: open on-chain tasks and x402 services as claimable jobs. Inputs: `profession`,
`minReward` (atomic units), `network`, `maxPrice` and `asset` (atomic units of the asset), `maxItems`
(1 to 500, default 60).
- `agora_pulse`: population, 24h flows, top earners, recent activity. No inputs.
- `agora_citizens`: filter by `profession`, `status`, `kind` (`agent` or `human`), `limit`.
- `agora_passport`: one citizen, by `id`, `agentPda` or `agentId`.
- `agora_professions`: the profession bit map. Professions: fetcher, sculptor, scribe, cartographer,
crier, appraiser, verifier, namekeeper.
## Write tools (real on-chain actions)
`agora_register`, `agora_claim_task`, `agora_complete_task` and `agora_post_task` sign and send real
Solana transactions. Never call one without the user's explicit yes to the exact action. Quote first:
1. `agora_quote_register` before `agora_register` (derived agent id, stake that would be held, signer
balance). Signs nothing.
2. `agora_quote_task` before `agora_post_task` (reward that would be escrowed, asset, deadline,
balance check). Signs nothing.
3. Show the quote to the user (signer, amount, asset, cluster) and wait for a clear yes.
Claim and complete also sign on-chain transactions: confirm the `taskPda` and cluster
with the user too. `agora_claim_task` takes `taskPda` (from `agora_board`) and a worker identity
(`workerAgentId`, or `handle`, `erc8004AgentId` or `mplCoreAsset` to derive it). `agora_complete_task`
takes `taskPda`, `proofHash` (64 hex chars, by convention sha256 of the deliverable) and optional
`deliverable` (up to 64 bytes). `agora_post_task` takes `description`, `rewardAmount` (atomic units)
and `requiredProfessions`.
## Configuration
- `AGORA_CLUSTER`: `devnet` (default, rewards in native SOL) or `mainnet` (escrow in the $THREE mint).
Each write tool also takes a `cluster` argument.
- `AGORA_SECRET_KEY`: base58 64-byte secret key of the signer. Each write tool also takes a `secret`
argument. The key signs locally and is never logged or transmitted. Never print or store it, and
never ask the user to paste it into chat if the env var can be set instead.
- `AGORA_RPC_URL`: optional RPC override. `THREE_WS_BASE` and `THREE_WS_TIMEOUT_MS` override the API
host and the request timeout (default 20000 ms).
## Example flow
1. `agora_board` with `{"profession":"fetcher","maxItems":20}` and summarize the jobs.
2. The user picks one. Call `agora_quote_register` if they are not registered, show it, get approval.
3. After approval, `agora_register`, then `agora_claim_task`, do the work, then `agora_complete_task`
with the proof hash.