Token导航 LogoToken导航TokenDH.com
Igvf Portal MCP logo
搜索检索stdio官方级别未说明来源级核验

Igvf Portal MCP

MCP Server

一个将IGVF数据门户API暴露为AI编码代理工具的MCP服务器,支持在代理会话中直接搜索、过滤、下载文件和生成报告。

工具数

12

提示词数

0

GitHub Stars

1

资源数

0
生物信息学PythonClaude数据管理Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

IGVF-DACC

提供方

IGVF-DACC

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run server.py

详细介绍

IGVF门户MCP服务器

一个MCP服务器,它公开 IGVF数据门户 API作为人工智能编码代理的工具。使用它可以在代理会话中直接从门户搜索、过滤、下载文件和生成报告。

服务器构建在 IGVF Python客户端,它记录了API的全部底层。

目录

- 列出所有项目类型 - 使用模式比较项目类型 - 按名称搜索基因 - 查找化验术语 - 得到一个方面的分解 - 发现过滤器参数 - 使用字段筛选器搜索 - 在分析集中查找文件 - 钻取单个文件 - 探索样品 - 下载并预览文件

- 需求 - - 连接到AI编码代理 - 环境变量

- 主要工具 - 支持工具 - igvf_portal_search - igvf_portal_get_by_id - igvf_portal_get_schema - igvf_portal_list_item_types - igvf_portal_get_collection - igvf_portal_get_endpoint_params - - - igvf_portal_facets - igvf_portal_report

示例(使用克劳德代码)

列出所有项目类型

❯ What types exist on the IGVF portal?

