Semantic job search, resume analysis, fit scoring, and application planning — all through a Model Context Protocol server your AI assistant can call directly.
Every tool is designed to turn your AI assistant into a career strategist that understands web3 roles.
The server uses Streamable HTTP over the /mcp endpoint. Authenticate with a Bearer token.
{
"mcpServers": {
"web3-jobs": {
"url": "https://web3-jobs.athelstan.workers.dev/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}{
"mcp": {
"servers": {
"web3-jobs": {
"url": "https://web3-jobs.athelstan.workers.dev/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
}The ADMIN_TOKEN is set as a Cloudflare Worker secret. Contact the server operator to get your bearer token.
Copy the config snippet on the left into your AI tool's MCP settings file. Replace YOUR_TOKEN with the actual token.
Your resume is already stored in the system. You can skip straight to searching and analyzing — just ask your AI assistant to find jobs and check your fit.
Ask things like: "Find remote Solidity roles", "How do I fit for job #42?", or "Compare jobs 10, 22, 35".
Add the web3-jobs MCP server to Claude Code with a single CLI command. No config files to edit.
# Add as a user-scoped server (available in all projects) claude mcp add --transport http \ --header "Authorization: Bearer YOUR_TOKEN" \ --scope user \ web3-jobs \ https://web3-jobs.athelstan.workers.dev/mcp # Or project-scoped (shared via .mcp.json) claude mcp add --transport http \ --header "Authorization: Bearer YOUR_TOKEN" \ --scope project \ web3-jobs \ https://web3-jobs.athelstan.workers.dev/mcp
# Add from JSON (useful for scripting) claude mcp add-json web3-jobs \ '{"type":"http","url":"https://web3-jobs.athelstan.workers.dev/mcp","headers":{"Authorization":"Bearer YOUR_TOKEN"}}'
{
"mcpServers": {
"web3-jobs": {
"type": "http",
"url": "https://web3-jobs.athelstan.workers.dev/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}# List all configured servers claude mcp list # Check web3-jobs status claude mcp get web3-jobs # View tools inside Claude Code session # Type /mcp in the Claude Code REPL # Remove if needed claude mcp remove web3-jobs
--scope userAvailable in all projects on your machine. Stored in ~/.claude.json. Best for personal tools like web3-jobs.
--scope projectShared with your team via .mcp.json at the repo root. Committed to version control. Use ${VAR} for tokens.
Private to you, current project only. Stored in ~/.claude.json under the project path. Good for experiments.
# Start Claude Code $ claude > Search for remote Solidity roles in DeFi > How do I fit for job #15? > Compare jobs 15, 23, 41 against my resume > Plan my application for the best fit > What are the hidden expectations for job #8?
Connect the Web3 Jobs MCP server to OpenAI's Codex CLI for agent-driven job search.
# Install Codex CLI globally npm install -g @openai/codex # Set your OpenAI API key export OPENAI_API_KEY="sk-..." # Create MCP config for Codex codex --mcp-config mcp.json
{
"mcpServers": {
"web3-jobs": {
"type": "streamable-http",
"url": "https://web3-jobs.athelstan.workers.dev/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}Install Codex CLI and place the mcp.json in your project root or ~/.codex/ directory.
Run codex --mcp-config mcp.json to start a session with the web3-jobs tools loaded.
Use codex --full-auto --mcp-config mcp.json for autonomous agent mode. The AI can chain multiple tool calls on its own.
"Find me senior Solidity roles in DeFi, analyze fit against my resume, and plan my application for the top 3."
# Interactive mode $ codex --mcp-config mcp.json > Search for remote protocol engineering roles > Analyze my fit for job #15 > Compare jobs 15, 23, 41 against my resume > Plan my application for the best fit # One-shot with full auto $ codex --full-auto --mcp-config mcp.json \ "Search for remote DeFi roles, analyze fit for the top 5, \ and write application plans for the best 2"
If something isn't working, check these solutions first.
headers object with Authorization: Bearer YOUR_TOKEN. Check that the token matches the ADMIN_TOKEN secret set on the Worker.
https://web3-jobs.athelstan.workers.dev/mcp. The MCP endpoint is at /mcp, not the root. If using a custom domain, ensure DNS is properly configured. The Worker may be sleeping on its first request (cold start) — retry after a few seconds.
POST /api/sync (requires auth). Also check that your search query isn't too narrow.
codex --mcp-config mcp.json. The file must be valid JSON. Check Codex supports MCP in your version (codex --version). Place the config in ~/.codex/mcp.json for auto-detection, or pass the path explicitly.
resume_id is specified.
search_jobs) runs an AI embedding + Vectorize query, which can take 2-5 seconds. analyze_fit is heavier and may take 5-10 seconds. If requests time out, try reducing top_k or running one analysis at a time instead of bulk comparisons.
web3-jobs-1024 must exist and be bound in wrangler.jsonc. If redeploying to a new account, create the index first: npx wrangler vectorize create web3-jobs-1024 --dimensions 1024 --metric cosine, then run POST /api/reindex to populate it.