Ormeval provides decision-support intelligence derived from public sources. It is not investment, medical, legal or regulatory advice, and states nothing about the value of any security. Forward figures are deterministic model estimates, not guidance.
Ormeval · Pharma intelligence · 28 SEP 2026
Developers
Three steps to a first cited answer inside your own assistant. Everything below is reference; this is the path.
Get a key
Agent API keys are a Workspace or Team capability. Sign in, then create one from your account.
Get a key →Paste this config
Works in any MCP client with native Streamable HTTP support. Swap in the raw key from step 1.
{
"mcpServers": {
"ormeval": {
"url": "https://ormeval.com/api/mcp",
"headers": {
"Authorization": "Bearer ormeval_sk_..."
}
}
}
}Ask this
A question your assistant can answer once it is connected:
What is pembrolizumab's modelled peak revenue, and is that a reported figure or a model estimate?The shape of what comes back (illustrative values, not a live quote):
{
"figures": {
"modelled_peak": {
"value": 41300,
"currency": "USD",
"display": "$41.30B",
"flag": "model_estimate",
"sources": [
{ "label": "Ormeval deterministic forecast engine (see methodology)", "url": "https://ormeval.com/methodology" }
]
}
},
"disclaimer": "..."
}Ormeval answers with a cited, deterministic figure instead of generating one. This server puts that answer inside whatever assistant you already run - Claude Desktop, Cursor, or any other client that speaks the Model Context Protocol - so a question about a franchise's revenue, indications or catalyst calendar is answered from the same corpus that renders the site, without a browser tab.
The endpoint is POST https://ormeval.com/api/mcp, speaking JSON-RPC 2.0 over Streamable HTTP. It is stateless: every request is self-contained, no session is opened, and there is no server-initiated stream - a GET to the same URL returns 405 rather than hanging a client waiting on one.
Every call carries Authorization: Bearer ormeval_sk_.... There is no anonymous tier on this endpoint - a missing, malformed, unknown or revoked key is refused before any tool runs, regardless of your account's plan.
Create a key by signing in on a Workspace or Team plan and calling POST /api/agent/keys with an optional {"name": "..."} body. The raw key is returned exactly once; only its hash is ever stored, so there is no way to recover it later - generate a new one if it is lost. Check what a key has been used for with GET /api/agent/usage, which returns the current calendar month's call counts by tool for the key presented in the request.
Claude Desktop's config speaks stdio, so a remote HTTP server like this one connects through the mcp-remote bridge. Add this to claude_desktop_config.json:
{
"mcpServers": {
"ormeval": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://ormeval.com/api/mcp",
"--header",
"Authorization: Bearer ${ORMEVAL_API_KEY}"
]
}
}
}Set ORMEVAL_API_KEY in your shell environment rather than writing the raw key into the config file.
A client with native Streamable HTTP support connects directly, no bridge required:
{
"mcpServers": {
"ormeval": {
"url": "https://ormeval.com/api/mcp",
"headers": {
"Authorization": "Bearer ormeval_sk_..."
}
}
}
}Every figure this server returns carries its own sources array beside it, not two keys away where a summarising model would drop it while paraphrasing. A reported actual cites the regulator, filing or press release it came from; a figure flagged model_estimate is Ormeval's deterministic forecast engine and cites the methodology rather than a source that never made the claim. Every payload also carries Ormeval's standard artefact disclaimer at the top level, and the server's own instructions ask the calling model to quote the flag and the source whenever it quotes the number.
Ormeval models drug franchise revenue only. It says nothing about any listed security or what one is worth, and it holds no patient-level data - see /methodology for the independence and conflicts statement this server is built to match.
A row whose only support is an EMA, MHRA, NICE or equivalent register citation is still returned with its value - a curator read and transcribed it, and withholding it helps nobody - but its source label is prefixed citation-only (EU register). That prefix tells the calling model the citation is a link a person may follow, never a field this server retrieved in bulk or may be asked to retrieve again: Ormeval reads and cites EU and UK registers, and no script, agent or scheduled job extracts from one. A row also backed by a US source such as an FDA notice or an SEC filing keeps a clean label.