Whimbrel MedTech Analyst
Whimbrel MedTech Analyst
Start free trial

Developers and reviewers

Tools reference

What each tool in the Whimbrel MCP server takes, returns and changes, how it fails, and its limits.

Last updated October 13, 2026

Setup

  • Endpoint: https://data.whimbrelresearch.com, Streamable HTTP (JSON-RPC over POST).
  • Sign-in: OAuth 2.1 authorization code with PKCE (S256). Clients register by Dynamic Client Registration or a Client ID Metadata Document. Discovery is at /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server. Tokens are bound to the resource https://data.whimbrelresearch.com and last 180 days.
  • Scope: one scope, whimbrel. It covers the signed-in person's own account and memory, and the public company record. It never reaches another person's data.
  • API key: clients that cannot do OAuth send a Whimbrel key as Authorization: Bearer.
  • Who can call what: about_the_data and get_access work without a plan. Every other tool needs an active Whimbrel plan (trial or paid) on the signed-in account.
  • Steps for each app: Connect your AI.

Read and write labels

Every tool carries readOnlyHint, destructiveHint and openWorldHint, and the same label is shown here.

LabelMeaningTools
ReadReads only. Changes nothing the person can see, except where a side effect is noted below.company, news, find, people, openers, my_contacts, research_status, crm_export, about_the_data
WriteAdds to or updates the person's own memory or account. Earlier values are kept, and every item can be seen, changed or deleted on the Memory page.today, remember, my_list, account, deep_record, get_access
Write, deletes (sensitive)Deletes what the person told Whimbrel. Clients ask before each call.forget

No tool sends email, posts anything, moves money or contacts anyone. get_access only returns checkout links; nothing is charged until the person completes checkout on Stripe's page.

The tools

today: Today's plan

Write. Needs a plan.

  • Inputs: size (integer, 1 to 10): how many new companies.
  • Returns: follow-ups due, what changed this week at the person's accounts and clients, and new companies to reach out to. Each company comes with why now, the fit, who to contact and a first line, every fact with its source link.
  • Side effects: companies shown are held back from the next two weeks' plans.

news: What's new in medtech

Read. Needs a plan.

  • Inputs: ask (string, up to 300 characters), about (string), days (integer, 1 to 90, default 7), state (US state), limit (integer, 1 to 25, default 15).
  • Returns: one row per US medical device company with its recent sourced events (FDA decisions, recalls, trials, funding, news, hiring), ranked for the person's firm.

find: Find companies

Read. Needs a plan.

  • Inputs: about (string: a device, technology or space), ask (string), role (a role being hired), state, since (ISO date), looking_for (kinds of evidence), limit (1 to 25, default 15).
  • Returns: companies on Whimbrel's list with the evidence that matched and its sources, ranked for the request and the person's firm. The person's customers, competitors and passes are left out.

company: Company rundown

Read. Needs a plan.

  • Inputs: company (string, required), events (1 to 60, default 20).
  • Returns: whether the company is on Whimbrel's list and why, what it makes, stage, location, FDA-registered facilities, its events with dates and sources, and the person's own history with it.

people: Who to contact at a company

Read. Needs a plan. Reaches outside sources.

  • Inputs: company (string, required), role (string), limit (1 to 60, default 25).
  • Returns: people the public record names at the company, by role, each with title, source and date, any published email or phone, and a LinkedIn search link the person opens themselves. Whimbrel never reads LinkedIn.
  • Side effects: work emails are looked up with Hunter for up to 3 top names when none is on record; the company counts toward what Whimbrel learns the person is drawn to, shown and removable on the Memory page. Counts as one company lookup.

openers: Opening lines for a company

Read. Needs a plan.

  • Inputs: company (string, required).
  • Returns: the facts to write an opening line from: what just happened there, with sources, and the matching service, project or certification from the person's profile. The AI writes the line.
  • Side effects: the company counts toward what Whimbrel learns the person is drawn to.

my_list: My accounts

Write. Needs a plan.

  • Inputs: add (company names), since (ISO date, default 7 days ago), rank (a pasted list of up to 60 names), show (a trade show: name, starts, ends, exhibitors, or after the show met), watch (a named space: name, action save or diff, matching, since, kind).
  • Returns: the accounts the person is working and what changed at each, with sources; with rank, the pasted list ordered for their firm; with show, the show plan (must-see booths, people and accounts exhibiting); with watch, the saved space or what is new in it.
  • Side effects: add adds accounts (up to 60 kept). show saves the show, and people met are remembered and set to follow up; today's plan reminds the person before the show starts. watch saves the space. It never removes an account; that is forget.

remember: Remember what the rep said

Write. Needs a plan.

  • Inputs: said (string, required, up to 1,500 characters), companies_on_screen (names, so "the second one" resolves).
  • Returns: a few words confirming what was kept, and to_forget when the person asked to forget something.
  • Side effects: saves outcomes (reached out, replied, meeting, a pass, not now, a customer, a competitor) and people the person knows. Each outcome is added to their history. It never deletes.

