oak-longevity-mcp-server

oak-longevity-mcp-server

An MCP server for longevity and metabolic medicine that provides a medication catalog, dosing protocols, contraindication screening, drug interaction checks, lab recommendations, and patient intake pathways across 35 compounds.

Category
访问服务器

README

oak-longevity-mcp-server

An MCP server for longevity & metabolic medicine — a medication catalog, evidence-based dosing protocols, contraindication screening, drug-interaction checks, required baseline labs, ongoing monitoring plans, FDA/compounding regulatory status, and patient-intake pathway suggestions across 35 compounds.

Built for Oak Longevity Institute by Keith Schmidt, MD — a telemedicine longevity practice in Illinois. This server makes the practice's clinical reference data available to any MCP client (Claude Desktop, Claude Code, or your own agent), and is structured for a free/premium monetization model.

⚠️ Clinical decision-support, not medical advice. All output must be reviewed by a licensed clinician. Many longevity compounds here are used off-label, are compounded, or are investigational/not FDA-approved. Dosing, contraindication, interaction, lab, and regulatory data change frequently — always verify against current primary literature, FDA/DEA resources, and your state board of pharmacy.


What it does

Tool Tier Description
get_medication_list Free Full medication catalog grouped by category, with ids, drug class, and DEA/Rx schedule.
get_medication_details Free Mechanism, formulations, who it's for / not for, and schedule for one medication.
get_fda_status Free FDA approval status, DEA schedule, 503A/503B compounding considerations, approved uses, off-label notes.
get_dosing_protocol Premium Evidence-based dosing: route, start, titration, maintenance, max, evidence grade, pearls — by indication.
get_required_labs Premium Recommended baseline labs/assessments before prescribing, grouped by panel with rationale.
get_monitoring_plan Premium Ongoing monitoring schedule — what to check, interval, and action/threshold.
check_contraindications Premium Screens a medication against a patient profile (age, sex, conditions, meds) → PASS / FLAG / REJECT with the triggering findings.
check_drug_interactions Premium Pairwise interaction warnings across a medication list, ranked by severity, with mechanism + management.
screen_patient_intake Premium Maps a patient's symptoms/goals to suggested treatment pathways with first-line + adjunct medications and workup.

The eight categories: Weight Management, Peptide Therapy, Hormone Optimization, Longevity & Metabolic, Sexual Health, Immune & Inflammation, Hair Restoration, Dermatology.

Every tool accepts a medication as a name, id, or brand/alias (e.g. "Tirzepatide", "tirzepatide", "Mounjaro", or "copper peptide" → GHK-Cu). Unrecognized queries return "did you mean" suggestions.

Compounds covered

Semaglutide · Tirzepatide · Liraglutide · Naltrexone/Bupropion · BPC-157 · Sermorelin · CJC-1295/Ipamorelin · Ipamorelin · Tesamorelin · Thymosin Beta-4 (TB-500) · Testosterone (cypionate & cream) · Estradiol · Progesterone · DHEA · Anastrozole · Pregnenolone · hCG · NAD+ · Metformin · Rapamycin · Berberine · Resveratrol · NMN · PT-141 · Oxytocin · Tadalafil · Sildenafil · Thymosin Alpha-1 · Glutathione · Low-Dose Naltrexone · Finasteride · Oral Minoxidil · GHK-Cu · Tretinoin.


Install & build

git clone <repo> longevity-mcp-server
cd longevity-mcp-server
npm install

npm run build             # compile TypeScript → dist/ and copy data
npm run smoke             # end-to-end test (optional)

The clinical data ships as JSON in src/data/ and is copied into dist/data/ at build.


Use with Claude Desktop

Add to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "oak-longevity": {
      "command": "node",
      "args": ["/absolute/path/to/longevity-mcp-server/dist/index.js"],
      "env": { "LONGEVITY_LICENSE_KEY": "OAK-XXXX-XXXX-XXXX" }
    }
  }
}

Restart Claude Desktop. You can then ask things like:

  • "List the peptide therapy options."
  • "What's the dosing protocol for tirzepatide for weight loss?"
  • "Can I prescribe tadalafil to a 60-year-old man taking nitroglycerin?"
  • "Check interactions between rapamycin, simvastatin, and clarithromycin."
  • "What baseline labs do I need before starting testosterone?"
  • "A patient reports fatigue, low libido, and wants to lose weight — what pathways fit?"

See examples/claude_desktop_config.json for an npx variant.

Use with Claude Code

