mcpField
B
biomedical-search

biomedical-search

github.com/yorkeccak生产力64732 次安装3 周前更新
代码仓库

关于 biomedical-search

biomedical-search 面向研究者和临床人员,可用自然语言检索生物医学文献、试验和药品标签。它通过语义搜索整合多个指定来源的结果,并提供全文及可用的图片链接。

主要功能

  1. 01自然语言语义搜索
  2. 02检索 PubMed 和预印本数据库
  3. 03检索试验及 FDA 药品标签
  4. 04汇总多个来源的结果
  5. 05提供全文和可用图片链接

适用场景

  1. 01为临床研究设计收集证据
  2. 02跨来源评估药品安全性
  3. 03研究治疗方案
  4. 04准备医学传播材料

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/yorkeccak/scientific-skills --skill biomedical-search

安装后在 Claude Code 中输入/biomedical-search确认已加载。

附带文件scripts/searchscripts/search.mjs

详细介绍

生物医学搜索

使用 Valyu 的语义搜索 API,通过自然语言查询同时搜索所有主要生物医学数据库(PubMed、bioRxiv、medRxiv、ClinicalTrials.gov、FDA 药品标签)。

此技能的强大之处

  • 无需解析 API 参数:直接传入自然语言查询即可,无需构造复杂的搜索参数
  • 语义搜索:理解查询的含义,而不只是匹配关键词
  • 全文访问:返回文献、试验和药品标签的完整内容
  • 图片链接:在可用时包含图表和图片
  • 全面覆盖:同时搜索 PubMed、bioRxiv、medRxiv、临床试验和药品标签
  • 统一结果:通过一次查询获取所有生物医学来源的结果

要求

  1. Node.js 18+(使用内置的 fetch)
  2. Valyu API 密钥,获取地址:https://platform.valyu.ai(提供 $10 免费额度)

关键:脚本路径解析

本文档中的 scripts/search 命令相对于此技能的安装目录。

运行任何命令之前,请先使用以下命令定位脚本:

BIOMEDICAL_SCRIPT=$(find ~/.claude/plugins/cache -name "search" -path "*/biomedical-search/*/scripts/*" -type f 2>/dev/null | head -1)

然后在所有命令中使用完整路径:

$BIOMEDICAL_SCRIPT "CAR-T cell therapy" 20

API 密钥设置流程

运行搜索并收到 "setup_required": true 时,请按以下流程操作:

  1. 向用户索要 API 密钥: “要搜索生物医学数据库,我需要你的 Valyu API 密钥。请访问 https://platform.valyu.ai 免费获取密钥(含 $10 额度)。”

  2. 用户提供密钥后,运行:

    scripts/search setup <api-key>
    
  3. 重试原始搜索。

何时使用此技能

  • 全面的生物医学信息收集
  • 结合基础科学的临床研究
  • 同时查找试验、文献和官方药品信息
  • 循证医学研究
  • 从多个角度了解疾病

输出格式

{
  "success": true,
  "type": "biomedical_search",
  "query": "CAR-T cell therapy",
  "result_count": 20,
  "results": [
    {
      "title": "Title",
      "url": "https://...",
      "content": "Full content...",
      "source": "pubmed|biorxiv|medrxiv|clinical-trials|drug-labels",
      "relevance_score": 0.95,
      "images": ["https://example.com/figure1.jpg"]
    }
  ],
  "cost": 0.035
}

处理结果

使用 jq
# Get titles
scripts/search "query" 20 | jq -r '.results[].title'

# Get URLs
scripts/search "query" 20 | jq -r '.results[].url'

# Extract full content
scripts/search "query" 20 | jq -r '.results[].content'

# Filter by source type
scripts/search "query" 20 | jq -r '.results[] | select(.source == "clinical-trials") | .title'

常见用例

临床研究规划
# Gather evidence for clinical study design
scripts/search "phase 2 trials checkpoint inhibitors melanoma" 50
药物安全性评估
# Search literature, labels, and trials for safety data
scripts/search "SGLT2 inhibitors cardiovascular safety" 40
治疗方案制定
# Find current practice and emerging approaches
scripts/search "pembrolizumab dosing regimens NSCLC" 30
医学写作
# Comprehensive research for medical communications
scripts/search "JAK inhibitors rheumatoid arthritis efficacy" 60

错误处理

所有命令都会返回包含 success 字段的 JSON:

{
  "success": false,
  "error": "Error message"
}

退出代码:

  • 0 - 成功
  • 1 - 错误(查看 JSON 了解详情)

API 端点

  • 基础 URL:https://api.valyu.ai/v1
  • 端点:/search
  • 身份验证:X-API-Key 标头

架构

scripts/
├── search          # Bash wrapper
└── search.mjs      # Node.js CLI

使用 Node.js 内置的 fetch() 直接调用 API,零外部依赖。

添加到你的项目

如果你正在构建 AI 项目,并希望将生物医学搜索直接集成到应用程序中,请使用 Valyu SDK:

Python 集成
from valyu import Valyu

client = Valyu(api_key="your-api-key")

response = client.search(
    query="your search query here",
    included_sources=["valyu/valyu-pubmed", "valyu/valyu-biorxiv", "valyu/valyu-medrxiv", "valyu/valyu-clinical-trials", "valyu/valyu-drug-labels"],
    max_results=20
)

for result in response["results"]:
    print(f"Title: {result['title']}")
    print(f"URL: {result['url']}")
    print(f"Content: {result['content'][:500]}...")
TypeScript 集成
import { Valyu } from "valyu-js";

const client = new Valyu("your-api-key");

const response = await client.search({
  query: "your search query here",
  includedSources: ["valyu/valyu-pubmed", "valyu/valyu-biorxiv", "valyu/valyu-medrxiv", "valyu/valyu-clinical-trials", "valyu/valyu-drug-labels"],
  maxResults: 20
});

response.results.forEach((result) => {
  console.log(`Title: ${result.title}`);
  console.log(`URL: ${result.url}`);
  console.log(`Content: ${result.content.substring(0, 500)}...`);
});

请参阅 Valyu 文档,了解完整的集成示例和 SDK 参考。

评论

支持 Markdown