forget: Forget a company or stop working it

Write, deletes (sensitive). Needs a plan.

  • Inputs: companies (up to 25 names), stop_working (up to 25 names).
  • Returns: what was forgotten and which accounts were removed.
  • Side effects: deletes the person's status, notes and history for those companies, and removes them from their accounts. Public company records are not affected.

account: The rep's account

Write. Needs a plan. Reaches outside sources.

  • Inputs: during setup, step and skip; website (the firm's site, read to draft the profile); any profile field (services, device_areas, customer_stage, territory, clients, competitors, accounts and the rest).
  • Returns: the next setup question, or the profile, who the person sells to best, team seats and links to the Account and Memory pages.
  • Side effects: saves the profile. A changed answer keeps the earlier one, which the Memory page can put back. Reading a website fetches up to 5 of its pages.

my_contacts: The rep's contacts

Read. Needs a plan.

  • Inputs: company, search (a word in a name, company or role).
  • Returns: up to 50 people the person told Whimbrel they know, with role, how they met and when they last spoke.

deep_record: Queue a full research record

Write. Needs a plan. Reaches outside sources.

  • Inputs: company (required), domain, refresh (boolean), fact (email, clearance or trial), since (ISO date).
  • Returns: the company's research record: leadership and buying committee, company facts, contact routes, named partners and the evidence for each. When there is no record yet, or the newest is over a week old, it starts a new research job and returns the best file on hand plus a request id.
  • Side effects: starts a research job. A job already running for that company is reused, never doubled, and a failed job is not counted. Starting a job counts as one company lookup. fact never starts one.

research_status: Your research requests

Read. Needs a plan.

  • Inputs: request_id (optional).
  • Returns: the status of one request, or the newest 10: queued, running, done or failed.

crm_export: Export research as CRM import files

Read. Needs a plan.

  • Inputs: company (required), format (hubspot or salesforce, required).
  • Returns: a companies CSV, a contacts CSV, a sourced notes document and the import steps. Needs a research record from deep_record first. Nothing is sent to the CRM.

about_the_data: About this data

Read. No plan needed.

  • Inputs: none.
  • Returns: how the archive is collected, dated and windowed, what it excludes, its scale, and the attribution terms.

get_access: Get a key for the paid tools

Write. No plan needed. Not offered in ChatGPT.

  • Inputs: plan (individual or seat), quantity (5 or more for Team).
  • Returns: Stripe Checkout links for Individual and Team, each opening with a one-month trial.
  • Side effects: creates a checkout session on Stripe. Nothing is charged unless the person completes it there.

No other tool names answer over MCP. Older names (such as quick_company, track and find_signals) were retired on October 13, 2026 and return "Unknown tool"; the HTTP API still serves the same data.

Errors

CaseWhat the caller gets
No token on a call that needs oneHTTP 401 with WWW-Authenticate: Bearer resource_metadata="…/.well-known/oauth-protected-resource", which starts sign-in.
Invalid, expired or revoked token, or a token for another resourceHTTP 401 invalid_token with the same header, so the client signs in again.
Signed in without an active planA tool result with isError: true saying the tool needs a Whimbrel plan.
Missing or invalid input, or nothing on fileA tool result whose JSON has an error field in plain words, such as "Give me a company name to look up." or "No deep-research record exists for X yet. Run deep_record first."
A daily limit reachedA tool result with limited: true and a note saying which limit and that it resets at 00:00 UTC.
Our storage briefly unavailableA tool result with isError: true saying it is an outage on our side and to retry shortly. HTTP API routes answer 503 with Retry-After: 60.
An unexpected failure inside a toolA tool result with isError: true and the reason.
Unknown tool, or a body that is not JSONJSON-RPC error -32602 or -32700.

Retrying is safe for every Read tool. my_list, account and forget give the same result when repeated; remember adds the outcome to the history again. deep_record reuses a job already running for the same company, and today moves on to companies not yet shown.

Rate limits

LimitValueApplies to
Company lookups100 a day per person during the trial, 300 a day on a paid plan; a Team plan pools the limit across its seats. Resets 00:00 UTC.people, and deep_record when it starts a job
Calls without a plan600 a day per callerabout_the_data, get_access
Work email lookupsUp to 3 people per company, cached for 180 dayspeople
Result sizesAs listed with each tool above; values outside a range are clamped, not refusedAll tools
Client registration8 per 2 minutes per network address (HTTP 429 with Retry-After)/oauth/register
Sign-in codes8 an hour per network address and 3 per 15 minutes per email; 5 tries per codeThe Connect screen

Searches, plans, lists and memory (today, news, find, company, my_list, remember, forget, account, openers, my_contacts) have no daily limit on a plan. Need more? Tell us.

Data and privacy

Tools receive only their own inputs. Whimbrel never asks for or reads the conversation, the AI's memory or the person's files. What each person tells Whimbrel stays in their own memory, which they can see, change, download or delete on their Memory page. Details are in the Privacy Policy; questions go through Contact and feedback.