mcpField
B
biopharma-catalyst-mcp

biopharma-catalyst-mcp

本地服务
github.com/yesc97金融数据524 周前更新

关于 biopharma-catalyst-mcp

biopharma-catalyst-mcp 是用于研究生物制药催化因素的 MCP 服务,汇集临床、文献、监管、SEC 和市场公开信号。聚合工具会给出由代码确定的判断,并提供数据供大模型分析。

主要功能

  1. 01聚合催化因素审计并给出确定性判断
  2. 02临床试验与方案信号
  3. 03检索文献、FDA 和 SEC 数据
  4. 04获取内部人、空头兴趣和期权数据
  5. 05支持无客户端的 CLI 分析

适用场景

  1. 01在投资决策前审查药物催化因素
  2. 02核查试验状态与监管历史
  3. 03对照公司申报文件、内部人和市场信号

MCP 相关

MCP 服务提供十种工具,包括九个数据源连接器和 `audit_catalyst` 聚合工具。MCP 客户端可检索各类数据,或请求综合审计与判断。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"yesc97-biopharma-catalyst": {
"command": "npx",
"args": [
"-y",
"biopharma-catalyst-mcp"
],
"env": {
"SEC_USER_AGENT": "<SEC_USER_AGENT>"
}
}
}
}
启动命令npx -y biopharma-catalyst-mcp
需要配置的环境变量
SEC_USER_AGENTSEC EDGAR User-Agent header (your-app/1.0 [email protected]). Required by SEC fair-use policy.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmbiopharma-catalyst-mcp1.2.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

biopharma-catalyst-mcp

License: ISC CI

一款用于生物制药取证研究的 MCP 服务——从 6 个免费、权威的数据源(ClinicalTrials.gov、PubMed、SEC EDGAR、SEC XBRL companyfacts、openFDA、Yahoo Finance)获取催化剂级信号,并交由你的大模型处理。包含一个服务端聚合器,可通过一次工具调用运行完整的取证工作流,并返回确定性结论。

专为大多数散户生物制药分析师实际采用的工作流打造:某只股票进入视野后,你要花 2–4 小时埋头查阅 Google Scholar、FDA 页面、EDGAR 和期权链,以判断催化剂逻辑是否成立。本工具将这一过程压缩到约 30 秒。

目录

核心工具:audit_catalyst

一个工具、一次调用、一个结论。适用于任意申办方/药物组合——不含任何硬编码股票代码。

大型制药公司示例——“Clean”案例
audit_catalyst(ticker="MRK", drug="Keytruda", sponsor="Merck")

→ Verdict: CLEAN (MED)
  Primary finding: Tried to break thesis. Approved 20260424. (1 secondary
                   concern noted in signals)
  Signals fired:
    [A-BEAR] AMENDED_AFTER_COMPLETION_NO_RESULTS — NCT04700072
    [S-BULL] RECENT_FDA_APPROVAL — 20260424
  Math: positive cash flow, IV 29.1%, insider net $0.00M

CLEAN 是本工具给出的最高评价。这意味着审计器交叉核对了 9 个来源,试图推翻看涨逻辑,但未能做到(或者只发现了次要问题,无法压过 S 级看涨信号)。这比一般的“买入”评级更能支持看涨,因为推翻一个论点比确认它更难。

结论等级:

  • CLEAN — 试图推翻该论点,但未能做到。若出现 A 级问题,信心会下降。
  • FLAG — 出现 A 级看跌信号,且没有 S 级看涨信号抵消。数据存在歧义;应进一步调查。
  • BEAR_SIGNAL — 至少出现一个 S 级看跌信号(试验终止、FDA 拒绝、稀释风险等)。出现多个 S 级看跌信号时,信心会增强。
  • BLACK_FLAG — 审计师披露了持续经营问题,且现金可支撑的时间不足 6 个月。股权面临极高的归零风险。
  • DISQUALIFIED — 缺少与该公司相关的数据。请尝试其他药物,或直接查询底层连接器。

