Skip to main content

Cortellis MCP Server for drug search and ontology exploration

Project description

Cortellis MCP Server

License: MIT Quality: A Documentation: Yes Type: MCP

PyPI version PyPI - Python Version PyPI - Downloads PyPI - Status

Python: 3.10+ Docker: Ready Code Style: Ruff

Platform: Linux Platform: macOS

GitHub Stars Last Commit GitHub Issues GitHub Pull Requests PRs: Welcome

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)

  1. Clone the repository:
git clone https://github.com/uh-joan/mcp-cortellis.git
cd mcp-cortellis
  1. 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 .
  1. 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: Suspended
  • DR: Discovery/Preclinical
  • CU: Clinical (unknown phase)
  • C1: Phase 1 Clinical
  • C2: Phase 2 Clinical
  • C3: Phase 3 Clinical
  • PR: Pre-registration
  • R: Registered
  • L: Launched
  • OL: Outlicensed
  • NDR: No Development Reported
  • DX: Discontinued
  • W: 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cortellis_mcp-0.1.0.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cortellis_mcp-0.1.0-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file cortellis_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: cortellis_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for cortellis_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5886c5ffd5956d4e323cffce2460eb4c60671bb83a3a8e68f9030048f22774fe
MD5 8cd6cf41a8f07a13e6985c98286a8316
BLAKE2b-256 152c46e867de1fdf1719268a076882b0624eb3192466b969888b481907b1a662

See more details on using hashes here.

File details

Details for the file cortellis_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cortellis_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for cortellis_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eaeeec56d40fdcaf8fba9ed6944bce5f434411aecd2f0e5b46caccfc165dfb20
MD5 0b99db9b5d4a902d9a22d2d5493c4955
BLAKE2b-256 55f2856a1eadcd3fac2d604b61c35a2dc1601a2a08c3106ac207665e19654459

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page