
An MCP server enabling AI assistants to search and analyze pharmaceutical data through Cortellis. Perfect for competitive intelligence and pharmaceutical market research.
Features
- ? Drug Search: Search by indication, phase, company, and development status
- ? Ontology Exploration: Navigate standardized medical terminology and drug classifications
- ? Developer-Friendly: Clear documentation and easy integration with AI assistants
- ? Secure Authentication: Base64 token-based authentication for API access
Quick Start
Installation
# Using pip
pip install cortellis-mcp
# Or for development
git clone https://github.com/uh-joan/mcp-cortellis.git
cd mcp-cortellis
python -m venv venv
source venv/bin/activate # On Unix/macOS
pip install -e .
Authentication Setup
The server uses a base64-encoded authentication token that combines your Cortellis username and password in the format username:password
. This token must be provided in the CORTELLIS_AUTH
environment variable.
To generate your token:
# On Unix/macOS
echo -n "your_username:your_password" | base64
# On Windows PowerShell
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("your_username:your_password"))
Set up your environment:
- Copy
.env.example
to .env
- Replace
your_base64_token
with your generated token:
# In .env file
CORTELLIS_AUTH=your_base64_token # e.g., dXNlcm5hbWU6cGFzc3dvcmQ=
MCP_WEBSOCKET=true
MCP_PORT=8765
IDE Integration
{
"mcps": {
"cortellis": {
"command": ["python"],
"args": ["-m", "cortellis_mcp"],
"env": {
"CORTELLIS_AUTH": "your_base64_token",
"MCP_WEBSOCKET": "true",
"MCP_PORT": "8765"
}
}
}
}
Usage
Development Status Codes
DR
: Discovery/Preclinical
C1
: Phase 1 Clinical
C2
: Phase 2 Clinical
C3
: Phase 3 Clinical
PR
: Pre-registration
R
: Registered
L
: Launched
DX
: Discontinued
W
: Withdrawn
Example Queries
- "Search for drugs targeting obesity in phase 3"
- "Find all launched drugs by Novo Nordisk"
- "Explore ontology terms related to glucagon"
Python API
from cortellis_mcp import search_drugs, explore_ontology
# Search for Phase 3 obesity drugs
results = search_drugs(
indication="obesity",
phase="C3"
)
# Explore ontology terms
terms = explore_ontology(
category="indication",
term="diabetes"
)
Documentation
Security
- Token-based authentication using base64 encoded credentials
- HTTPS encryption for API communications
- Request validation and rate limiting
- Regular security audits
- Secure environment variable handling
Support
For issues and feature requests, please use the GitHub issue tracker.