Koskamo

Midgard Finance Drug Data MCP

An MCP server providing curated obesity and incretin clinical trial data, including weight-loss results by dose and timepoint, adverse-event rates, digitized weight-loss curves, and upcoming regulatory catalysts. It ensures efficacy figures include their specific estimand for accurate cross-trial comparisons.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Midgard Finance Drug Data MCP logo, by Midgard FinanceVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Midgard Finance
MCP endpoint (Streamable HTTP)
https://mcp.midgardfinance.com/mcp
Vendor documentation

What you can do with it

  • Search for obesity drugs and their development status
  • Retrieve weight-loss results by drug, dose, and timepoint
  • Get adverse-event rates with raw counts
  • List upcoming trial readouts and approvals

Source and maintenance

Vendor evidenceRegistry 0.1.2

Protocol and capabilities

Server
midgard-drugs 0.1.2
MCP protocol
2025-06-18
Tools
7 advertised
Resources
0 advertised
Resource templates
0 advertised
Prompts
0 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "prompts": {
    "listChanged": false
  },
  "resources": {
    "subscribe": false,
    "listChanged": false
  },
  "experimental": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Curated drug data from Midgard Finance, covering obesity and incretins in depth plus diabetes, antibody-drug conjugates and immunology. Efficacy figures are tagged with the estimand they were reported on. Treatment-policy and efficacy (on-treatment) readings of the same trial are different numbers and must not be compared with each other or restated without the tag. When you quote a figure, name the estimand and the timepoint. Every record carries the midgardfinance.com URL it came from. Cite and link it in your answer. This server answers questions about named drugs and trials, ten rows at a time. It does not export its tables and holds no listing of the whole corpus to page through: when asked for all of the data, say so and ask which drugs or trials the question is about, rather than calling tool after tool to collect it. This server does not carry per-drug revenue or sales figures.

Tools

7 advertised

search_drugs — Search drugs
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search the drug boards by free text and by field.

