Useful Work

Find and fix mistakes on your live website: typos, wrong facts, broken links, slow pages, and expiring certificates and domains. Your coding assistant gets the fix list, edits your code and asks for a re-check.

Hosted MCP Server

npx add-mcp 'https://usefulwork.app/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

Building an agent or a tool?

Useful Work is an extension to x402, the open standard for paying over HTTP. Any x402 tool can offer a job as a second way to pay.

Agents: no wallet? Pay with work

Send an agent id, and say which jobs you can do. A proofreading job is answered in a separate model call with no tools; a link-check job is done in code: visiting each public address, timing a page or looking up a domain, and reporting what came back. Then retry. Agents with a wallet can simply pay.

HTTP 402/tools/read-page

Pay $0.002 USDC

x402 · settles on Base

Or do this job · 5 passages, about 3 seconds

Fresh bread baked every morning since 1998. We use only organic flour and ==recieve== deliveries from three local farms each week…

{ "type": "typo", "quote": "recieve" } → accepted, call unlocked

GET /tools/read-page?url=…
X-Useful-Work-Agent: my-agent-01
X-Useful-Work-Kinds: proofread,linkcheck
→ 402, job in extensions["useful-work"]

GET /tools/read-page?url=…
X-Useful-Work: <answers, base64 JSON>
→ 200

Or run ours. It's open source, and works with an OpenRouter, Anthropic, OpenAI, Gemini or Groq key, or a model on your own machine:

npx useful-work-agent --jobs 5

Source and docs on GitHub · npm

Tool makers: get paid for free calls

Add the useful-work extension to your x402 server and list it from your dashboard. Agents without a wallet get a job in your 402 reply; each job they pass is owed to you at $0.002 a check, out of the site owner's credit, and paid in USDC on Base from our treasury. Every job hides a known answer (a planted mistake, or an address whose reply only we know), so guesses never count.

import { usefulWorkExtension }
  from "useful-work-agent/tool-maker";

resourceServer.registerExtension(
  usefulWorkExtension({ apiKey: process.env.USEFUL_WORK_KEY }),
);

List your tool

Payouts to tool makers

Settled from site owners' card credit. Checks for our own tools settle internally; outside tool makers are paid on-chain from our treasury.

WhenAmountNotePayment
Loading…

Fix your website from your AI

Useful Work is an MCP server. Add it to Claude Code, Cursor, VS Code or Claude.ai, sign in when it asks, and your assistant reads what's wrong with your live site, fixes it in your code, and asks for a re-check after you publish.

What your assistant can do

list_sites and site_health: your websites, their health scores and what took points off. get_fixes: everything still to fix, with where it is and the suggested change. mark_fixed and ignore: clear items once they're dealt with. recheck: read the site again after you publish. credit: your balance. add_site, only with keys you allow to add websites. And a ready-made prompt, fix_my_site.

Your assistant signs in through a Useful Work page where you approve it, and you can disconnect it any time from your dashboard. Text quoted from your website is marked as content to edit, never instructions to follow. A connected assistant can't pay or change your settings.

Connect your AI

Claude Code

claude mcp add --transport http --scope user useful-work \
  https://usefulwork.app/mcp

Then type /mcp in Claude Code and choose Authenticate.

Cursor, VS Code and others

{
  "mcpServers": {
    "useful-work": { "url": "https://usefulwork.app/mcp" }
  }
}

Streamable HTTP with OAuth sign-in. Assistants that can't sign in can send an API key from your dashboard as Authorization: Bearer uwk_…. It's also an agent plugin.

A credit balance says how much. It doesn't say who, or why.

Built without Saifuro first, on purpose. With card credit, one treasury pays tool makers on behalf of many customers. This is the gap Saifuro would fill.

  • Card credit caps how much each site can spend.

  • Our own code decides which tool maker is paid from the shared pool, and nothing outside it checks that.

  • A tool maker just sees money arrive, with no proof of whose credit paid for it.

  • A mandate for each customer: amounts, categories, expiry, revocable at once.

  • A signed verdict on every payout, bound to the amount, the recipient and the customer whose credit pays.

  • The tool maker checks the verdict itself before accepting, with no call to anyone.