● igvf-portal-mcp - igvf_portal_list_item_types (MCP)
  ⎿  {
       "result": "[\n  \"AccessKey\",\n  \"AlignmentFile\",\n  \"AnalysisSet\",\n  \"AnalysisStep\",\n  \"AnalysisStepVersion\",\n  \"AssayTerm\",\n  \"AuxiliarySet\",\n  \"Award\",\n  \"Biomarker\",\n  \"ConfigurationFile\",
     \n  \"ConstructLibrarySet\",\n  \"CrisprModification\",\n  \"CuratedSet\",\n  \"DegronModification\",\n  \"Document\",\n  \"Gene\",\n  \"HumanDonor\",\n  \"Image\",\n  \"ImageFile\",\n  \"InVitroSystem\",\n  \"IndexFile\
     … +5 lines (ctrl+o to expand)

● The IGVF portal has 57 item types:

  Files
  - AlignmentFile, ConfigurationFile, ImageFile, IndexFile, MatrixFile, ModelFile, ReferenceFile, SequenceFile, SignalFile, TabularFile

  Sets / Collections
  - AnalysisSet, AuxiliarySet, ConstructLibrarySet, CuratedSet, ModelSet, MeasurementSet, PredictionSet

  Samples / Biospecimens
  - InVitroSystem, MultiplexedSample, PrimaryCell, TechnicalSample, Tissue, WholeOrganism

  Donors
  - HumanDonor, RodentDonor

  Genomics / Biology
  - Gene, OpenReadingFrame, Biomarker, CrisprModification, DegronModification

  Terms / Ontologies
  - AssayTerm, PhenotypeTerm, PlatformTerm, SampleTerm, PhenotypicFeature

  Quality Metrics
  - MpraQualityMetric, PerturbSeqQualityMetric, SingleCellAtacSeqQualityMetric, SingleCellRnaSeqQualityMetric, StarrSeqQualityMetric

  Analysis / Workflows
  - AnalysisStep, AnalysisStepVersion, Software, SoftwareVersion, Workflow

  Administrative / Metadata
  - AccessKey, Award, Document, Image, InstitutionalCertificate, Lab, Page, Publication, Source, Treatment, User

使用模式比较项目类型

❯ What's the difference between measurement set and analysis set?

● igvf-portal-mcp - igvf_portal_get_schema (MCP)(item_type: "MeasurementSet")
  ⎿  ⚠ Large MCP response (~15.3k tokens), this can fill up context quickly
  ⎿  {"result":"{\n  \"title\": \"Measurement Set\",\n  \"$id\": \"/profiles/measurement_set.json\", ...
     … +276 lines (ctrl+o to expand)

● igvf-portal-mcp - igvf_portal_get_schema (MCP)(item_type: "AnalysisSet")
  ⎿  {"result":"{\n  \"title\": \"Analysis Set\",\n  \"$id\": \"/profiles/analysis_set.json\", ...
     … +142 lines (ctrl+o to expand)

● Here's the key distinction, straight from the schema descriptions:

  MeasurementSet: Hosts raw data files (e.g. FASTQs) resulting from sequencing of a library
  prepared from the nucleic acids of the sample. The sample-specific raw sequencing results
  are captured here.

  AnalysisSet: Represents the results of a computational analysis of raw genomic data or
  other analyses.

  ┌──────────────────┬─────────────────────────────────────────────┬─────────────────────────────────────────────────┐
  │                  │               MeasurementSet                │                   AnalysisSet                   │
  ├──────────────────┼─────────────────────────────────────────────┼─────────────────────────────────────────────────┤
  │ Purpose          │ Raw experimental data                       │ Computational analysis results                  │
  ├──────────────────┼─────────────────────────────────────────────┼─────────────────────────────────────────────────┤
  │ Typical files    │ FASTQs, raw reads                           │ BAMs, matrices, BEDs, TSVs                      │
  ├──────────────────┼─────────────────────────────────────────────┼─────────────────────────────────────────────────┤
  │ Input            │ Biological samples                          │ Other file sets (MeasurementSets, etc.)         │
  ├──────────────────┼─────────────────────────────────────────────┼─────────────────────────────────────────────────┤
  │ Required fields  │ assay_term, samples, preferred_assay_titles │ file_set_type                                   │
  ├──────────────────┼─────────────────────────────────────────────┼─────────────────────────────────────────────────┤
  │ Types            │ (single type)                               │ intermediate analysis, principal analysis       │
  ├──────────────────┼─────────────────────────────────────────────┼─────────────────────────────────────────────────┤
  │ Key relationship │ Feeds into AnalysisSets                     │ Has input_file_sets pointing to MeasurementSets │
  └──────────────────┴─────────────────────────────────────────────┴─────────────────────────────────────────────────┘

  A typical flow is: MeasurementSet (raw FASTQs) → AnalysisSet (intermediate)
  (e.g. BAM + fragment file) → AnalysisSet (principal) (final matrices, quantifications).

按名称搜索基因

❯ Search IGVF portal for ep300 genes

● igvf-portal-mcp - igvf_portal_search (MCP)(query: "ep300", type: ["Gene"])
  ⎿  {"result":"{\n  \"total\": 11,\n  \"returned\": 11, ...

● Found 11 genes related to EP300:

  ┌───────────┬───────────────────────────────────────────────────┬──────────────┬────────────────────┬─────────────────────────────┐
  │  Symbol   │                       Name                        │     Taxa     │      Gene ID       │          Location           │
  ├───────────┼───────────────────────────────────────────────────┼──────────────┼────────────────────┼─────────────────────────────┤
  │ EP300     │ E1A binding protein p300                          │ Homo sapiens │ ENSG00000100393    │ chr22:41,092,591–41,180,077 │
  ├───────────┼───────────────────────────────────────────────────┼──────────────┼────────────────────┼─────────────────────────────┤
  │ EP300-AS1 │ EP300 antisense RNA 1                             │ Homo sapiens │ ENSG00000231993    │ chr22:41,174,590–41,197,508 │
  ├───────────┼───────────────────────────────────────────────────┼──────────────┼────────────────────┼─────────────────────────────┤
  │ Ep300     │ E1A binding protein p300                          │ Mus musculus │ ENSMUSG00000055024 │ chr15:81,469,551–81,536,278 │
  ├───────────┼───────────────────────────────────────────────────┼──────────────┼────────────────────┼─────────────────────────────┤
  │ EID1      │ EP300 interacting inhibitor of differentiation 1  │ Homo sapiens │ ENSG00000255302    │ chr15                       │
  ├───────────┼───────────────────────────────────────────────────┼──────────────┼────────────────────┼─────────────────────────────┤
  │ EID2      │ EP300 interacting inhibitor of differentiation 2  │ Homo sapiens │ ENSG00000176396    │ chr19                       │
  ├───────────┼───────────────────────────────────────────────────┼──────────────┼────────────────────┼─────────────────────────────┤
  │ EID2B     │ EP300 interacting inhibitor of differentiation 2B │ Homo sapiens │ ENSG00000176401    │ chr19                       │
  ├───────────┼───────────────────────────────────────────────────┼──────────────┼────────────────────┼─────────────────────────────┤
  │ EID3      │ EP300 interacting inhibitor of differentiation 3  │ Homo sapiens │ ENSG00000255150    │ chr12                       │
  ├───────────┼───────────────────────────────────────────────────┼──────────────┼────────────────────┼─────────────────────────────┤
  │ Eid1      │ EP300 interacting inhibitor of differentiation 1  │ Mus musculus │ ENSMUSG00000091337 │ chr2                        │
  ├───────────┼───────────────────────────────────────────────────┼──────────────┼────────────────────┼─────────────────────────────┤
  │ Eid2      │ EP300 interacting inhibitor of differentiation 2  │ Mus musculus │ ENSMUSG00000046058 │ chr7                        │
  ├───────────┼───────────────────────────────────────────────────┼──────────────┼────────────────────┼─────────────────────────────┤
  │ Eid2b     │ EP300 interacting inhibitor of differentiation 2B │ Mus musculus │ ENSMUSG00000070705 │ chr7                        │
  ├───────────┼───────────────────────────────────────────────────┼──────────────┼────────────────────┼─────────────────────────────┤
  │ Eid3      │ EP300 interacting inhibitor of differentiation 3  │ Mus musculus │ ENSMUSG00000109864 │ chr10                       │
  └───────────┴───────────────────────────────────────────────────┴──────────────┴────────────────────┴─────────────────────────────┘

  The core EP300 gene itself appears in both human (ENSG00000100393) and mouse
  (ENSMUSG00000055024) versions, along with its antisense RNA and several
  EP300-interacting inhibitor of differentiation (EID) family members.

查找化验术语

❯ What is assay term OBI:0002762?

● igvf-portal-mcp - igvf_portal_search (MCP)(query: "OBI:0002762", type: ["AssayTerm"])
  ⎿  {
       "result": "{\"total\": 1, \"returned\": 1, \"results\": [{\"preferred_assay_titles\": [\"SHARE-seq\",
         \"10x multiome\", \"10x multiome with MULTI-seq\", \"miDOGMA-seq\", \"scMultiome-NT-seq\",
         \"10x snATAC-seq with Scale pre-indexing\"], \"term_id\": \"OBI:0002762\",
         \"term_name\": \"single-nucleus ATAC-seq\", ...
     … +10 lines (ctrl+o to expand)

● OBI:0002762 is single-nucleus ATAC-seq (snATAC-seq).

  - Definition: An ATAC-seq assay in which single nuclei are isolated from frozen tissue samples,
    through a protocol designed to maximally preserve nucleus integrity during sample processing
    and optimize transposase-mediated fragmentation of chromatin in individual nuclei.
  - Assay slim: chromatin accessibility
  - Preferred assay titles on IGVF: SHARE-seq, 10x multiome, 10x multiome with MULTI-seq,
    miDOGMA-seq, scMultiome-NT-seq, 10x snATAC-seq with Scale pre-indexing

得到一个方面的分解

❯ Give me a breakdown of measurement sets by preferred assay title

● igvf-portal-mcp - igvf_portal_facets (MCP)(type: ["MeasurementSet"])
  ⎿  Error: result (120,385 characters) exceeds maximum allowed tokens. Output has been saved to ...
     Format: JSON with schema: {result: string}
     … +6 lines (ctrl+o to expand)

● Bash(cat .../tool-results/mcp-igvf-portal-mcp-igvf_portal_facets-....txt | python3 -c "...")
  ⎿  Total MeasurementSets: 5129

       1470  10x multiome
     … +39 lines (ctrl+o to expand)

● MeasurementSets by preferred assay title (total: 5,129):

  ┌───────┬───────────────────────────────────┐
  │ Count │       Preferred Assay Title       │
  ├───────┼───────────────────────────────────┤
  │ 1,470 │ 10x multiome                      │
  ├───────┼───────────────────────────────────┤
  │   798 │ SGE                               │
  ├───────┼───────────────────────────────────┤
  │   519 │ SHARE-seq                         │
  ├───────┼───────────────────────────────────┤
  │   488 │ Variant-EFFECTS                   │
  ├───────┼───────────────────────────────────┤
  │   333 │ Parse SPLiT-seq                   │
  ├───────┼───────────────────────────────────┤
  │   268 │ CRISPR FlowFISH screen            │
  ├───────┼───────────────────────────────────┤
  │   196 │ Perturb-seq                       │
  ├───────┼───────────────────────────────────┤
  │   144 │ VAMP-seq (MultiSTEP)              │
  ├───────┼───────────────────────────────────┤
  │   118 │ 10x multiome with MULTI-seq       │
  ├───────┼───────────────────────────────────┤
  │   108 │ CRISPR FACS screen                │
  ├───────┼───────────────────────────────────┤
  │    95 │ RNA-seq                           │
  ├───────┼───────────────────────────────────┤
  │    76 │ mtscMultiome                      │
  ├───────┼───────────────────────────────────┤
  │    54 │ MPRA                              │
  ├───────┼───────────────────────────────────┤
  │    48 │ TAP-seq                           │
  ├───────┼───────────────────────────────────┤
  │    48 │ scNT-seq2                         │
  ├───────┼───────────────────────────────────┤
  │    41 │ ATAC-seq                          │
  ├───────┼───────────────────────────────────┤
  │    40 │ Proliferation CRISPR screen       │
  ├───────┼───────────────────────────────────┤
  │    36 │ VAMP-seq                          │
  ├───────┼───────────────────────────────────┤
  │    36 │ snM3C-seq                         │
  ├───────┼───────────────────────────────────┤
  │    34 │ snMCT-seq                         │
  ├───────┼───────────────────────────────────┤
  │    27 │ lentiMPRA                         │
  ├───────┼───────────────────────────────────┤
  │    23 │ WGS                               │
  ├───────┼───────────────────────────────────┤
  │    20 │ HiCAR                             │
  ├───────┼───────────────────────────────────┤
  │    19 │ Parse Perturb-seq                 │
  ├───────┼───────────────────────────────────┤
  │    15 │ STARR-seq                         │
  ├───────┼───────────────────────────────────┤
  │     8 │ ONT Fiber-seq                     │
  ├───────┼───────────────────────────────────┤
  │     8 │ ONT dRNA                          │
  ├───────┼───────────────────────────────────┤
  │     8 │ ONT direct WGS                    │
  ├───────┼───────────────────────────────────┤
  │     8 │ scCRISPR screen                   │
  ├───────┼───────────────────────────────────┤
  │     6 │ MPRA (scQer)                      │
  ├───────┼───────────────────────────────────┤
  │     6 │ Migration CRISPR screen           │
  ├───────┼───────────────────────────────────┤
  │     6 │ electroporated MPRA               │
  ├───────┼───────────────────────────────────┤
  │     4 │ Arrayed semi-qY2H v1/v2/v3        │
  ├───────┼───────────────────────────────────┤
  │     4 │ scATAC-seq                        │
  ├───────┼───────────────────────────────────┤
  │     4 │ scNT-seq                          │
  ├───────┼───────────────────────────────────┤
  │     3 │ scRNA-seq                         │
  ├───────┼───────────────────────────────────┤
  │     1 │ DUAL-IPA                          │
  ├───────┼───────────────────────────────────┤
  │     1 │ Variant painting via fluorescence │
  └───────┴───────────────────────────────────┘

  10x multiome dominates at 1,470 (29%), followed by SGE (798) and SHARE-seq (519).

发现过滤器参数

❯ What can I filter on for analysis sets?

● igvf-portal-mcp - igvf_portal_get_endpoint_params (MCP)(endpoint: "analysis_sets")
  ⎿  {"result":"{\n  \"endpoint\": \"analysis_sets\",\n  \"standard_params\": [\n    \"limit\",\n    \"query\",\n    \"sort\"\n  ],\n  \"filter_params\": [\n    {\n      \"collection_param\": \"id\",\n      \"search_field\":
     \"@id\",\n      \"type\": \"list[str]\"\n    },\n    {\n      \"collection_param\": \"accession\",\n      \"search_field\": \"accession\",\n      \"type\": \"list[str]\"\n    },\n    {\n      \"collection_param\": \"alia
     ses\",\n      \"search_field\": \"aliases\",\n      \"type\": \"list[str]\"\n    },\n    {\n      \"collection_param\": \"alternate_accessions\",\n      \"search_field\": \"alternate_accessions\",\n      \"type\": \"list
     … +119 lines (ctrl+o to expand)

● Here are all filterable fields for AnalysisSet, grouped by category:

  Identity: @id, accession, uuid, aliases, alternate_accessions, doi, status,
    controlled_access, data_use_limitation_summaries, is_on_anvil

  Assay: assay_titles, preferred_assay_titles, file_set_type,
    uniform_pipeline_status, enrichment_designs,
    functional_assay_mechanisms.term_name

  Samples: samples.@id, samples.accession, samples.summary, sample_summary,
    samples.classifications, samples.taxa, samples.sample_terms.term_name,
    samples.disease_terms.term_name, samples.targeted_sample_term.term_name,
    samples.modifications.modality, samples.treatments.treatment_term_name,
    samples.treatments.treatment_type, samples.treatments.purpose,
    samples.growth_medium, samples.cellular_sub_pool,
    samples.institutional_certificates.data_use_limitation

  Donors: donors.@id, donors.accession, donors.taxa, donors.sex,
    donors.strain_background

  Files: files.@id, files.accession, files.content_type, files.file_format,
    files.file_format_type, files.assembly, files.transcriptome_annotation,
    files.file_size, files.status, files.upload_status,
    files.controlled_access, files.sequencing_platform.term_name,
    files.cell_type_annotation.term_name

  Input / linked sets: input_file_sets.@id, input_file_sets.accession,
    input_file_sets.file_set_type, input_for, construct_library_sets.@id,
    construct_library_sets.file_set_type,
    construct_library_sets.selection_criteria,
    construct_library_sets.small_scale_gene_list.symbol,
    construct_library_sets.associated_phenotypes.term_name,
    targeted_genes.symbol, demultiplexed_samples

  Workflows / pipeline: workflows.@id, workflows.accession, workflows.name,
    workflows.uniform_pipeline, workflows.workflow_version, pipeline_parameters

  Lab / award: lab.@id, lab.title, award.@id, award.component, award.title,
    award.contact_pi.title, publications.publication_identifiers

  Timestamps: creation_timestamp, release_timestamp,
    submitted_files_timestamp, preview_timestamp

使用字段筛选器搜索

❯ Give me an example 10x multiome analysis set

● igvf-portal-mcp - igvf_portal_search (MCP)(type: ["AnalysisSet"], field_filters: {"preferred_assay_titles":"10x multiome"}, limit: "1")
  ⎿  {
       "result": "{\n  \"total\": 726,\n  \"returned\": 1,\n  \"results\": [\n    {\n      \"doi\": \"10.65695/IGVFDS9564JXGL\",\n      \"input_file_sets\": [\n        \"/measurement-sets/IGVFDS2443ZQHK/\",\n        \"/measur
     ement-sets/IGVFDS9885KGYZ/\"\n      ],\n      \"release_timestamp\": \"2025-11-12T18:17:10.823135+00:00\",\n      \"lab\": \"/labs/ryan-corces/\",\n      \"award\": \"/awards/HG012076/\",\n      \"accession\": \"IGVFDS95
     … +11 lines (ctrl+o to expand)

● Here's an example 10x multiome AnalysisSet:

  IGVFDS9564JXGL — https://data.igvf.org/analysis-sets/IGVFDS9564JXGL/

  ┌───────────────────┬──────────────────────────────────────────────────────────────────────────────────────────┐
  │       Field       │                                          Value                                           │
  ├───────────────────┼──────────────────────────────────────────────────────────────────────────────────────────┤
  │ Type              │ intermediate analysis                                                                    │
  ├───────────────────┼──────────────────────────────────────────────────────────────────────────────────────────┤
  │ Status            │ released                                                                                 │
  ├───────────────────┼──────────────────────────────────────────────────────────────────────────────────────────┤
  │ Lab               │ Ryan Corces                                                                              │
  ├───────────────────┼──────────────────────────────────────────────────────────────────────────────────────────┤
  │ Assays            │ single-nucleus ATAC-seq + single-nucleus RNA-seq (10x multiome, genetically multiplexed) │
  ├───────────────────┼──────────────────────────────────────────────────────────────────────────────────────────┤
  │ Sample            │ Homo sapiens multiplexed sample — posterior cingulate gyrus, putamen, substantia nigra   │
  ├───────────────────┼──────────────────────────────────────────────────────────────────────────────────────────┤
  │ Donors            │ 8 human donors                                                                           │
  ├───────────────────┼──────────────────────────────────────────────────────────────────────────────────────────┤
  │ Pipeline          │ uniform pipeline (completed)                                                             │
  ├───────────────────┼──────────────────────────────────────────────────────────────────────────────────────────┤
  │ Controlled access │ No                                                                                       │
  └───────────────────┴──────────────────────────────────────────────────────────────────────────────────────────┘

  Files (6):
  - IGVFFI3882BXBL — alignment file
  - IGVFFI6307SAFZ, IGVFFI9552YLAE — index files
  - IGVFFI6617CCIB, IGVFFI8348ZDXP — matrix files
  - IGVFFI0795NBVQ — tabular file

  Input MeasurementSets: IGVFDS2443ZQHK, IGVFDS9885KGYZ

在分析集中查找文件

❯ What files are in /analysis-sets/IGVFDS9564JXGL/?

● igvf-portal-mcp - igvf_portal_get_by_id (MCP)(resource_id: "/analysis-sets/IGVFDS9564JXGL/")
  ⎿  {
       "result": "{\n  \"doi\": \"10.65695/IGVFDS9564JXGL\",\n  \"input_file_sets\": 

依赖关系列在 `requirements.txt` 并由自动管理 `uv`.

### 跑

uv run server.py


### 连接到AI编码代理

将服务器添加到代理的MCP配置中。例如,在克劳德代码中(`.mcp.json`):

{ "mcpServers": { "igvf-portal": { "command": "uv", "args": ["run", "server.py"] } } }


A. `.mcp.json` 此配置包含在此存储库中。

### 环境变量

|变量|必填|描述|
|---|---|---|
| `IGVF_ACCESS_KEY` |没有用于身份验证访问的|neneneba API密钥(未发布的数据)|
| `IGVF_SECRET_ACCESS_KEY` |没有| API机密与 `IGVF_ACCESS_KEY` |
| `IGVF_HOST` |否|门户主机覆盖,例如。 `https://api.sandbox.igvf.org` |
| `HTTPS_PROXY` / `HTTP_PROXY` |否|代理服务器URL|
| `REQUESTS_CA_BUNDLE` / `SSL_CERT_FILE` |否|自定义CA证书路径|

如果没有凭据,服务器将匿名连接到生产门户。

______________________________________________________________________

## 工具参考

所有工具都带有前缀 `igvf_portal_`.

### 主要工具

|工具|说明|
|---|---|
| [`igvf_portal_get_by_id`](#igvf_portal_get_by_id) |通过以下方式检索单个项目 `@id`、登录或UUID|
| [`igvf_portal_search`](#igvf_portal_search) |使用自由文本和/或字段过滤器搜索门户|
| [`igvf_portal_get_collection`](#igvf_portal_get_collection) |列出集合终结点中的项目|
|  |将单个文件下载到本地路径|
| [`igvf_portal_report`](#igvf_portal_report) |为项目类型生成TSV报告|
|  |获取匹配文件集中文件的下载URL|

### 支持工具

|工具|说明|
|---|---|
| [`igvf_portal_get_schema`](#igvf_portal_get_schema) |返回项目类型的JSON模式|
| [`igvf_portal_get_endpoint_params`](#igvf_portal_get_endpoint_params) |查找集合的可用筛选器参数|
| [`igvf_portal_list_item_types`](#igvf_portal_list_item_types) |列出所有有效的项目类型名称|
| [`igvf_portal_facets`](#igvf_portal_facets) |获取项目类型的聚合方面计数|

______________________________________________________________________

### `igvf_portal_search`

使用自由文本和/或字段过滤器搜索门户。

igvf_portal_search( query: str = "", type: list[str] | None = None, limit: int | str = 25, sort: list[str] | None = None, field_filters: dict | None = None, ) -> str # JSON


|参数|类型|说明|
|---|---|---|
| `query` |str |自由文本搜索字符串|
| `type` |list\[str\]|要筛选的项目类型,例如。 `["SequenceFile"]` |
| `limit` |int或“all”|最大结果(默认值25)|
| `sort` |list\[str\]|对字段进行排序;前缀 `-` 用于下降|
| `field_filters` |dict |虚线字段名→ 值过滤器|

使用真实的虚线字段名称(例如。 `"file_set.@id"`),而不是下划线参数名称。看 `igvf_portal_get_endpoint_params` 为了区别。

igvf_portal_search( type=["SequenceFile"], field_filters={"file_format": "fastq"}, limit=5 )

→ {"total": 12340, "returned": 5, "results": [...]}


______________________________________________________________________

### `igvf_portal_get_by_id`

按以下方式检索单个项目 `@id`、登录或UUID。

igvf_portal_get_by_id(resource_id: str) -> str # JSON

igvf_portal_get_by_id("IGVFFI1165AJSO") igvf_portal_get_by_id("/sequence-files/IGVFFI1165AJSO/")


______________________________________________________________________

### `igvf_portal_get_schema`

返回项目类型的JSON模式,描述其所有字段。

igvf_portal_get_schema(item_type: str) -> str # JSON schema

igvf_portal_get_schema("SequenceFile")


使用 `igvf_portal_list_item_types` 以获取有效的类型名称。

______________________________________________________________________

### `igvf_portal_list_item_types`

返回所有有效IGVF项目类型名称(CamelCase)的排序列表。

igvf_portal_list_item_types() -> str # JSON array

igvf_portal_list_item_types()

→ ["AccessKey", "AlignmentFile", "AnalysisSet", ...]


______________________________________________________________________

### `igvf_portal_get_collection`

使用下划线样式参数名称列出特定集合端点中的项目。

igvf_portal_get_collection( collection: str, query: str = "", limit: int = 25, sort: list[str] | None = None, field_filters: dict | None = None, ) -> str # JSON


`field_filters` 这里使用下划线Python参数名称(例如。 `"file_set_id"`),而不是虚线字段名称。使用 `igvf_portal_get_endpoint_params` 以发现有效的筛选器名称。

igvf_portal_get_collection( "sequence_files", field_filters={"file_format": "fastq"}, limit=10 )


______________________________________________________________________

### `igvf_portal_get_endpoint_params`

查找集合的可用筛选器参数。返回两个下划线参数名称(用于 `igvf_portal_get_collection`)以及虚线字段名称(用于 `igvf_portal_search` / `igvf_portal_report`).

igvf_portal_get_endpoint_params(endpoint: str) -> str # JSON

igvf_portal_get_endpoint_params("sequence_files")

→ {

"endpoint": "sequence_files",

"filter_params": [

{"collection_param": "file_set_id", "search_field": "file_set.@id", "type": "str"},

...

]

}

igvf_portal_get_endpoint_params("?") # list all available endpoints


______________________________________________________________________

### `igvf_portal_download`

将单个IGVF文件下载到本地路径。

igvf_portal_download(file_id: str, save_path: str) -> str # JSON

igvf_portal_download("IGVFFI8092FZKL", "/tmp/IGVFFI8092FZKL.tsv")

→ {"saved_to": "/tmp/IGVFFI8092FZKL.tsv", "bytes": 204800}


______________________________________________________________________

### `igvf_portal_batch_download`

获取属于匹配FileSet项的文件的下载URL,并将其保存到本地文件。仅支持文件集类型: `MeasurementSet`, `AnalysisSet`, `AuxiliarySet`, `ConstructLibrarySet`, `CuratedSet`, `ModelSet`, `PredictionSet` (以及 `FileSet` 本身)。

igvf_portal_batch_download( type: list[str], save_path: str, query: str = "", field_filters: dict | None = None, ) -> str # JSON

igvf_portal_batch_download( type=["MeasurementSet"], save_path="/tmp/metadata.tsv", field_filters={"lab.@id": "/labs/ali-mortazavi/"} )

→ {"saved_to": "/tmp/metadata.tsv", "bytes": 204800}


______________________________________________________________________

### `igvf_portal_facets`

获取项目类型的聚合方面计数,而不获取记录。有助于在过滤之前了解数据分布。

igvf_portal_facets( type: list[str], query: str = "", field_filters: dict | None = None, ) -> str # JSON

igvf_portal_facets(type=["SequenceFile"])

→ {"total": 45123, "facets": [{"field": "file_format", "title": "File Format", "terms": [...]}]}


______________________________________________________________________

### `igvf_portal_report`

为项目类型生成TSV格式的报告并将其保存在本地。

igvf_portal_report( type: list[str], save_path: str, query: str = "", field_filters: dict | None = None, ) -> str # JSON

igvf_portal_report( type=["SequenceFile"], save_path="/tmp/sequence_files.tsv", field_filters={"file_format": "fastq"} )

→ {"saved_to": "/tmp/sequence_files.tsv", "bytes": 512000}


______________________________________________________________________

## 代理技能: `igvf-portal-facet-filter`

此repo包括用于引导分面探索的代理技能。它目前被实现为Claude Code技能(`.claude/skills/igvf-portal-facet-filter/SKILL.md`)但是它描述的工作流程可以适用于任何编码代理。

### 目的

引导用户逐步过滤IGVF项目类型——从高级摘要开始,在获取记录之前缩小到目标记录集。

### 用法(克劳德代码)

/igvf-portal-facet-filter SequenceFile


或者没有提示输入项目类型的参数。

### 工作流程

1. 呼叫 `igvf_portal_facets` 并显示了总项目计数加上可用方面名称的菜单——还没有值。
1. 用户选择要扩展的方面。该技能显示术语值,并仅对这些值计数。
1. 用户选择一个筛选值。技能重新查询 `field_filters` 应用并显示更新的计数和面菜单。
1. 重复步骤2-3,直到用户准备好获取记录。
1. 通过以下方式获取结果 `igvf_portal_search` 或 `igvf_portal_get_collection`.

### 示例会话

❯ /igvf-portal-facet-filter SequenceFile

● igvf-portal-mcp - igvf_portal_facets (MCP)(type: ["SequenceFile"]) ⎿ {"result":"{\n \"total\": 49945,\n \"facets\": [...]\n ... … +145 lines (ctrl+o to expand)

● Total SequenceFiles: 49,945

Available facets (skipping single-value): Content Type, File Format, Illumina Read Type, Sequencing Kit, Sequencing Platform, Controlled Access, Data Use Limitation, File Set Type, Assay Term Names, Preferred Assay Titles, Taxa, Sample, Classification, Cellular Transformation Target, Disease, Modification, Treatment, Lab, Award

Which facet(s) would you like to explore or filter on?

❯ file format

● From the data already fetched:

fastq 47,981 pod5 1,964

Would you like to filter on one of these, explore another facet, or fetch results?

❯ sample

● From the data already fetched:

putamen 11,408 posterior cingulate gyrus 11,292 substantia nigra 11,002 middle temporal gyrus 10,768 THP-1 8,383 cerebellar cortex 8,348 induced pluripotent stem cell 4,810 Jurkat 3,258 peripheral blood mononuclear cell 3,213 kidney 758 … +47 more

Would you like to filter on a sample, explore another facet, or fetch results?

❯ Filter on fastq and kidney

● igvf-portal-mcp - igvf_portal_facets (MCP)(type: ["SequenceFile"], field_filters: {"file_format":"fastq","file_set.samples.sample_terms.term_name":"kidney"}) ⎿ {"result":"{\n \"total\": 758, ... … +50 lines (ctrl+o to expand)

● 758 SequenceFiles match fastq + kidney. Mostly homogeneous: - Assay: single-nucleus RNA sequencing assay (Parse SPLiT-seq) - Taxa: Mus musculus / Lab: Ali Mortazavi, UCI

Remaining multi-value facets: - Sequencing Kit: NovaSeq 6000 S4 (480), NovaSeq X 25B (240), NextSeq P3 (28), NextSeq P4 (10) - Sequencing Platform: NovaSeq 6000 (480), NovaSeq X (240), NextSeq 2000 (38) - Classification: multiplexed sample (758), tissue/organ (758), primary cell (16)

Would you like to filter further, or fetch the 758 results?

❯ filter on primary cell

● igvf-portal-mcp - igvf_portal_facets (MCP)(type: ["SequenceFile"], field_filters: {"file_format":"fastq","file_set.samples.sample_terms.term_name":"kidney", "file_set.samples.classifications":"primary cell"}) ⎿ {"result":"{\n \"total\": 16, ... … +33 lines (ctrl+o to expand)

● 16 SequenceFiles match. Fully homogeneous — all single-value across every facet: - Format: fastq (reads) / Assay: Parse SPLiT-seq / Taxa: Mus musculus - Platform: Illumina NextSeq 2000 / Lab: Ali Mortazavi, UCI - Read types: R1 × 8, R2 × 8 / Controlled access: No

Ready to fetch all 16 results?

❯ Download report and show me preview of first five rows

● igvf-portal-mcp - igvf_portal_report (MCP)(type: ["SequenceFile"], save_path: "/tmp/sequence_files_kidney_primary.tsv", field_filters: {"file_format":"fastq", "file_set.samples.sample_terms.term_name":"kidney", "file_set.samples.classifications":"primary cell"}) ⎿ {"result":"{\n \"saved_to\": \"/tmp/sequence_files_kidney_primary.tsv\",\n \"bytes\": 3624\n}"}

● Report saved to /tmp/sequence_files_kidney_primary.tsv (3.6 KB). First 5 rows:

┌────────────────┬───────────┬────────────────┬──────────┐ │ Accession │ Read Type │ File Set │ Status │ ├────────────────┼───────────┼────────────────┼──────────┤ │ IGVFFI5210WGXF │ R1 │ IGVFDS1479KDWW │ released │ ├────────────────┼───────────┼────────────────┼──────────┤ │ IGVFFI7223DHDE │ R2 │ IGVFDS9176CSYH │ released │ ├────────────────┼───────────┼────────────────┼──────────┤ │ IGVFFI4385HOXT │ R2 │ IGVFDS1479KDWW │ released │ ├────────────────┼───────────┼────────────────┼──────────┤ │ IGVFFI2085FMMU │ R2 │ IGVFDS9176CSYH │ released │ ├────────────────┼───────────┼────────────────┼──────────┤ │ IGVFFI2033IHBM │ R1 │ IGVFDS9604WYAS │ released │ └────────────────┴───────────┴────────────────┴──────────┘

All 16 are fastq reads from Ali Mortazavi (UCI), released and validated, across 3 MeasurementSets (IGVFDS1479KDWW, IGVFDS9176CSYH, IGVFDS9604WYAS) with R1/R2 pairs for each.

目录标签

目录标签

生物信息学PythonClaude数据管理基因组数据本地部署API服务器AI工具集成数据检索

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

12

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP