Labsco
JackKuo666 logo

ClinicalTrials MCP Server

โ˜… 16

from JackKuo666

Search and access clinical trial data from ClinicalTrials.gov.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeQuick setup

ClinicalTrials MCP Server

smithery badge

๐Ÿ” Enable AI assistants to search and access ClinicalTrials.gov data through a simple MCP interface.

The ClinicalTrials MCP Server provides a bridge between AI assistants and ClinicalTrials.gov's clinical trial repository through the Model Context Protocol (MCP). It allows AI models to search for clinical trials and access their content in a programmatic way.

๐Ÿค Contribute โ€ข ๐Ÿ“ Report Bug

โœจ Core Features

  • ๐Ÿ”Ž Trial Search: Query clinical trials with custom search strings or advanced search parameters โœ…
  • ๐Ÿš€ Efficient Retrieval: Fast access to trial metadata โœ…
  • ๐Ÿ“Š Metadata Access: Retrieve detailed metadata for specific trials using NCT ID โœ…
  • ๐Ÿ“Š Research Support: Facilitate health sciences research and analysis โœ…
  • ๐Ÿ“‹ CSV Management: Save, load, and list CSV files with trial data โœ…
  • ๐Ÿ—ƒ๏ธ Local Storage: Trials are saved locally for faster access โœ…
  • ๐Ÿ“Š Statistics: Get statistics about clinical trials โœ…

๐Ÿ›  MCP Tools

The ClinicalTrials MCP Server provides the following tools:

search_clinical_trials_and_save_studies_to_csv

Search for clinical trials using a search expression and save the results to a CSV file.

Parameters:

  • search_expr (str): Search expression (e.g., "Coronavirus+COVID")
  • max_studies (int, optional): Maximum number of studies to return (default: 10)
  • save_csv (bool, optional): Whether to save the results as a CSV file (default: True)
  • filename (str, optional): Name of the CSV file to save (default: corona_fields.csv)
  • fields (list, optional): List of fields to include (default: NCT Number, Conditions, Study Title, Brief Summary)

Returns: String representation of the search results

get_full_study_details

Get detailed information about a specific clinical trial.

Parameters:

  • nct_id (str): The NCT ID of the clinical trial

Returns: String representation of the study details

get_studies_by_keyword

Get studies related to a specific keyword.

Parameters:

  • keyword (str): Keyword to search for
  • max_studies (int, optional): Maximum number of studies to return (default: 20)
  • save_csv (bool, optional): Whether to save the results as a CSV file (default: True)
  • filename (str, optional): Name of the CSV file to save (default: keyword_results_{keyword}.csv)

Returns: String representation of the studies

get_study_statistics

Get statistics about clinical trials.

Parameters:

  • condition (str, optional): Optional condition to filter by

Returns: String representation of the statistics

get_full_studies_and_save

Get full studies data and save to CSV.

Parameters:

  • search_expr (str): Search expression (e.g., "Coronavirus+COVID")
  • max_studies (int, optional): Maximum number of studies to return (default: 20)
  • filename (str, optional): Name of the CSV file to save (default: full_studies.csv)

Returns: Message indicating the results were saved

load_csv_data

Load and display data from a CSV file.

Parameters:

  • filename (str): Name of the CSV file to load

Returns: String representation of the CSV data

list_saved_csv_files

List all available CSV files in the current directory.

Returns: String representation of the available CSV files

๐Ÿ” MCP Resources

The ClinicalTrials MCP Server also provides the following resources:

clinicaltrials://corona_fields

Get the corona fields data as a resource.

clinicaltrials://full_studies

Get the full studies data as a resource.

clinicaltrials://csv/{filename}

Get data from a specific CSV file.

Parameters:

  • filename (str): Name of the CSV file

clinicaltrials://available_files

Get a list of all available CSV files.

clinicaltrials://study/{nct_id}

Get a specific study by NCT ID.

Parameters:

  • nct_id (str): The NCT ID of the clinical trial

clinicaltrials://condition/{condition}

Get studies related to a specific condition.

Parameters:

  • condition (str): The condition to search for

๐Ÿ“ Project Structure

  • clinical_trials_server.py: The main MCP server implementation using FastMCP
  • clinical_trials.py: Contains helper functions for interacting with the ClinicalTrials.gov API

๐Ÿ”ง Dependencies

  • Python 3.10+
  • FastMCP
  • pytrials
  • pandas

You can install the required dependencies using:

pip install FastMCP pytrials pandas

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

๐Ÿ“„ License

This project is licensed under the MIT License.

โš ๏ธ Disclaimer

This tool is for research purposes only. Please respect ClinicalTrials.gov's terms of service and use this tool responsibly.