ClinicalTrials.gov MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ClinicalTrials.gov MCP Serversearch for recruiting phase 2 trials on diabetes"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ClinicalTrials.gov MCP Server
A Model Context Protocol (MCP) server that provides access to the ClinicalTrials.gov API v2, enabling AI assistants to search and retrieve clinical trial data.
Features
Search clinical trials with filters (status, phase, condition, intervention, sponsor, study type)
Get detailed study information by NCT ID
Retrieve field metadata for available data fields
Get search areas and available filters
Query dataset statistics
API version information
Related MCP server: Clinical Trials MCP Server
Installation
npm installBuilding
npm run buildRunning
Local Development (HTTP API)
npm startThe HTTP API will be available at:
Health check:
http://localhost:3000/healthTools list:
http://localhost:3000/toolsTool endpoints:
http://localhost:3000/tools/{tool_name}
Local Development (MCP stdio)
For local MCP client integration via stdio:
npm run start:stdioDeployment
Vercel (HTTP API)
The server is deployed on Vercel at:
Production: https://clinicaltrials-mcp-server-three.vercel.app
Health check: https://clinicaltrials-mcp-server-three.vercel.app/health
Tools list: https://clinicaltrials-mcp-server-three.vercel.app/tools
MCP Configuration
For HTTP API (Vercel)
Configure your MCP client to use the HTTP endpoints:
{
"mcpServers": {
"clinicaltrials": {
"url": "https://clinicaltrials-mcp-server-three.vercel.app",
"transport": "http"
}
}
}For Local stdio
Add this server to your MCP client configuration:
{
"mcpServers": {
"clinicaltrials": {
"command": "node",
"args": ["/path/to/clinicaltrials-mcp-server/dist/server.js"]
}
}
}Available Tools
search_studies
Search clinical trials with filters.
Parameters:
queryTerm(string, optional): Full-text search termstatus(string, optional): Trial status (RECRUITING, COMPLETED, ACTIVE_NOT_RECRUITING, etc.)phase(string, optional): Clinical trial phase (PHASE1, PHASE2, PHASE3, etc.)condition(string, optional): Medical condition or diseaseintervention(string, optional): Intervention or treatment typeleadSponsor(string, optional): Lead sponsor namestudyType(string, optional): Study type (INTERVENTIONAL, OBSERVATIONAL, EXPANDED_ACCESS)pageSize(number, optional): Results per page (1-1000, default: 50)pageToken(string, optional): Pagination token for next page
Example:
{
"queryTerm": "diabetes",
"status": "RECRUITING",
"phase": "PHASE2",
"pageSize": 10
}get_study
Get detailed information about a specific clinical trial by NCT ID.
Parameters:
nctId(string, required): ClinicalTrials.gov identifier (e.g., "NCT04000009")
Example:
{
"nctId": "NCT04000009"
}get_study_fields
Get metadata about all available data fields in ClinicalTrials.gov study records.
Parameters: None
get_search_areas
Get available search areas and filters for querying clinical trials.
Parameters: None
get_dataset_stats
Get statistics about the ClinicalTrials.gov database.
Parameters:
queryTerm(string, optional): Query term to filter statistics
get_api_version
Get the ClinicalTrials.gov API version information.
Parameters: None
API Reference
This server uses the ClinicalTrials.gov Data API v2, which is a public, unauthenticated REST API.
Base URL: https://clinicaltrials.gov/api/v2
Project Structure
clinicaltrials-mcp-server/
├── src/
│ ├── api-client.ts # ClinicalTrials.gov API client
│ ├── server.ts # MCP server setup
│ ├── index.ts # Main entry point
│ ├── types/
│ │ └── api.ts # TypeScript type definitions
│ └── tools/
│ ├── search-studies.ts
│ ├── get-study.ts
│ ├── get-study-fields.ts
│ ├── get-search-areas.ts
│ ├── get-dataset-stats.ts
│ └── get-api-version.ts
├── dist/ # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.mdDevelopment
This project uses:
TypeScript for type safety
@modelcontextprotocol/sdk for MCP server implementation
Node.js runtime
License
ISC
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/davidfromkansas/clinical_trials_mcp_server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server