{"service":"job-apply-mcp","version":"1.1.0","protocol":"mcp","transport":"streamable_http","tools":[{"name":"search_jobs","description":"Search matching jobs by query, location, and role. Returns real Greenhouse jobs when available, otherwise clearly marked sample jobs.","inputSchema":{"type":"object","properties":{"query":{"type":"string"},"location":{"type":"string"},"role":{"type":"string"},"source":{"type":"string"}},"required":["query"]}},{"name":"match_jobs","description":"Score a profile against a job, 0 to 100, with reasons. Rule based unless Groq is configured.","inputSchema":{"type":"object","properties":{"profile_id":{"type":"string"},"job_id":{"type":"string"},"query":{"type":"string"}},"required":["profile_id"]}},{"name":"tailor_application","description":"Tailor resume bullets, a cover letter, and screening answers for a profile and a job. Does not queue or submit anything.","inputSchema":{"type":"object","properties":{"profile_id":{"type":"string"},"job_id":{"type":"string"}},"required":["profile_id","job_id"]}},{"name":"queue_application","description":"Queue an application for human review. Status is needs_review. Nothing is submitted.","inputSchema":{"type":"object","properties":{"profile_id":{"type":"string"},"job_id":{"type":"string"},"batch_id":{"type":"string"}},"required":["profile_id","job_id"]}},{"name":"approve_application","description":"Approve a queued application. Status becomes ready_to_submit with an apply link and prefilled packet. This does not mark it submitted.","inputSchema":{"type":"object","properties":{"application_id":{"type":"string"}},"required":["application_id"]}},{"name":"list_applications","description":"List queued, approved, parked, and submitted applications with their status.","inputSchema":{"type":"object","properties":{}}},{"name":"buy_credits","description":"Top up application credits inside Claude. $10 is 20 credits, $25 is 60 credits, $50 is 150 credits, 1 credit is 1 approved application. Returns a Stripe Checkout link to pay in the browser. If Stripe is not configured, returns a setup needed message, never a fake link.","inputSchema":{"type":"object","properties":{"profile_id":{"type":"string"},"amount":{"type":"number"}},"required":["profile_id","amount"]}}],"note":"POST JSON-RPC to this endpoint from Claude chat, ChatGPT, or Claude Code."}