MCP server for Cortellis drug database search and ontology exploration
Server has 7 tools with explicit schemas and descriptions. Naming follows verb_noun convention (search_*, get_*, explore_*). Descriptions are present and moderately detailed (avg ~150 chars). However, several parameters lack descriptions, output schemas are not documented, and error handling is minimal. The search_drugs and search_companies tools include helpful enum descriptions and examples, but most other tools are sparse. No tool annotations (readOnlyHint, destructiveHint) despite all being read-only operations.
Explore the ontology or taxonomy terms in the Cortellis database
Return the entire company record with all available fields for a given identifier from Cortellis API
Return the entire drug record with all available fields for a given identifier from Cortellis API
Return financial commentary and data (actual sales and consensus forecast) for a submitted drug identifier from Cortellis API
Return SWOT analysis complementing chosen drug record for a submitted drug identifier from Cortellis API
Search for companies in the Cortellis database. If the amount of companies returned do not match with the totalResults, ALWAYS use the offset parameter to get the next page(s) of results.
Output schemas not documented. Tools return data from Cortellis API but no schema is provided for what fields LLMs should expect in responses. This forces LLMs to guess at response structure and breaks downstream tool chaining.
explore_ontology description is vague (27 chars). Does not explain when to use it vs search_drugs/search_companies, what 'ontology' means in this context, or what structure it returns. LLMs cannot distinguish it from search tools.
get_drug, get_drug_swot, get_drug_financial descriptions are minimal (40-50 chars each). Do not explain what fields are returned, when to call each vs the others, or how they relate. Descriptions should be 50-200 chars with clear purpose.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Search for drugs in the Cortellis database. If the amount of drugs returned do not match with the totalResults, ALWAYS use the offset parameter to get the next page(s) of results.
No error handling guidance. Tools do not document what happens on invalid ID, API failure, or rate limit. Error responses should guide LLMs on retry strategy and alternatives (e.g., 'Drug not found. Try search_drugs() first.').
No tool annotations. All 7 tools are read-only but lack readOnlyHint annotation. This prevents clients from optimizing caching, retry logic, or safety checks. Annotations are current MCP spec (2026-07-28).