Clinical Trial Tracker

Search and monitor ClinicalTrials.gov and EU trial registry records, with trial change tracking and

Should I use this

Quality & Safety

A
Description quality
90%
Schema completeness
82%
Naming quality
97%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'compare_clinical_trials' description lacks action verbin compare_clinical_trials

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,137Tokens (tool definitions)
~2.4 KBTypical response size
Moderate attention impact (1.67% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "clinical": {
      "url": "https://clinicaltracker.org/mcp/public"
    }
  }
}

Remote endpoints

https://clinicaltracker.org/mcp/publicstreamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢search_clinical_trials(query, condition, intervention, sponsor, institution, ...)

Search ClinicalTrials.gov by condition, intervention, sponsor, phase, recruitment status, location, institution, study type or dates. Returns structured studies with source links and retrieval time.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Free-text search across the registry",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "condition": {
      "description": "Disease or condition, e.g. multiple sclerosis",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "intervention": {
      "description": "Drug or other intervention name",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "sponsor": {
      "description": "Sponsor or collaborator name",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "institution": {
      "description": "Research site / facility name",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "location": {
      "description": "Free-text place, e.g. 'Boston, Massachusetts'",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "location_filter": {
      "description": "Show only sites in this city/state/country in each result",
      "type": "object",
      "properties": {
        "city": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80
        },
        "state": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80
        },
        "country": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80
        }
      },
      "additionalProperties": false
    },
    "near": {
      "type": "object",
      "properties": {
        "latitude": {
          "type": "number",
          "minimum": -90,
          "maximum": 90
        },
        "longitude": {
          "type": "number",
          "minimum": -180,
          "maximum": 180
        },
        "radius_miles": {
          "type": "number",
          "minimum": 1,
          "maximum": 500
        }
      },
      "required": [
        "latitude",
        "longitude",
        "radius_miles"
      ],
      "additionalProperties": false
    },
    "nct_ids": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^NCT\\d{8}$"
      }
    },
    "phase": {
      "maxItems": 6,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "NA",
          "EARLY_PHASE1",
          "PHASE1",
          "PHASE2",
          "PHASE3",
          "PHASE4"
        ]
      }
    },
    "recruitment_status": {
      "maxItems": 14,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "ACTIVE_NOT_RECRUITING",
          "COMPLETED",
          "ENROLLING_BY_INVITATION",
          "NOT_YET_RECRUITING",
          "RECRUITING",
          "SUSPENDED",
          "TERMINATED",
          "WITHDRAWN",
          "AVAILABLE",
          "NO_LONGER_AVAILABLE",
          "TEMPORARILY_NOT_AVAILABLE",
          "APPROVED_FOR_MARKETING",
          "WITHHELD",
          "UNKNOWN"
        ]
      }
    },
    "study_type": {
      "type": "string",
      "enum": [
        "INTERVENTIONAL",
        "OBSERVATIONAL",
        "EXPANDED_ACCESS"
      ]
    },
    "start_date_from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "start_date_to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "updated_since": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "first_posted_since": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "page_size": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "page_token": {
      "type": "string",
      "maxLength": 500
    }
  },
  "additionalProperties": false
}
🟢get_clinical_trial(nct_id, location_filter, max_locations)

One study by NCT id: full structured record (status, dates, enrollment, eligibility text, sites and contacts, outcomes, documents), plus the changes AgentStructure has observed and data freshness.

Input Schema

{
  "type": "object",
  "properties": {
    "nct_id": {
      "type": "string",
      "pattern": "^NCT\\d{8}$"
    },
    "location_filter": {
      "type": "object",
      "properties": {
        "city": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80
        },
        "state": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80
        },
        "country": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80
        }
      },
      "additionalProperties": false
    },
    "max_locations": {
      "type": "integer",
      "minimum": 0,
      "maximum": 200
    }
  },
  "required": [
    "nct_id"
  ],
  "additionalProperties": false
}
🟢get_trial_changes(nct_id, since, event_types, include_baseline, limit)

The change history AgentStructure recorded for a study: previous and new values, event type, dates and provenance. Starts monitoring the study if it was unknown.

Input Schema

