Integrates with the platform's job order system to manage payments and promotions for job listings.
Supports employer authentication and handles payments for candidate outreach and job management services.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ClawHire MCPSearch for candidates with AI-agent fluency for our Frontend position"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ClawHire MCP
Employer-facing MCP for China's first agent-native hiring marketplace.
ClawHire lets hiring managers post jobs, search candidates, and receive applications — all through natural language conversation with Claude or any MCP-compatible AI assistant. Backed by WonderCV's resume database and existing HR infrastructure.
What This Is
ClawHire is one half of a two-sided marketplace:
Candidates Employers
│ │
resume-agent-mcp clawhire-mcp (this repo)
│ │
└──────── WonderCV Backend ─────────────┘
│
PostgreSQL (existing WonderCV DB)resume-agent-mcp — Candidate-facing. Resume analysis, profile publishing, job applications.
clawhire-mcp (this repo) — Employer-facing. Job posting, candidate search, application management.
Both share WonderCV's existing Django backend, company database, and profession taxonomy. This is NOT a standalone product — it's an MCP layer on top of WonderCV's existing hiring infrastructure.
Why It Exists
The thesis: China is in an AI-agent boom. Companies hiring for white-collar roles increasingly want people who can work with AI agents. But no hiring platform treats AI-agent fluency as a first-class hiring signal.
ClawHire does. Candidates who use MCP tools are automatically tagged with AI fluency badges. Employers can filter for agent-fluent talent. This signal is impossible to replicate on traditional job boards.
Three Categories of Candidates
Not all candidates are equal. The system handles three distinct pools:
Category | How They Enter | AI Fluency | Employer Can... |
1. MCP Native | Install resume-agent-mcp, publish profile | Auto-badged | Search, view profile, receive applications |
2. GUI Opt-In | Click button on wondercv.com or WeChat | No badge (not demonstrated) | Same as above |
3. Database | They don't — existing WonderCV users | None | View anonymized/coarsened data, send outreach invite only |
Category conversions:
3 → 2: Candidate responds to outreach email or opts in via GUI
2 → 1: Candidate links MCP session to their WonderCV account (automatic upgrade)
Conversions are one-way (upward only)
Company blocklist: Candidates can block specific companies (e.g. current employer) from seeing their profile. Enforced at query time.
Architecture
Existing WonderCV Models We Reuse (DO NOT DUPLICATE)
Model | Table | What It Has |
|
| Company names (cn/en), scale, industry, Tianyancha verification |
|
| HR manager accounts, WeChat auth, phone login, quotas |
|
| Job postings with profession taxonomy, salary, experience (in days) |
|
| Application tracking with state machine |
|
| Payment/promotion with Alipay + WeChat Pay |
New Models We Add (only 2)
Model | Purpose |
| Opt-in marketplace profile (Cat 1 + 2). Links to WonderCV user. Contains visibility, AI fluency data, company blocklist, preferences. |
| Bridges MCP session → HrAccount. Tracks daily usage quotas. |
Data Unit Conventions
These MUST match existing WonderCV conventions:
Field | Unit | Notes |
| CNY/month (integer) | NOT thousands |
| Days (in DB) | MCP accepts years, converts with |
| Integer 0-4 | 0=draft, 1=publish, 2=expired, 3=offline, 4=remove |
IDs |
| NOT UUIDs — WonderCV uses string tokens |
Available Tools (7)
Tool | Purpose | Quota |
| Create employer account, get session_id | — |
| Publish job to marketplace | jobs_posted |
| View own posted jobs with stats | — |
| Search marketplace + database pools | searches |
| View candidate profile (visibility-enforced) | candidate_views |
| View inbound applications | — |
| Send invite to Category 3 database candidate | outreach_sent |
Quota Tiers (daily limits)
Tier | Views | Searches | Outreach | Jobs |
Alpha (current) | 50 | 30 | 10 | 5 |
Free | 20 | 10 | 5 | 2 |
Paid | 200 | 100 | 20 | 20 |
All alpha users get the Alpha tier for free.
Quick Start
Install & Build
git clone https://github.com/WonderCV/clawhire-mcp.git
cd clawhire-mcp
npm install
npm run buildConfigure
cp .env.example .envEdit .env:
CLAWHIRE_API_BASE_URL=https://api.wondercv.cn/cv/v1/mcp/hiring
CLAWHIRE_API_KEY=your_api_key_here # Leave as-is for mock mode
LOG_LEVEL=infoMock mode: If CLAWHIRE_API_KEY is missing or your_api_key_here, the server returns realistic mock data for all endpoints. Useful for development without the backend.
Add to Claude
In your MCP config (e.g. ~/.claude.json or Claude Desktop settings):
{
"mcpServers": {
"clawhire": {
"command": "node",
"args": ["/absolute/path/to/clawhire-mcp/dist/server.js"],
"env": {
"CLAWHIRE_API_KEY": "your_api_key_here"
}
}
}
}Try It
After connecting, tell Claude:
"Register my company — we're TechCorp in Shanghai, email hr@techcorp.com"
"Post a job for Senior Product Manager, remote OK, 30-50k/month"
"Search for AI-fluent product managers in Shanghai with 3+ years experience"
"Show me candidate details for [candidate_id]"
"Send an outreach invite to [candidate_ref] for the PM role"
Development
npm run dev # Watch mode (auto-recompile on changes)
npm run build # Single build
npm run typecheck # Type check without emitting
npm start # Run compiled serverProject Structure
src/
├── server.ts # MCP server entry, tool registration, JSON schema conversion
├── types.ts # All TypeScript types (aligned with WonderCV models)
├── session.ts # In-memory session management + quota tracking
├── backend-api.ts # WonderCV backend API client (with mock fallback)
└── tools/
├── index.ts # Tool registry
├── register_company.ts # Creates HrAccount + Company
├── post_job.ts # Wraps Jobs model (years→days conversion)
├── list_jobs.ts # Paginated job list with stats
├── search_candidates.ts # Marketplace + database pools, AI fluency filter
├── view_candidate.ts # Visibility-enforced profile view + anonymization
├── list_applications.ts # Application list with match scores
└── request_outreach.ts # Database candidate invitation (rate-limited)Adding a New Tool
Create
src/tools/your_tool.tsimplementing theTool<Input>interfaceDefine input schema with Zod
Implement
execute(input)returningToolResultExport from
src/tools/index.tsand add toallToolsarrayThe server auto-registers it via the tool registry
Backend API Pattern
All tools follow the same pattern:
// 1. Validate session
const session = getSession(input.session_id);
if (!session) return errorResult('INVALID_SESSION', '...');
// 2. Check quota (for metered tools)
const remaining = getRemainingQuota(session, 'searches');
if (remaining <= 0) return errorResult('QUOTA_EXCEEDED', '...');
// 3. Call backend
const result = await backendApi.searchCandidates(input);
// 4. Consume quota AFTER success (not before)
checkAndIncrementUsage(session, 'searches');
// 5. Format and return
return { content: [{ type: 'text', text: JSON.stringify(formatted) }], isError: false };Known Issues (v0.1.0)
See KnownIssues.md for full details.
Issue | Severity | Impact |
In-memory session storage | High (for prod) | Server restart = re-register |
Quota race condition | Medium | Concurrent requests can exceed limits |
Brittle JSON schema conversion | Medium | Works for flat inputs, fragile for complex |
No test coverage | Low | Needs tests before v0.2 |
Alpha verdict: Ship to alpha (<50 employers), not to GA.
Roadmap
v0.1 (current) — Alpha Foundation
7 employer tools (register, post, search, view, applications, outreach, list)
Three-category candidate model
AI fluency badges
Anonymization for privacy
Daily quota system
v0.2 — Marketplace Core
Persistent session storage (Redis or backend rehydration)
Backend authoritative quota metering
Replace zodToJsonSchema with
zod-to-json-schemalibraryCandidate-side tools in resume-agent-mcp (publish, apply, browse jobs)
LLM-based match scoring
Test suite
v0.3 — Growth
Company verification automation (Tianyancha API)
Application status management (shortlist, reject)
Paid tier billing (via existing JobOrders + Alipay/WeChat Pay)
Global aggregate stats
Related
resume-agent-mcp — Candidate-side MCP
WonderCV — Resume platform
Full product plan — Architecture decisions and detailed specs
License
MIT
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.