Cortellis MCP Server
A production-ready MCP server enabling AI assistants to search and analyze pharmaceutical data through Cortellis. Features comprehensive drug search, ontology exploration, and real-time clinical trial data access.
Perfect for drug discovery, clinical trial analysis, and pharmaceutical market research, this server enables natural language interactions for complex pharmaceutical queries.
Features
-
🔍 Comprehensive Drug Search
- Search by indication, phase, company, and more
- Real-time access to drug development statuses
- Detailed pharmaceutical data retrieval
-
🧬 Ontology Exploration
- Explore standardized medical terminology
- Navigate drug classifications
- Discover relationships between terms
-
🔐 Secure Authentication
- Environment-based credential management
- Secure API communication
- Rate limiting and request validation
-
🛠 Developer-Friendly
- Clear API documentation
- Example scripts and use cases
- Easy integration with AI assistants
Architecture
graph LR
A[AI Assistant] --> B[MCP Server]
B --> C[Cortellis API]
C --> D[Drug Data]
C --> E[Ontology Data]
B --> F[Response Processing]
F --> A
Prerequisites
- Python 3.10 or higher
- uv package manager (recommended) or pip
- Cortellis API credentials
Installation
From PyPI (Recommended)
# Using pip
pip install cortellis-mcp
# Using uv
uv pip install cortellis-mcp
Local Installation (Development)
- Clone the repository:
git clone https://github.com/uh-joan/mcp-cortellis.git
cd mcp-cortellis
- Install the package:
# Using uv (recommended)
uv venv
source .venv/bin/activate # On Unix/macOS
# or
.venv\Scripts\activate # On Windows
uv pip install -e .
# Or using pip
python -m venv .venv
source .venv/bin/activate # On Unix/macOS
# or
.venv\Scripts\activate # On Windows
pip install -e .
- Set up your environment variables:
# In your .env file
CORTELLIS_USERNAME=your_username
CORTELLIS_PASSWORD=your_password
Alternative: Install from GitHub
If you just want to use the package without development:
# Using uv
uv pip install git+https://github.com/uh-joan/mcp-cortellis.git
# Or using pip
pip install git+https://github.com/uh-joan/mcp-cortellis.git
Using with Cursor IDE
Add the following to your .cursor/settings.json:
{
"mcps": {
"cortellis": {
"command": ["python", "-m", "cortellis_mcp"],
"env": {
"CORTELLIS_USERNAME": "your_username",
"CORTELLIS_PASSWORD": "your_password"
}
}
}
}
After restarting Cursor, you can use natural language prompts like:
- "Search for drugs targeting obesity in phase 3"
- "Find all launched drugs by Novo Nordisk"
- "Explore ontology terms related to glucagon"
Quick Start
from cortellis_mcp import search_drugs, explore_ontology
# Search for Phase 3 obesity drugs
results = search_drugs(
indication="obesity",
phase="C3" # Phase 3 Clinical
)
# Explore ontology terms
terms = explore_ontology(
category="indication",
term="diabetes"
)
Check the examples directory for more usage examples.
API Reference
See the API documentation for detailed function references.
Development Status Codes
When searching for drugs, you can use these phase codes:
S: SuspendedDR: Discovery/PreclinicalCU: Clinical (unknown phase)C1: Phase 1 ClinicalC2: Phase 2 ClinicalC3: Phase 3 ClinicalPR: Pre-registrationR: RegisteredL: LaunchedOL: OutlicensedNDR: No Development ReportedDX: DiscontinuedW: Withdrawn
Development
For development work, follow the Local Installation instructions above, which will install the package in editable mode (-e flag).
License
This project is licensed under the MIT License - see the LICENSE file for details.
Security Considerations
- API credentials are stored securely in environment variables
- All requests are authenticated and validated
- Rate limiting is enforced to prevent abuse
- HTTPS encryption for all API communications
- Regular security audits and updates
Categories
- Research & Data
- Health & Wellness
- Developer Tools
- API Integration
Contributing
Contributions are welcome! Please read our Contributing Guidelines before submitting changes.
Support
Metadata
Release files for cortellis-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| cortellis_mcp-0.1.0.tar.gz | 10.2 kB | Without provenance | Details for cortellis_mcp-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| cortellis_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for cortellis_mcp-0.1.0-py3-none-any.whl |
Total release size: 18.6 kB
Release files / cortellis_mcp-0.1.0.tar.gz
| Download URL | cortellis_mcp-0.1.0.tar.gz |
|---|---|
| Size | 10.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5886c5ffd5956d4e323cffce2460eb4c60671bb83a3a8e68f9030048f22774fe
|
|
BLAKE2b-256 checksum How to use checksums |
152c46e867de1fdf1719268a076882b0624eb3192466b969888b481907b1a662
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.16
|
Release files / cortellis_mcp-0.1.0-py3-none-any.whl
| Download URL | cortellis_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eaeeec56d40fdcaf8fba9ed6944bce5f434411aecd2f0e5b46caccfc165dfb20
|
|
BLAKE2b-256 checksum How to use checksums |
55f2856a1eadcd3fac2d604b61c35a2dc1601a2a08c3106ac207665e19654459
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.10.16
|
Security for cortellis-mcp 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.