Skip to content

ClinicalTrials.gov MCP by usefulapi

by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi

Search and read ClinicalTrials.gov studies, sites and outcomes.

Read only

7 tools: 7 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http clinicaltrialsgov https://clinicaltrialsgov.usefulapi.io/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

7 tools

Only reads 7Claude Code: allow
  • count_studiesReturn only the total NUMBER of studies matching a query, without fetching any records.No findings

    Why it is in this group

    • The name "count_studies" says "count": a word for reading.
    Description, as the server wrote it
    Return only the total NUMBER of studies matching a query, without fetching any records. Accepts the same query terms and filters as search_studies (term, condition, intervention, title, location, sponsor, status, geoFilter, advanced). Returns { totalCount }. GET /studies with countTotal=true and pageSize=1.

    Annotations the server declares

    • title: Count matching clinical trials
    • readOnlyHint: true
  • get_api_versionReturn the ClinicalTrials.gov API version and the timestamp of the underlying data snapshot: { apiVersion, dataTimestamp }.No findings

    Why it is in this group

    • The name "get_api_version" says "get": a word for reading.
    Description, as the server wrote it
    Return the ClinicalTrials.gov API version and the timestamp of the underlying data snapshot: { apiVersion, dataTimestamp }. GET /version.

    Annotations the server declares

    • title: Get the ClinicalTrials.gov API version
    • readOnlyHint: true
  • get_studies_statsReturn overall study-size statistics across the registry: { totalStudies, averageSizeBytes, percentiles, ranges, largestStudies }.No findings

    Why it is in this group

    • The name "get_studies_stats" says "get": a word for reading.
    Description, as the server wrote it
    Return overall study-size statistics across the registry: { totalStudies, averageSizeBytes, percentiles, ranges, largestStudies }. Useful for understanding data volume. GET /stats/size.

    Annotations the server declares

    • title: Get study size statistics
    • readOnlyHint: true
  • get_studyFetch a single ClinicalTrials.gov study by its NCT id (format NCT######## — the letters 'NCT' followed by digits, e.g.No findings

    Why it is in this group

    • The name "get_study" says "get": a word for reading.
    Description, as the server wrote it
    Fetch a single ClinicalTrials.gov study by its NCT id (format NCT######## — the letters 'NCT' followed by digits, e.g. NCT00841061). Returns the full study object { protocolSection, derivedSection?, hasResults? }. Use `fields` to return only specific fields/modules. GET /studies/{nctId}.

    Annotations the server declares

    • title: Get a clinical trial by NCT ID
    • readOnlyHint: true
  • get_study_metadataReturn the ClinicalTrials.gov study data model as a tree of module nodes (each with name/title/type/children).No findings

    Why it is in this group

    • The name "get_study_metadata" says "get": a word for reading.
    Description, as the server wrote it
    Return the ClinicalTrials.gov study data model as a tree of module nodes (each with name/title/type/children). Use this to explore what fields/modules exist and their nesting, to build `fields` selections or `sort`/filter expressions. GET /studies/metadata.

    Annotations the server declares

    • title: Get the study data-model (field tree)
    • readOnlyHint: true
  • list_field_valuesDiscover valid values / enums for one or more study fields.No findings

    Why it is in this group

    • The name "list_field_values" says "list": a word for reading.
    Description, as the server wrote it
    Discover valid values / enums for one or more study fields. Returns per-field value statistics — for each field: its type, unique-value count and topValues [{value, studiesCount}]. Great for finding valid enum values (e.g. OverallStatus, Phase) before building a filter. GET /stats/field/values.

    Annotations the server declares

    • title: List value statistics for study fields
    • readOnlyHint: true
  • search_studiesSearch the ClinicalTrials.gov v2 study registry.No findings

    Why it is in this group

    • The name "search_studies" says "search": a word for reading.
    Description, as the server wrote it
    Search the ClinicalTrials.gov v2 study registry. Provide any combination of query terms (condition, intervention, title, location, sponsor, general term) — multiple query.* terms are ANDed together — plus optional filters (status, geo, advanced Essie expression, explicit NCT ids). Returns { totalCount?, studies: [...], nextPageToken? }. Use `fields` to trim the response to specific fields/modules, `sort` to order (e.g. '@relevance', 'LastUpdatePostDate:desc', 'EnrollmentCount:desc'), and pageSize/pageToken to page. GET /studies.

    Annotations the server declares

    • title: Search clinical trials (ClinicalTrials.gov)
    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.16.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http clinicaltrialsgov https://clinicaltrialsgov.usefulapi.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__clinicaltrialsgov__search_studies",
      "mcp__clinicaltrialsgov__get_study",
      "mcp__clinicaltrialsgov__count_studies",
      "mcp__clinicaltrialsgov__list_field_values",
      "mcp__clinicaltrialsgov__get_study_metadata",
      "mcp__clinicaltrialsgov__get_studies_stats",
      "mcp__clinicaltrialsgov__get_api_version"
    ],
    "ask": [],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as clinicaltrialsgov. Review it before you use it.