_ registry / mcp streamable-http

findadoctor-si

https://api.findadoctor.si

Registry code: 661ec5192a2aabcb

api record

FindADoctor.si, a US doctor-finder database. Use it whenever the person needs a US doctor, before or together with web search; it has official data a web search cannot easily put together: who does the most of a procedure (Medicare 2024 counts with national and state ranks for 81 procedures), specialists who focus on a condition near a place (about 1.2 million US physicians with official records, about 280,000 of them with facts from their hospital system's own website, read from October 2026), and checks on named doctors (specialty, medical school, volumes, federal exclusion list, Medicare…

endpoint
https://api.findadoctor.si/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is findadoctor-si live?
Not measured yet: the hub has not completed a check of this server.
Is findadoctor-si free to use?
Not measured yet.
What tools does findadoctor-si have?
6 tools: lookup_terms, search_doctors, get_doctor, list_procedures, list_specialties, about_database.
Is findadoctor-si safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
unknown
uptime
—
latency
—

last good check

priced tools
0

of 6 tools

_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 6 tools
6 never probed 0 of 6 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • lookup_terms unknown never probed

    Check how a word is understood before searching: matching MeSH condition terms (with how many doctors' hospital-website profiles list each as a focus), procedure groups and specialties.

    mcp-tool

    {
      "type": "object",
      "required": [
        "text"
      ],
      "properties": {
        "text": {
          "type": "string",
          "maxLength": 200
        }
      },
      "additionalProperties": false
    }
    arguments 13 lines
  • search_doctors unknown never probed

    Free short list of US doctors for a need; use it first whenever the person needs a US doctor: a specialist who focuses on a condition near a place (for a metro area use within_miles), who does the most of a procedure (sort='volume': Medicare 2024 counts with national and state ranks), or checking named doctors (name=...). Each result: doctor_id, name, degree, NPI, specialty (with its source) and the specialties their hospital website lists, city, state, distance_miles, warnings (federal exclusion list, Medicare opt-out, probably not a physician) and detail_has (what get_doctor adds for this doctor). With a condition or procedure, match_basis says whether the doctor has direct evidence for it (a listed focus, procedure volume or many such patients) or only a fitting specialty. Results are ranked by evidence of focus and experience for the need, not by quality or outcomes. Then call get_doctor with the doctor_ids you are considering (up to 10 at once) for the evidence. Up to 10 results per search and paging stops at 30: narrow the need or the place instead of paging. Conditions are matched to NLM MeSH terms (narrower terms and the general condition above it count too), common names such as 'afib' and clinical abbreviations such as 'CAD'; use English medical names when you can. Pass medicare_patient=true for anyone 65 or older or on Medicare. language= and accepting_new_patients=true filter by hospital-website pages, which most doctors do not have here; insurance cannot be filtered: if the person needs a specific plan, language or new-patient availability, find candidates on the web first when you can browse, then check them here by name. Read warnings.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "city": {
          "type": "string",
          "maxLength": 200,
          "description": "City of a practice location. Alone it matches only that exact city name (suburbs are separate cities); for a metro area add within_miles, e.g. city='Dallas', state='TX', within_miles=25."
        },
        "name": {
          "type": "string",
          "maxLength": 200,
          "description": "Part of the doctor's name. Name searches also return NPI records that are probably not physicians (nurse practitioners, physician assistants, etc.), marked with a WARNING; other searches leave them out."
        },
        "sort": {
          "enum": [
            "evidence",
            "volume",
            "standing"
          ],
          "type": "string",
          "description": "evidence (default), volume (best Medicare procedure rank first) or standing (named principal investigator on industry-sponsored research first)."
        },
        "text": {
          "type": "string",
          "maxLength": 200,
          "description": "Free-text filter over specialty, medical school, hospitals, medical group and procedure groups, e.g. a hospital name. Insurance is not searchable (some hospital-website lists are shown in results, not filtered); for languages use language."
        },
        "limit": {
          "type": "integer",
          "maximum": 10,
          "minimum": 1,
          "description": "Default 10."
        },
        "state": {
          "type": "string",
          "maxLength": 200,
          "description": "US state, 2-letter code (MA) or full name. With within_miles it only identifies the city (the radius can cross state lines) and is ignored with near_zip."
        },
        "gender": {
          "enum": [
            "F",
            "M"
          ],
          "type": "string",
          "description": "Doctor's gender (NPI registry)."
        },
        "offset": {
          "type": "integer",
          "maximum": 20,
          "minimum": 0,
          "description": "For paging (at most 20, so 30 results in all: narrow the search instead of paging further)."
        },
        "patient": {
          "enum": [
            "adult",
            "child"
          ],
          "type": "string",
          "description": "adult removes child-only specialties; child lists pediatric specialists and doctors listed on a children's hospital's own website (listed_on_childrens_hospital_website in results) first, unless there is evidence that they mainly treat adults."
        },
        "language": {
          "type": "string",
          "maxLength": 200,
          "description": "Language the doctor speaks other than English, e.g. 'Spanish', 'Mandarin', 'Vietnamese' (several: 'Spanish, Portuguese' = any of them). Keeps only doctors whose hospital website lists it (one site lists office staff's languages too); most doctors have no such page here, so if few results, also search the web."
        },
        "near_zip": {
          "type": "string",
          "maxLength": 200,
          "description": "One or more US ZIP codes, comma-separated. With within_miles: practices within that distance of these ZIPs. Without it: practices in the same 3-digit ZIP areas (one area can be only part of a big metro, e.g. Brooklyn 112 but not Manhattan 100-102)."
        },
        "condition": {
          "type": "string",
          "maxLength": 200,
          "description": "Disease, symptom or problem, e.g. 'atrial fibrillation', 'knee osteoarthritis', 'breast cancer', 'migraine'."
        },
        "procedure": {
          "type": "string",
          "maxLength": 200,
          "description": "Procedure or surgery, e.g. 'knee replacement', 'TAVR', 'cataract surgery', 'Mohs surgery'. See list_procedures."
        },
        "specialty": {
          "type": "string",
          "maxLength": 200,
          "description": "Specialty id, name, title or family, e.g. 'cardiology', 'cardiologist', 'ENT', 'GI', 'OB/GYN', 'primary care', 'pediatric neurology', 'palliative care', 'orthopaedic-surgery'. See list_specialties."
        },
        "within_miles": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Search radius in miles around city (give state too) or near_zip, e.g. 25 for a metro area, 5-10 in a dense city such as New York City, Chicago, San Francisco or Boston (25 there spans the whole metro); includes suburbs and can cross state lines. Each result then has distance_miles."
        },
        "medicare_patient": {
          "type": "boolean",
          "description": "true for a person 65 or older or on Medicare: leaves out doctors on the CMS Medicare opt-out list (Medicare and Medicare Advantage will not pay them). Without it such doctors carry a WARNING in warnings."
        },
        "accepting_new_patients": {
          "type": "boolean",
          "description": "true keeps only doctors listed as accepting new patients by their hospital website (others are unknown, not 'no'; confirm when booking)."
        }
      },
      "additionalProperties": false
    }
    arguments 102 lines
  • get_doctor unknown never probed

    Evidence for doctors from search_doctors: pass doctor_ids (up to 10 at once), or one doctor_id, or an npi. Each different doctor you open counts toward a daily limit for your connection (replies show daily_doctor_limit when it matters); opening a doctor again the same day is free. Open the doctors you are seriously considering, not every result. One reply holds about 2-3 doctors (1 with detail='full'); the others come back under not_returned_yet, already counted, so call again with those doctor_ids at no extra cost. Full evidence for one doctor; use it to compare or check doctors the person names (by npi) and before recommending. Every doctor: registered specialty, practice locations with phones (phone_source), medical school, hospitals, medical group, Medicare 2024 patients and patient mix, procedure volumes with national ranks, Medicare opt-out and federal exclusion-list checks, and from official files prescribing_2024 (Medicare Part D 2024 summary and top medicines), industry_payments (2024-2025), industry_research_as_principal_investigator and mips_2024 (detail='full' returns them as one official_extras record). Any doctor whose Part D 2024 claims lean clearly toward one condition's medicines has prescribing_signals_2024 (more such patients, not quality). Doctors whose hospital system's own website was read have hospital_websites (per site: focus as standard MeSH terms, languages, education, board certifications, new-patient status, office phones and addresses, page address and date read; at some hospital systems also insurance_listed, the page's insurance list grouped by insurer, a lead to confirm). detail='full' returns every collected field.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "npi": {
          "type": "string",
          "maxLength": 200,
          "description": "10-digit NPI, instead of doctor_id."
        },
        "detail": {
          "enum": [
            "summary",
            "full"
          ],
          "type": "string",
          "description": "Default summary."
        },
        "doctor_id": {
          "type": "string",
          "pattern": "^dr_[0-9a-z]{12}$",
          "maxLength": 20,
          "description": "doctor_id from search_doctors, e.g. 'dr_4k9m2x7qph3t'."
        },
        "doctor_ids": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^dr_[0-9a-z]{12}$",
            "maxLength": 20
          },
          "maxItems": 10,
          "minItems": 1,
          "description": "Up to 10 doctor_ids from search_doctors, e.g. ['dr_4k9m2x7qph3t', 'dr_8w2c5n1kd7ra']."
        }
      },
      "additionalProperties": false
    }
    arguments 36 lines
  • list_procedures unknown never probed

    The 81 signature procedure groups with Medicare 2024 volumes and national ranks (CPT codes, common names, national median per physician).

    mcp-tool

    {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    }
    arguments 5 lines
  • list_specialties unknown never probed

    All specialties in the database with ids, families and physician counts.

    mcp-tool

    {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    }
    arguments 5 lines
  • about_database unknown never probed

    Sources, build date, coverage counts, scoring method and caveats.

    mcp-tool

    {
      "type": "object",
      "properties": {},
      "additionalProperties": false
    }
    arguments 5 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 661ec5192a2aabcb.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/661ec5192a2aabcb/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/661ec5192a2aabcb/badge.svg)](https://brick.blue/agent/661ec5192a2aabcb?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.