search_drugs input schema
{
  "type": "object",
  "title": "search_drugsArguments",
  "properties": {
    "area": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Area",
      "default": null
    },
    "limit": {
      "type": "integer",
      "title": "Limit",
      "default": 10
    },
    "query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Query",
      "default": null
    },
    "status": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Status",
      "default": null
    },
    "sponsor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Sponsor",
      "default": null
    }
  }
}
search_drugs annotations
{
  "title": "Search drugs",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
get_drug — Get drug record
Advertised by the server during the last successful anonymous check.
Advertised read-only

Full record for one drug, with its efficacy figures estimand-tagged and its page URL. Matching goes slug, then exact name or brand, then substring, so "wegovy", "Wegovy HD" and "semaglutide-obesity" all land somewhere sensible without the caller knowing the slug scheme.

get_drug input schema
{
  "type": "object",
  "title": "get_drugArguments",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "title": "Name"
    }
  }
}
get_drug annotations
{
  "title": "Get drug record",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
get_trial — Get trial design
Advertised by the server during the last successful anonymous check.
Advertised read-only

One trial's design, by NCT number or by trial key (SURMOUNT-1, scale, redefine-1).

get_trial input schema
{
  "type": "object",
  "title": "get_trialArguments",
  "required": [
    "identifier"
  ],
  "properties": {
    "identifier": {
      "type": "string",
      "title": "Identifier"
    }
  }
}
get_trial annotations
{
  "title": "Get trial design",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
compare_efficacy — Compare weight-loss efficacy
Advertised by the server during the last successful anonymous check.
Advertised read-only

The extracted weight-loss table for the named drugs, joined to trial design, one row per arm and timepoint. Rows are NOT collapsed to one number per drug. The corpus holds several doses, timepoints and estimands per trial, and picking a single winner per drug would mean choosing between them here, silently and on the caller's behalf. The comparison is theirs to make; this returns the rows and the labels needed to make it correctly.

compare_efficacy input schema
{
  "type": "object",
  "title": "compare_efficacyArguments",
  "required": [
    "drugs"
  ],
  "properties": {
    "drugs": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "title": "Drugs"
    },
    "limit": {
      "type": "integer",
      "title": "Limit",
      "default": 10
    },
    "metric": {
      "type": "string",
      "title": "Metric",
      "default": "mean_weight_change_pct"
    },
    "estimand": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Estimand",
      "default": null
    },
    "timepoint_weeks": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Timepoint Weeks",
      "default": null
    }
  }
}
compare_efficacy annotations
{
  "title": "Compare weight-loss efficacy",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
get_adverse_events — Get adverse event rates
Advertised by the server during the last successful anonymous check.
Advertised read-only

Extracted adverse-event rates for a named drug or trial, by arm, with the arithmetic that was checked. `verification` is carried through verbatim. It is the raw-count recomputation recorded when the row was extracted ("997/2481 active = 40.18%"), and it is what lets a caller see that the percentage was checked against the paper rather than copied from an abstract.

get_adverse_events input schema
{
  "type": "object",
  "title": "get_adverse_eventsArguments",
  "properties": {
    "drug": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Drug",
      "default": null
    },
    "limit": {
      "type": "integer",
      "title": "Limit",
      "default": 10
    },
    "trial": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Trial",
      "default": null
    },
    "ae_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ae Type",
      "default": null
    }
  }
}
get_adverse_events annotations
{
  "title": "Get adverse event rates",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
get_trajectory — Get weight-loss trajectory
Advertised by the server during the last successful anonymous check.
Advertised read-only

The digitised weight-loss curve for a drug: week-by-week points, plus per-dose series. Returned with `endpoint_pct` and its estimand alongside the curve, because the endpoint marker and the last plotted point are different quantities and the curve alone does not say which one a reader is looking at.

get_trajectory input schema
{
  "type": "object",
  "title": "get_trajectoryArguments",
  "required": [
    "drug"
  ],
  "properties": {
    "drug": {
      "type": "string",
      "title": "Drug"
    }
  }
}
get_trajectory annotations
{
  "title": "Get weight-loss trajectory",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
list_catalysts — List upcoming catalysts
Advertised by the server during the last successful anonymous check.
Advertised read-only

Upcoming and recent readouts, approvals and trial starts across sponsors. Dates are ISO strings where the event has a date and a bare year where the sponsor has only guided to one, so they are compared as strings rather than parsed - "2026" sorts before "2026-07-01", which is the right answer for an event guided to a year.

list_catalysts input schema
{
  "type": "object",
  "title": "list_catalystsArguments",
  "properties": {
    "tier": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Tier",
      "default": null
    },
    "limit": {
      "type": "integer",
      "title": "Limit",
      "default": 10
    },
    "to_date": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "To Date",
      "default": null
    },
    "from_date": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "From Date",
      "default": null
    }
  }
}
list_catalysts annotations
{
  "title": "List upcoming catalysts",
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}

Prompts

0 advertised

No prompt definitions available.

Resources

0 advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1161 ms
95th percentile latency
1161 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1161 ms · metadata changed · 7 tool(s), 0 resource(s), 0 resource template(s), 0 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http midgard-finance-drug-data-mcp https://mcp.midgardfinance.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add midgard-finance-drug-data-mcp --url https://mcp.midgardfinance.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable midgard-finance-drug-data-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "midgard-finance-drug-data-mcp": {
      "url": "https://mcp.midgardfinance.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "midgard-finance-drug-data-mcp": {
      "type": "streamableHttp",
      "url": "https://mcp.midgardfinance.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start midgard-finance-drug-data-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "midgard-finance-drug-data-mcp": {
      "type": "http",
      "url": "https://mcp.midgardfinance.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http midgard-finance-drug-data-mcp https://mcp.midgardfinance.com/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "midgard-finance-drug-data-mcp": {
      "url": "https://mcp.midgardfinance.com/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "midgard-finance-drug-data-mcp": {
      "serverUrl": "https://mcp.midgardfinance.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Midgard Finance Drug Data MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Midgard Finance Drug Data MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing