mcpField
D
drug-labels-search

drug-labels-search

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

关于 drug-labels-search

drug-labels-search 是通过自然语言查询 FDA 药品标签的命令行技能。它使用 Valyu 语义搜索,获取包含剂量、警告和不良反应的完整标签信息。

主要功能

  1. 01自然语言语义搜索
  2. 02完整 FDA 标签信息
  3. 03剂量与警告详情
  4. 04可用时提供图片链接
  5. 05命令行输出 JSON

适用场景

  1. 01查询官方药品适应证
  2. 02查看禁忌与警告
  3. 03查找剂量指导
  4. 04研究药物相互作用

安装

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

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

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

附带文件scripts/searchscripts/search.mjs

详细介绍

药品标签搜索

使用 Valyu 的语义搜索 API,通过自然语言查询搜索完整的 FDA 药品标签数据库,包括处方信息、警告和官方标签。

此技能的优势

  • 无需解析 API 参数:直接传入自然语言查询即可,无需构造复杂的搜索参数
  • 语义搜索:理解查询的含义,而不只是匹配关键词
  • 全文访问:返回完整的药品标签信息,包括适应症、剂量、警告和不良反应
  • 图片链接:提供可用的标签图片
  • 全面覆盖:可访问所有 FDA 药品标签数据

要求

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

关键:脚本路径解析

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

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

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

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

$DRUG_LABELS_SCRIPT "ibuprofen warnings" 15

API 密钥设置流程

运行搜索后,如果收到 "setup_required": true,请按以下流程操作:

  1. 向用户索取 API 密钥: “要搜索 FDA 药品标签,我需要你的 Valyu API 密钥。请前往 https://platform.valyu.ai 免费获取(含 $10 额度)。”

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

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

适用场景

  • FDA 官方药品信息和适应症
  • 禁忌症和警告
  • 剂量和给药指导
  • 临床药理学数据
  • 药物相互作用信息
  • 不良反应和安全监测

输出格式

{
  "success": true,
  "type": "drug_labels_search",
  "query": "ibuprofen warnings",
  "result_count": 10,
  "results": [
    {
      "title": "Drug Label Title",
      "url": "https://fda.gov/...",
      "content": "Label content, warnings, dosing...",
      "source": "drug-labels",
      "relevance_score": 0.95,
      "images": ["https://example.com/label.jpg"]
    }
  ],
  "cost": 0.025
}

处理结果

使用 jq
# Get drug names
scripts/search "query" 10 | jq -r '.results[].title'

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

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

常见用例

安全信息
# Find safety data
scripts/search "anticoagulant bleeding risk warnings" 50
处方指导
# Search for dosing
scripts/search "pediatric dosing guidelines for antibiotics" 20
药物相互作用
# Find interaction data
scripts/search "CYP450 drug interaction warnings" 15
监管信息
# Search for approval data
scripts/search "accelerated approval indications oncology" 25

错误处理

所有命令都会返回带有 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-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-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)}...`);
});

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

评论

支持 Markdown