claude mcp add oak-longevity -- node /absolute/path/to/longevity-mcp-server/dist/index.js

Inspect locally

npm run inspect          # opens the MCP Inspector against the stdio server

Remote hosting (HTTP / SSE)

The same tools are served over Streamable HTTP for remote deployment (MCPize, a VPS, or serverless):

npm run build
PORT=3000 node dist/http.js
# → POST http://localhost:3000/mcp     (GET /health for a liveness check)

The HTTP transport is stateless and multi-tenant: the per-customer license key is read from a request header, so a single deployment can serve many customers.

X-Oak-License: OAK-XXXX-XXXX-XXXX        (preferred)
Authorization: Bearer OAK-XXXX-XXXX-XXXX (also accepted)

Monetization & licensing

The server has a built-in free / premium split designed to be wired to a billing provider (Stripe, MCPize) with minimal change.

  • Free tier: get_medication_list, get_medication_details, get_fda_status — the catalog and regulatory reference.
  • Premium tier: the clinical decision-support engine — dosing protocols, baseline labs, monitoring plans, contraindication screening, drug-interaction checks, and intake pathway suggestions.

Premium tools remain discoverable (they appear in tools/list so clients can advertise the upgrade), but calling one without a valid entitlement returns an upgrade prompt instead of data.

Entitlement resolution

Configured via environment variables (stdio) or request headers (HTTP):

Variable Purpose
LONGEVITY_LICENSE_KEY The customer's license key.
LONGEVITY_TIER Force premium or free (self-hosted / enterprise override).
LONGEVITY_VALID_KEYS Comma-separated allowlist of keys treated as valid premium (manual provisioning / testing).
LONGEVITY_LICENSE_VERIFY_URL Optional HTTP endpoint for remote key verification. When set, keys are validated against this service instead of locally.

A locally-issued key matches the format OAK-XXXX-XXXX-XXXX. For production, point LONGEVITY_LICENSE_VERIFY_URL at your billing webhook; it should accept { "key": "..." } and return { "valid": true, "tier": "premium", "expiresAt": "..." }.

The verification layer lives entirely in src/licensing.ts behind a LicenseProvider interface — swap the implementation without touching any tool.


Project structure

longevity-mcp-server/
├── src/
│   ├── index.ts          # stdio entry point (Claude Desktop / Code)
│   ├── http.ts           # Streamable HTTP entry point (remote hosting)
│   ├── server.ts         # builds the MCP server + tier gating
│   ├── licensing.ts      # free/premium entitlement (pluggable)
│   ├── data.ts           # data loading + medication resolver
│   ├── types.ts          # clinical data types
│   ├── tools/            # one file per MCP tool (9 tools)
│   └── data/             # clinical data (JSON)
│       ├── categories.json
│       ├── medications.json
│       ├── dosing.json
│       ├── contraindications.json
│       ├── interactions.json
│       ├── labs.json
│       ├── fda.json
│       └── pathways.json
├── scripts/
│   ├── copy-assets.mjs   # copy JSON into dist/ at build
│   └── smoke-test.mjs    # end-to-end MCP client/server test
├── examples/
│   └── claude_desktop_config.json
├── package.json
├── tsconfig.json
├── LICENSE
└── README.md

Data model

The clinical data is hand-curated from standard pharmacology references and longevity-medicine practice (Endocrine Society / Menopause Society / ISSWSH guidance, FDA labeling and shortage/bulk-substance lists, and the peer-reviewed literature for off-label and investigational compounds). Each dataset is keyed by medication id:

  • medications.json — class, mechanism, formulations, candidate profile, schedule.
  • dosing.json — per-indication route / start / titration / maintenance / max / evidence grade.
  • contraindications.json — boxed warnings, absolute & relative contraindications (with machine-matchable condition keywords), cautions, pregnancy.
  • interactions.json — per-drug interaction rules (severity, effect, management).
  • labs.json — baseline panels and ongoing monitoring schedule.
  • fda.json — approval status, schedule, 503A/503B compounding considerations, approved uses, references.
  • pathways.json — 15 intake pathways mapping symptoms/goals → first-line + adjunct medications.

Because regulatory status (especially FDA drug-shortage listings and 503A bulk-substance eligibility for peptides) shifts frequently, treat get_fda_status output as a starting point and confirm against the current FDA database before compounding.


License

MIT © 2026 Keith Schmidt, MD — Oak Longevity Institute

The clinical reference content is provided for educational and decision-support purposes only and does not constitute medical advice. See the disclaimer in LICENSE.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选