Allows querying clinical trial data from the AACT database (which contains ClinicalTrials.gov information) stored in PostgreSQL, with tools for exploring database tables, executing SELECT queries, and recording analytical insights.
AACT Clinical Trials MCP Server
Overview
A Model Context Protocol (MCP) server implementation that provides access to the AACT (Aggregate Analysis of ClinicalTrials.gov) database using the FastMCP framework. This server allows AI assistants to directly query clinical trial data from the ClinicalTrials.gov database.
Features
Tools
list_tables
- Get an overview of all available tables in the AACT database
- Useful for understanding the database structure before analysis
describe_table
- Examine the detailed structure of a specific AACT table
- Shows column names and data types
- Example:
{"table_name": "studies"}
read_query
- Execute a SELECT query on the AACT clinical trials database
- Safely handle SQL queries with validation
- Example:
{"query": "SELECT nct_id, brief_title FROM ctgov.studies LIMIT 5"}
append_insight
- Record key findings and insights discovered during analysis
- Helps build an analytical narrative
- Example:
{"finding": "Phase 3 oncology trials have increased by 15% over the last 5 years"}
Resources
schema://database
- Returns the database schema as a JSON resource
memo://insights
- Returns a formatted memo of insights collected during the session
Configuration
Database Access
- Create a free account at https://aact.ctti-clinicaltrials.org/users/sign_up
- Set environment variables:
DB_USER
: AACT database usernameDB_PASSWORD
: AACT database password
Usage with Claude Desktop
Note that you need Claude Desktop and a Claude subscription at the moment.
Add one of the following configurations to the file claude_desktop_config.json. (On macOS, the file is located at /Users/YOUR_USERNAME/Library/Application Support/Claude/claude_desktop_config.json and you will need to create it yourself if it does not exist yet).
Option 1: Using the published package
Option 2: Running from source (development)
Example Prompts
Here are some example prompts to use with this plugin:
- "What are the most common types of interventions in breast cancer clinical trials?"
- "How many phase 3 clinical trials were completed in 2023?"
- "Show me the enrollment statistics for diabetes trials across different countries"
- "What percentage of oncology trials have reported results in the last 5 years?"
Implementation Details
This server is built using:
- FastMCP for the Model Context Protocol implementation
- Python psycopg2 for PostgreSQL database connectivity
- AACT database as the data source for ClinicalTrials.gov information
License
MIT License
Contributing
We welcome contributions! Please:
- Open an issue on GitHub
- Start a discussion
- Email: jonas.walheim@navis-bio.com
Acknowledgements
This project was inspired by and initially based on code from:
Thanks to these awesome projects for showing us the way! 🙌
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Provides AI assistants with direct query access to the AACT (Aggregate Analysis of ClinicalTrials.gov) database, allowing structured retrieval and analysis of clinical trial data.
Related MCP Servers
- AsecurityAlicenseAqualityAllows AI assistants to list tables, read data, and execute SQL queries through a controlled interface, making database exploration and analysis safer and more structured.Last updated -1580PythonMIT License
- -securityAlicense-qualityProvides access to the ClinicalTrials.gov AACT database, enabling analysis of clinical trial data, tracking development trends, and generating therapeutic landscape insights.Last updated -11PythonGPL 3.0
- -securityAlicense-qualityConnects AI tools directly to Airtable, allowing users to query, create, update, and delete records using natural language.Last updated -1226PythonMIT License
- -securityAlicense-qualityEnables users to query ClinicalTrials.gov using natural language instead of complex API parameters, translating plain English requests into structured API calls and returning organized clinical trial data.Last updated -PythonMIT License