{
  "type": "object",
  "properties": {
    "nct_id": {
      "type": "string",
      "pattern": "^NCT\\d{8}$"
    },
    "since": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "event_types": {
      "maxItems": 40,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "STUDY_FIRST_OBSERVED",
          "NEW_STUDY_REGISTERED",
          "NEW_STUDY_MATCHED",
          "NOT_RECRUITING_TO_RECRUITING",
          "RECRUITING_TO_SUSPENDED",
          "RECRUITMENT_CLOSED",
          "STUDY_SUSPENDED",
          "STUDY_TERMINATED",
          "STUDY_WITHDRAWN",
          "STUDY_COMPLETED",
          "STATUS_CHANGED",
          "NEW_SITE_ADDED",
          "SITE_REMOVED",
          "SITE_STATUS_CHANGED",
          "ENROLLMENT_TARGET_CHANGED",
          "ENROLLMENT_ACTUAL_REPORTED",
          "START_DATE_REVISED",
          "PRIMARY_COMPLETION_DATE_REVISED",
          "COMPLETION_DATE_REVISED",
          "DATE_CONFIRMED_ACTUAL",
          "RESULTS_POSTED",
          "PHASE_CHANGED",
          "ELIGIBILITY_CHANGED",
          "SPONSOR_CHANGED",
          "COLLABORATORS_CHANGED",
          "INTERVENTIONS_CHANGED",
          "CONDITIONS_CHANGED",
          "TITLE_CHANGED",
          "STUDY_TYPE_CHANGED",
          "FDA_RECALL_POSTED",
          "FDA_APPROVAL_RECORDED",
          "FDA_SUPPLEMENT_APPROVED",
          "FDA_LABEL_UPDATED",
          "PUBLICATION_LINKED"
        ]
      }
    },
    "include_baseline": {
      "type": "boolean"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    }
  },
  "required": [
    "nct_id"
  ],
  "additionalProperties": false
}
🟢compare_clinical_trials(nct_ids)

Side-by-side registry attributes for 2 to 5 studies. A structural comparison only, never an efficacy or safety ranking.

Input Schema

{
  "type": "object",
  "properties": {
    "nct_ids": {
      "minItems": 2,
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^NCT\\d{8}$"
      }
    }
  },
  "required": [
    "nct_ids"
  ],
  "additionalProperties": false
}
🟢search_eu_trials(query, condition, medicine, sponsor, ct_number, ...)

Search the EU Clinical Trials Information System (CTIS, euclinicaltrials.eu) by condition, medicine, sponsor or text, or get one trial by EU CT number (with its ClinicalTrials.gov link when listed). Experimental source.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "description": "Free text across EU trial records",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "condition": {
      "description": "Medical condition",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "medicine": {
      "description": "Medicine or active substance",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "sponsor": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "ct_number": {
      "description": "Get one trial by EU CT number",
      "type": "string",
      "pattern": "^\\d{4}-\\d{6}-\\d{2}-\\d{2}$"
    },
    "page": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "page_size": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "additionalProperties": false
}
🟢search_fda_updates(dataset, drug, firm, application_number, since, ...)

Search openFDA: Drugs@FDA approvals (drug/drugsfda), recalls (drug/enforcement) or labeling (drug/label) by drug, firm, application number or date.

Input Schema

{
  "type": "object",
  "properties": {
    "dataset": {
      "type": "string",
      "enum": [
        "drug/enforcement",
        "drug/drugsfda",
        "drug/label"
      ],
      "description": "drug/drugsfda = approvals; drug/enforcement = recalls; drug/label = labeling"
    },
    "drug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "firm": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    },
    "application_number": {
      "type": "string",
      "pattern": "^(NDA|ANDA|BLA)\\d{6}$"
    },
    "since": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "until": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "dataset"
  ],
  "additionalProperties": false
}
🟢get_trial_intelligence_brief(subject, value)

A source-linked brief on a study, sponsor, condition, intervention, or one of your watchlists: current facts, observed developments, unknowns, and freshness.

Input Schema

{
  "type": "object",
  "properties": {
    "subject": {
      "type": "string",
      "enum": [
        "study",
        "sponsor",
        "condition",
        "intervention",
        "watchlist"
      ]
    },
    "value": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "NCT id, sponsor, condition, intervention, or watchlist id"
    }
  },
  "required": [
    "subject",
    "value"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools