The Cortellis MCP Server provides a convenient interface for searching drugs and exploring ontology terms in the Cortellis database. It allows you to access comprehensive pharmaceutical data through either a Model Context Protocol (MCP) server or an HTTP server.
To install the Cortellis MCP Server, use npm:
npm install @uh-joan/cortellis-mcp-server
Before using the server, you need to set up the required environment variables:
CORTELLIS_USERNAME=your_username
CORTELLIS_PASSWORD=your_password
USE_HTTP=true # Optional: run as HTTP server
PORT=3000 # Optional: specify port for HTTP server
You can run the server in two modes:
# As MCP server
npx cortellis-mcp-server
# As HTTP server
USE_HTTP=true PORT=3000 npx cortellis-mcp-server
The search_drugs
tool allows you to search for drugs in the Cortellis database with various filters:
{
"tool-name": "search_drugs",
"Tool_Parameters": {
"query": "obesity",
"phase": "C3",
"indication": "238"
}
}
Optional parameters:
query
- Raw search querycompany
- Company ID (e.g., "18614")indication
- Indication ID (e.g., "238" for Obesity)action
- Target specific actionphase
- Development status (S, DR, CU, C1-C3, PR, R, L, OL, NDR, DX, W)phase_terminated
- Last phase before NDR/DXtechnology
- Drug technologydrug_name
- Name of the drugcountry
- Country IDoffset
- For paginationcompany_size
- Company size based on market capitalizationdevelopmentStatusDate
- Status change date, format: RANGE(>=YYYY-MM-DD;<=YYYY-MM-DD)historic
- Set to true for historical status queriesThe explore_ontology
tool helps you discover taxonomy terms:
{
"tool-name": "explore_ontology",
"Tool_Parameters": {
"indication": "diabetes"
}
}
At least one of these parameters is required:
term
- Generic search termcategory
- Category to search withinaction
- Target specific actionindication
- Disease/conditioncompany
- Company namedrug_name
- Drug nametarget
- Drug targettechnology
- Drug technologyRetrieve complete information about a specific drug:
{
"tool-name": "get_drug",
"Tool_Parameters": {
"id": "101964"
}
}
Obtain SWOT analysis for a specific drug:
{
"tool-name": "get_drug_swot",
"Tool_Parameters": {
"id": "101964"
}
}
Retrieve financial data and forecasts for a drug:
{
"tool-name": "get_drug_financial",
"Tool_Parameters": {
"id": "101964"
}
}
Retrieve complete information about a specific company:
{
"tool-name": "get_company",
"Tool_Parameters": {
"id": "12345"
}
}
Search for companies in the Cortellis database:
{
"tool-name": "search_companies",
"Tool_Parameters": {
"company_name": "Pfizer"
}
}
Optional parameters include query
, hq_country
, deals_count
, indications
, actions
, technologies
, company_size
, status
, and offset
.
Search for deals in the Cortellis database:
{
"tool-name": "search_deals",
"Tool_Parameters": {
"dealTitle": "licensing"
}
}
Optional parameters include query
, dealDrugNamesAll
, indications
, dealDrugCompanyPartnerIndications
, dealPhaseHighestStart
, dealPhaseHighestNow
, dealStatus
, dealSummary
, dealTitleSummary
, technologies
, dealType
, actionsPrimary
, sortBy
, and offset
.
When running in HTTP mode (USE_HTTP=true), these REST endpoints are available:
POST /search_drugs
- Search for drugsPOST /explore_ontology
- Search taxonomy termsGET /drug/:id
- Get drug record by IDGET /drug/:id/swot
- Get SWOT analysis for a drugGET /drug/:id/financial
- Get financial data for a drugGET /company/:id
- Get company record by IDPOST /search_companies
- Search for companiesPOST /search_deals
- Search for dealsTo use with Claude Desktop:
claude_desktop_config.json
:{
"mcpServers": {
"cortellis": {
"command": "npx",
"args": [
"-y",
"@uh-joan/cortellis-mcp-server"
],
"env": {
"CORTELLIS_USERNAME": "your_username",
"CORTELLIS_PASSWORD": "your_password"
}
}
}
}
To run using Docker:
docker build -t cortellis-mcp-server .
docker run -i --env-file .env cortellis-mcp-server
There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json
file so that it is available in all of your projects.
If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json
file.
To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".
When you click that button the ~/.cursor/mcp.json
file will be opened and you can add your server like this:
{
"mcpServers": {
"cursor-rules-mcp": {
"command": "npx",
"args": [
"-y",
"cursor-rules-mcp"
]
}
}
}
To add an MCP server to a project you can create a new .cursor/mcp.json
file or add it to the existing one. This will look exactly the same as the global MCP server example above.
Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.
The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.
You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.