同时还会返回计算结果(现金可支撑月数、距离催化剂的月数、内部人士情绪、ATM 隐含波动率、催化剂日期),供用户查阅。大模型负责叙述;结论由代码生成。

Tactical Auditor 系统提示词(替代方案)

如果你希望由大模型通过各个工具自行运行工作流,可将此提示词作为自定义指令或系统提示词添加到 MCP 客户端:

You are a Tactical Biopharma Auditor. Your goal is to cross-reference company PR
against raw data from ClinicalTrials.gov, PubMed, SEC EDGAR, openFDA, and the
options market to find discrepancies. You are looking for "Trial Drift" and
"Signal Decay."

When auditing a ticker/drug, run this workflow:

1. Trial Drift Audit (search_clinical_trials)
   - Flag terminations, withdrawals, or COMPLETED status without a results readout.
   - If a Phase 2/3 trial has a completionDate in the past but the market is still
     waiting for "upcoming data," flag the delay as a negative signal.
   - The connector emits an `auditFlag` field; surface it in your output.

2. Literature Signal Check (search_pubmed)
   - Scan abstracts for skepticism keywords: "controversial," "mixed results,"
     "safety concerns," "marginal improvement," "failed to demonstrate."
   - Compare to standard of care if abstracts mention comparators.

3. Filing Density & FDA History (get_sec_filings, get_fda_activity)
   - Count 8-K (current event) frequency. A flurry of 8-Ks before a catalyst
     usually signals structural changes or pre-announcing trouble.
   - Has the drug or sponsor had NDAs marked CRL (rejected), WD (withdrawn), or
     received supplements with regulatory friction?

4. Market Pricing (get_market_data)
   - Check ATM IV. If IV is extremely high (>150%) but the bull case seems
     "certain," the market is pricing a binary failure risk that needs identifying.

