chainwork MCP server
Point your AI agent at our job database. Search crypto, web3, and AI × crypto engineering roles directly from Claude Desktop, Cursor, Windsurf, or any MCP-compatible client.
Endpoint
Streamable HTTP transport. No authentication. Rate-limited alongside the JSON API.
Tools
search_jobsfilterable, paginatedSearch by free text, ecosystem (evm, sol, btc, zk…), role category, seniority, location, and minimum salary. Returns up to 20 jobs per call with apply URLs.
match_profileranks, with its reasoningScores every live role against a candidate’s skills and ecosystems and returns the best fits 0–100. Each match shows what each dimension contributed, which of the role’s requirements were met, which were missed, and where the formula is blind — so you can audit the number instead of trusting it.
get_jobby slug or refFull description, responsibilities, requirements, and apply URL for a single role. Pass
view=summaryorview=refwhen the consumer’s context budget is tight.
Handoff references
Every role carries a reference of the form cw://job/<slug> — roughly 60 bytes, against the 7KB the posting itself weighs. When one agent delegates a role to another, pass the reference instead of pasting the posting. The receiver resolves it against the live catalogue through resources/read, the get_job tool, or plain HTTP at the canonical URL.
- Attribution. Resolving returns a manifest: source, canonical URL, posting date, licence (CC0-1.0).
- Projections. One reference, three sizes — ref, summary, full — so the consumer picks, not the producer.
- Lifecycle. A reference that stops resolving means the role closed. A pasted copy goes stale in silence and keeps sending candidates to a dead posting.
cw://job/{slug}Any handoff reference, resolved to the full posting plus its attribution manifest.
cw://jobs/latestThe 25 most recently posted roles. Read it to see what landed today without running a search.
cw://market/statsCitable salary percentiles, token/equity share, busiest ecosystems and roles. CC0.
Claude Desktop / stdio clients
Add to claude_desktop_config.json (uses mcp-remote to bridge stdio ↔ HTTP):
{
"mcpServers": {
"chainwork": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://chainwork.dev/api/mcp/mcp"
]
}
}
}Cursor / Streamable HTTP clients
Clients with native Streamable HTTP support can connect directly:
{
"mcpServers": {
"chainwork": {
"url": "https://chainwork.dev/api/mcp/mcp"
}
}
}