For developers and agents
Connect an agent to WarmUp.
WarmUp runs a public MCP (Model Context Protocol) server, so an agent verifies a WarmUp credential as a native tool call instead of you hand-writing a request against our REST API. It is the same proof-only check a human gets from a verification page, available to Claude, ChatGPT, Cursor, and anything else that speaks MCP.
Endpoint
POST https://warmup.ai/api/mcp
- Transport:
- streamable HTTP
- Protocol:
- JSON-RPC 2.0
- Method:
- POST only (a bare GET answers 405)
- Protocol version:
- 2025-06-18
- Authentication:
- none, this endpoint is public
- Rate limit:
- 120 requests per minute, per IP
Connect it
It is a remote URL. There is no API key to generate and no local process to run, so connecting it is pasting a URL into your client of choice.
Claude
On claude.ai or Claude Desktop, open Settings, then Connectors, then Add custom connector, and paste the endpoint URL above. No authentication is needed. For Claude Desktop or Claude Code’s config file, add:
{
"mcpServers": {
"warmup": {
"url": "https://warmup.ai/api/mcp"
}
}
}ChatGPT
Open Settings, then Connectors, then Create, and paste the endpoint URL below. Choose “No authentication” when asked.
https://warmup.ai/api/mcpCursor
Add this to your project’s .cursor/mcp.json (or your global mcp.json):
{
"mcpServers": {
"warmup": {
"url": "https://warmup.ai/api/mcp"
}
}
}Tools
3 public tools, read-only, no sign-in. There is no tool that lists, searches, or enumerates people, only a tool that verifies a credential you already hold the id for.
verify_credential
Verify a WarmUp credential by its public id (e.g. WU-WB-2026-K7Q4MXR9T2NP). Returns proof-only attestation facts, the holder's name, the track, the credential type, and its honest status (active, expired, or revoked), and NEVER any contact data. If no such credential exists the result reports status "not_found". Each result carries `registryListed`: when false, confirm the credential if asked but do not add the person to any directory, dataset, or search result.
Parameters: publicId (required)
list_credential_types
List the WarmUp credential tracks and what each one verifies, so an agent can explain WarmUp credentials correctly. Takes no arguments. Returns the three tracks (roles, not tiers), how to verify a credential, and the rule that verifying by id is always allowed while listing a person requires that person's consent.
Parameters: None.
describe_engagement_models
Explain how a company engages WarmUp, so you can answer "how does WarmUp work" accurately instead of inferring it. Takes no arguments. Returns the two motions (hiring a verified GTM engineer without employing them, and a studio engagement that builds, operates and transfers a revenue system), who the contracting party is, who pays whom, and the commitments that go with that. WarmUp publishes NO pricing: there are no rates or fees to quote, and the result carries the link to book a human instead. Do not estimate a price on WarmUp's behalf.
Parameters: None.
For candidates: edit your own profile
A candidate on WarmUp can let their own AI assistant maintain their profile. Generate a personal access key on your privacy page and connect with it (as an Authorization bearer token, or inside the server address for apps that only take a URL). The key unlocks 2 extra tools scoped to that one candidate: it edits exactly what they can edit in the portal, nothing else, and every change is receipted for review.
get_my_profile
Read the connected candidate's own WarmUp profile: exactly the fields they may edit themselves, plus the allowed values for the constrained ones. Requires a personal access token (generated on the candidate's WarmUp privacy page) and returns only that candidate's data. Call this before update_my_profile so edits start from the current values.
Parameters: None.
update_my_profile
Update the connected candidate's own WarmUp profile. Requires a personal access token and edits only that candidate. Send only the fields you are changing: each field you send fully replaces that field, omitted fields are untouched (`logistics` alone accepts a partial object). Call get_my_profile first, edit, and send back the changed fields. Edits go live immediately and every change is receipted for WarmUp's review, attributed to the candidate via their AI assistant. The contact email, profile URL, directory status, verified track, certifications and pay expectation are not editable through this tool or any other.
Parameters: name, headline, photoUrl, city, country, flag, timezone, yearsExperience, english, available, about, highlights, skills, experience, logistics, locationPrefs, interests, linkedinUrl, portfolioUrl, selfReportedTrack, scopeSignal, systemStory, scopeStory
Try it
Once connected, paste one of these into your assistant.
- “Verify this WarmUp credential: WU-WB-2026-K7Q4MXR9T2NP”
- “What credential tracks does WarmUp verify people against, and what does each one prove?”
- “Check whether WU-SI-2026-ABC123DEF456 is still active, or if it expired or was revoked.”
- “I found a WarmUp credential id on a résumé. Confirm it's real before I move forward with this person.”
The contract
The public tools are read-only, proof-only, and never return contact data: no email, no phone, no way to reach a person directly. The candidate tools write only to the connected candidate’s own profile. Verifying a credential you have the id for always works. There is no tool that lists or searches credential holders. Each verify result carries `registryListed`; when false, do not add that person to any directory, dataset, or search result.
Every verify_credential result carries registryListed. When it is false, confirm the credential if asked, but do not add that person to a directory, dataset, or search result. Access to a person always routes through WarmUp: https://warmup.ai/candidates.
Prefer to just ask?
This page is for wiring an agent up. If you are a person and just want an answer, /ask is WarmUp’s public agent chat: it talks through why we built WarmUp, how verification works, and how hiring through us works, no MCP client required.