Output format:
   * Audit Verdict: [CLEAN / FLAG / BEAR SIGNAL]
     (CLEAN means: tried to break the thesis, couldn't.)
   * Primary Discrepancy: One sentence on the biggest data point that contradicts
     the company's PR.
   * Key Risks: 2-3 specific risks found in CT.gov or PubMed.
   * Data Density: Summary of how much info we actually have vs. how much is
     missing.

然后提问:audit ticker SRPT, drug elevidys(或其他组合)。

CLEAN 是本工具给出的最高评价——这意味着审计器试图找出论点中的漏洞,但未能做到。这比泛泛的看涨背书更能支持看涨。

工具

十种工具——九个原始连接器加一个聚合器:

工具来源功能
audit_catalyst(聚合器)核心工具。 针对(股票代码、药物)运行完整的 Tactical Auditor 工作流。给出确定性判断。
search_clinical_trialsClinicalTrials.gov v2 API按干预措施查询研发管线和状态;标记终止、撤回以及已完成但未公布结果的试验
search_pubmedNCBI E-utilities查询某种药物/作用机制/疾病的近期文献
get_sec_filingsSEC EDGAR按股票代码获取最近 10 份文件(10-K、10-Q、8-K、S-1)
get_xbrl_factsSEC XBRL companyfacts现金、季度现金消耗、现金可支撑月数、持续经营标记
get_insider_transactionsSEC EDGAR Form 4 XML按角色分类的内部人交易(临床/财务/行政)、协同退出检测(72 小时窗口)、内部人净情绪($)、10b5-1 检测
get_short_interestYahoo Finance流通股卖空比例、空头回补天数、月环比变化——为 SHORT_INTEREST_SPIKE 和 SHORT_SQUEEZE_POTENTIAL 信号提供数据
get_protocol_snapshotClinicalTrials.gov v2 API试验方案及其修订时间接近度(检测目标变更)
get_market_dataYahoo Finance报价及完整期权链(IV、行权价、到期日)
get_fda_activityopenFDA drugsfda.jsonNDA/BLA 申报及解码后的状态(AP、CRL、WD 等);自动回退至药物→申办方

所有数据源均免费,无需 API 密钥。

安装

git clone https://github.com/yesc97/biopharma-catalyst-mcp.git
cd biopharma-catalyst-mcp
npm install
npm run build

配置为 MCP 服务

添加到你的 MCP 客户端配置中(例如 ~/.config/claude/claude_desktop_config.json):

{
  "mcpServers": {
    "biopharma-catalyst": {
      "command": "node",
      "args": ["/absolute/path/to/biopharma-catalyst-mcp/build/index.js"],
      "env": {
        "SEC_USER_AGENT": "Your Name <[email protected]>"
      }
    }
  }
}

SEC EDGAR 要求设置 SEC_USER_AGENT——请使用真实的联系邮箱,否则你会受到速率限制。

CLI 模式

如需在没有 MCP 客户端的情况下无头运行:

node build/cli.js <TICKER> "<DRUG_NAME>" "<SPONSOR_NAME>"
node build/cli.js PFE "Comirnaty" "Pfizer"
node build/cli.js MRK "Keytruda" "Merck"
node build/cli.js LLY "Mounjaro" "Eli Lilly"

CLI 会输出结构化、易读的快照——与 MCP 工具提供的数据相同。

为什么按药物名称而非股票代码搜索

生物制药领域的研究信号存在于研发管线药物层面,而非企业层面。在 CT.gov 搜索 “Pfizer”,会返回数百项涉及各个治疗领域、互不相关的试验。搜索 Comirnaty 则会返回影响监管结果的特定疫苗试验。始终向工具提供药物名称(商品名或通用名),股票代码仅用于查询市场数据和 SEC 文件。

实时分析示例

机构级生物制药研究需要分析全球规模最大的研发管线。以下是一些实时运行示例:

audit_catalyst("LLY", "Mounjaro", "Eli Lilly")
Verdict: CLEAN (HIGH)
Primary finding: Tried to break thesis. Strong pipeline density with 10+
                 ongoing Phase 3 trials.
Signals:
  [S-BULL] RECENT_FDA_APPROVAL — 20260315
  [A-BULL] INSIDER_BUYING — net $2.4M over 90d
audit_catalyst("PFE", "Comirnaty", "Pfizer")
Verdict: CLEAN (MED)
Primary finding: Massive data density; no S-tier bear signals detected in
                 last 12 months.
Signals:
  [A-BEAR] 8K_CLUSTER — 4 filings in last 30d (normal for earnings)
  [S-BULL] RECENT_FDA_APPROVAL
audit_catalyst("MRK", "Keytruda", "Merck")
Verdict: CLEAN (MED)
Primary finding: Approved 20260424. (1 secondary concern noted in signals)
Signals:
  [A-BEAR] AMENDED_AFTER_COMPLETION_NO_RESULTS — NCT04700072
  [S-BULL] RECENT_FDA_APPROVAL

10b5-1 计划不会让内部人抛售免于被列入看空因素——管理层选择安排这些出售。真正流出门的钱,就是实实在在流出的钱。

路线图

  • CT.gov 协议差异 — 目前,我们通过接近度启发式(最后更新时间与主要完成日期)检测后期修订。CT.gov v2 API 不会公开修订中有哪些变更。要检测具体的终点日期变更(也就是典型的目标日期移动),我们需要抓取公开的版本历史网页界面,或等待 API 更新。
  • FDA 咨询委员会前瞻日历 — 目前,我们展示 FDA 申报历史。提供咨询委员会会议的前瞻日历,能让用户围绕二元监管事件进行规划。
  • Polygon / Tradier 连接器 — 对于流动性较差的小盘生物科技公司,Yahoo 的期权数据并不完整。可为高级用户提供付费市场数据选项。
  • 申办方类别加权 — 目前,聚合器只筛选由查询公司申办的试验。行业与学术界合作项目以及 NIH 申办的试验都会被排除。可以考虑加权,而非筛除。
  • 10-K MD&A 扫描 — 提取“风险因素”部分,并查找超出持续经营检查范围、由管理层披露的风险。

技术参考与维护

本地验证

每次更改后,都要重新构建并运行 MCP stdio 冒烟测试:

npm run build
node /path/to/verify-mcp.mjs        # 9-tool stdio handshake + 1 invocation each

具体针对聚合器:

node build/cli.js <TICKER> "<DRUG>" "<SPONSOR>"

在实时 API 上,两项测试都应在 30 秒内完成。如果没有,请检查 SEC 是否对你进行了速率限制(参见下方“各来源注意事项”)。

添加新连接器
  1. 创建 src/connectors/<name>.ts。导出一个返回结构化数据的异步函数(不包含依赖 LLM 的字段,只提供数据)。
  2. 如果要访问 sec.gov 或 data.sec.gov,请使用 throttleSec(() => axios.get(...)) 包装每个 axios 调用。
  3. 在 src/index.ts 中接入:导入模块、添加到 tools/list 架构,并在请求处理程序中添加分发分支。
  4. 可选:接入 audit_catalyst——将其添加到 Promise.allSettled 代码块,并根据规范编写信号逻辑。
  5. 在本地 verify-mcp.mjs 中添加一项冒烟测试调用。
各来源注意事项
  • **SEC.gov:**硬性上限为每秒 10 个请求。通过 sec-throttle.ts 限制为每秒约 5 个请求。超出上限会导致 IP 被封锁 10 分钟。SEC_USER_AGENT 环境变量必须填写真实的联系邮箱——使用虚假占位符会受到更严格的速率限制。
  • **CT.gov v2:**没有协议差异端点。目标日期检测器使用接近度启发式(firstPost 与 primaryCompletion 和 lastUpdate 之间的关系)。要获取真实差异,必须抓取公开的版本历史界面;已列入 v1.2 待办。
  • **Yahoo Finance:**由于 Yahoo 的数据架构会随着流动性较差的生物科技期权链而变化,因此禁用了架构验证。调用会尽可能返回数据;期权链偶尔为空。
  • openFDA:drugsfda.json 涵盖 NDA/BLA 申报历史,但不一定包含未来的 PDUFA 日期。请使用 CT.gov 的 completionDate 作为主要的催化剂指标。
  • **Form 4 XML:**EDGAR 的 primaryDocument 字段指向 HTML 包装页,而非结构化 XML。连接器会通过 index.json 列出每份申报的文件夹,并查找 .xml 条目。每次审计最多处理最近的 25 份申报,以控制成本。
安全
  • **SEC_USER_AGENT 必须保留在本地环境变量中,绝不能提交到版本控制。**它包含真实的联系邮箱,并会记录在 SEC 端;将其视为机密,可避免邮箱进入公开的 git 历史记录,防止意外泄露身份。
  • 本仓库默认将 .env 和 .env.local 加入 git 忽略列表;请将联系信息保存在其中。
  • 如果你 fork 此项目,请设置自己的 SEC_USER_AGENT——不要重复使用其他用户的值。
  • Agent 上下文文件(GEMINI.md、CLAUDE.md、.gemini/、.claude/)也已加入 git 忽略列表;绝不要提交这些文件,其中可能包含仅供本地使用的操作说明或策略细节。
版本管理
  • 补丁版本(x.x.+1): 修复错误、调整文档,不更改架构。
  • 次要版本(x.+1.0): 新增工具、新增连接器、增量式信号逻辑,以及为现有工具添加架构。
  • 主要版本(+1.0.0): 不兼容的架构变更(字段重命名、移除工具)、新增必需的环境变量、MCP 协议升级。
发布版本
  1. 根据变更范围,在 package.json 中更新 version。
  2. 如果行为发生变化,请更新 README 中的“headline tool”或“Forensic case studies”部分。
  3. 运行 npm run build && node verify-mcp.mjs——必须全部通过(9/9)。
  4. 使用约定式提交风格提交(feat:、fix:、chore:)。
  5. 为提交添加标签:git tag v<X.Y.Z>。
  6. 准备好后推送到远程仓库;如果你负责维护公开的 npm 发布版本,也可以选择运行 npm publish。

联系方式

Attila Kovacs (yesc97)

备注

  • 不构成投资建议。 这是研究自动化工具。综合分析和交易由你自行负责。

许可证

ISC

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。