Token导航 LogoToken导航TokenDH.com
Cell2sentence4longevity MCP logo
运维云端stdio官方级别未说明来源级核验

Cell2sentence4longevity MCP

MCP Server

基于基因表达模式预测生物年龄的MCP服务器,支持元数据输入和基因敲除模拟。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude云端部署Claude DesktopClaude

安装说明

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

作者 / 组织

longevity-genie

提供方

longevity-genie

最后核验

2026/5/17 20:21

运行时

Python

快速接入

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

命令预览

uv run cell2sentence4longevity-mcp-stdio

详细介绍

电池寿命mcp

MCP(模型上下文协议)服务器,用于通过vLLM使用Cell2Sentence4Longevity模型进行年龄预测。

概述

该MCP服务器提供了一个接口,用于根据基因表达模式预测生物年龄。它使用 transhumanist-already-exists/C2S-Scale-Gemma-2-27B-age-prediction-fullft 模型托管在vLLM端点上。

服务器通过HTTP请求直接使用vLLM补全API,从而可以轻松地将年龄预测集成到人工智能工作流程中。

特性

  • 年龄预测:根据基因表达“细胞句子”预测供体年龄
  • 元数据支持:包括其他信息,如性别、组织类型、细胞类型和吸烟状况
  • Insilico淘汰赛:测试去除基因对年龄预测的影响
  • 多种运输方式:支持stdio、SSE和可流式传输的http
  • CLI工具:可直接使用的独立命令行界面
  • 结构化输出:返回原始模型响应和解析的年龄预测
  • 示例资源:提供示例提示和模型信息

安装

使用 uv 从项目根:

uv sync

配置

可以使用环境变量配置服务器:

  • VLLM_BASE_URL:vLLM端点URL(默认值: http://89.169.110.141:8000)
  • VLLM_MODEL:模型名称(默认值: transhumanist-already-exists/C2S-Scale-Gemma-2-27B-age-prediction-fullft)
  • MCP_HOST:要绑定的主机(默认值: 0.0.0.0)
  • MCP_PORT:要绑定的端口(默认值: 3002)

用法

运行服务器

标准模式 (适用于Claude Desktop或其他MCP客户端):

uv run cell2sentence4longevity-mcp-stdio

HTTP服务器模式:

uv run cell2sentence4longevity-mcp-run --host 0.0.0.0 --port 3002

SSE模式:

uv run cell2sentence4longevity-mcp-sse --host 0.0.0.0 --port 3002

MCP客户端配置

对于克劳德桌面(stdio):

添加到您的Claude Desktop配置中:

{
  "mcpServers": {
    "cell2sentence4longevity": {
      "command": "uv",
      "args": [
        "--directory",
        "/home/antonkulaga/sources/cell2sentence4longevity-mcp",
        "run",
        "cell2sentence4longevity-mcp-stdio"
      ],
      "env": {
        "VLLM_BASE_URL": "http://89.169.110.141:8000",
        "VLLM_MODEL": "transhumanist-already-exists/C2S-Scale-Gemma-2-27B-age-prediction-fullft"
      }
    }
  }
}

对于HTTP客户端:

{
  "mcpServers": {
    "cell2sentence4longevity": {
      "url": "http://localhost:3002/mcp",
      "transport": "streamable-http"
    }
  }
}

工具

预测_年龄

根据基因表达句子预测年龄。

参数:

  • gene_sentence (str):按表达水平降序排列的基因名称的空格分隔列表
  • max_tokens (int,可选):要生成的最大令牌数(默认值:20)
  • temperature (浮动,可选):采样温度(默认值:0.0)
  • top_p (浮动,可选):Nucleus采样参数(默认值:1.0)

例子:

predict_age(
    gene_sentence="MT-CO1 FTL EEF1A1 HLA-B LST1 S100A4 HLA-C H3-3B ZFP36 AIF1 HLA-DRA FCER1G ITGB2 RPS21 ANXA1 RPL3"
)

使用元数据进行预测

使用有关样本的其他元数据预测年龄。

参数:

  • gene_sentence (str):按表达水平降序排列的基因名称的空格分隔列表
  • sex (str,可选):捐赠者的性别(例如,“男性”、“女性”)
  • smoking_status (int,可选):0=不吸烟者,1=吸烟者
  • tissue (str,可选):组织类型(例如,“血液”、“大脑”)
  • cell_type (str,可选):细胞类型(例如,“CD14低,CD16阳性单核细胞”)
  • max_tokens (int,可选):要生成的最大令牌数(默认值:20)
  • temperature (浮动,可选):采样温度(默认值:0.0)
  • top_p (浮动,可选):Nucleus采样参数(默认值:1.0)

例子:

predict_age_with_metadata(
    gene_sentence="MT-CO1 FTL EEF1A1 HLA-B LST1 S100A4 HLA-C H3-3B ZFP36 AIF1",
    sex="female",
    smoking_status=0,
    tissue="blood",
    cell_type="CD14-low, CD16-positive monocyte"
)

内源性敲除

通过从基因表达句子中删除第一个基因(最高表达)并比较年龄预测来进行insilico敲除实验。

参数:

  • gene_sentence (str):按表达水平降序排列的基因名称的空格分隔列表
  • sex (str,可选):捐赠者的性别(例如,“男性”、“女性”)
  • smoking_status (int,可选):0=不吸烟者,1=吸烟者
  • tissue (str,可选):组织类型(例如,“血液”、“大脑”)
  • cell_type (str,可选):细胞类型(例如,“CD14低,CD16阳性单核细胞”)
  • max_tokens (int,可选):要生成的最大令牌数(默认值:20)
  • temperature (浮动,可选):采样温度(默认值:0.0)
  • top_p (浮动,可选):Nucleus采样参数(默认值:1.0)

退货:

  • gene_knocked_out:删除的基因(列表中的第一个)
  • age_prediction:用全基因句子预测年龄
  • age_prediction_with_knockout:去除基因后的预测年龄
  • delta_age:预测年龄的变化(淘汰赛-原始)
  • original_gene_sentence:原始基因表达句
  • knockout_gene_sentence:基因敲除后的表达句子
  • model:用于预测的模型

例子:

insilico_knockout(
    gene_sentence="MT-CO1 FTL EEF1A1 HLA-B LST1 S100A4 HLA-C H3-3B ZFP36 AIF1",
    sex="female",
    tissue="blood"
)

CLI工具

除了MCP服务器之外,此软件包还提供了可直接使用的独立CLI工具。

cell2sentence cli

CLI提供了直接从命令行执行insilico敲除实验的命令。

基本淘汰命令

从基因句子中删除第一个基因,并比较年龄预测:

uv run cell2sentence-cli knockout "MT-CO1 FTL EEF1A1 HLA-B LST1 S100A4" \
  --sex female \
  --tissue blood \
  --cell-type "CD14-low, CD16-positive monocyte"

输出格式:

  • 文本(默认):
Gene knocked out: MT-CO1
Age prediction (original): 46.0
Age prediction (knockout): 46.0
Delta age: 0.0
  • CSV: --format csv
gene_knocked_out,age_prediction,age_prediction_with_knockout,delta_age
MT-CO1,46.0,46.0,0.0
  • JSON: --format json
{
  "gene_knocked_out": "MT-CO1",
  "age_prediction": 46.0,
  "age_prediction_with_knockout": 46.0,
  "delta_age": 0.0,
  "original_gene_sentence": "MT-CO1 FTL EEF1A1 HLA-B LST1 S100A4",
  "knockout_gene_sentence": "FTL EEF1A1 HLA-B LST1 S100A4",
  "model": "transhumanist-already-exists/C2S-Scale-Gemma-2-27B-age-prediction-fullft"
}

从有效载荷文件中删除

使用现有的有效载荷JSON文件(如中的示例 data/example/vllm_payload.json):

uv run cell2sentence-cli knockout-from-payload data/example/vllm_payload.json --format csv

这会自动从有效载荷中提取基因句子和元数据。

所有CLI选项:

uv run cell2sentence-cli knockout --help
uv run cell2sentence-cli knockout-from-payload --help

登录中:

CLI记录到 logs/knockout.jsonlogs/knockout.log 默认情况下。您可以自定义日志目录:

uv run cell2sentence-cli knockout "GENE1 GENE2 GENE3" --log-dir ./my-logs

资源

resource://cell2sentence/example-prompt

从返回示例提示 vllm_payload.json 文件,显示如何格式化输入。

resource://cell2sentence/model-info

返回有关模型的信息,包括端点详细信息和功能。

输入格式

该模型需要一个“细胞句子”——一个用空格分隔的衰老相关基因名称列表,按表达水平降序排列。这些基因通常应该来自与衰老相关的数据库,如OpenGenes。

单元格句子示例:

MT-CO1 FTL EEF1A1 HLA-B LST1 S100A4 HLA-C H3-3B ZFP36 AIF1 HLA-DRA FCER1G ITGB2 RPS21 ANXA1 RPL3 HLA-DRB1 HLA-DRB5 TPM3 RPL22

单元格句子过滤

该存储库包括用于过滤单元格句子数据集的工具,以仅包含句子以OpenGenes数据库中的基因符号开头的单元格。看 docs/FILTERING.md 详细文档。

快速启动:

# CLI version with logging
uv run python filter.py data/example/cells/example_cells.parquet data/output/filtered_cells.parquet

# Interactive notebook version with statistics
uv run python notebook/filter.py

过滤工具:

  • 从OpenGenes加载2403个与寿命/衰老相关的基因
  • 过滤细胞,只保留OpenGenes中第一个基因所在的细胞
  • 使用Polars进行内存高效处理
  • 提供详细的统计和分析

输出格式

工具返回 AgePredictionResult 包含:

  • predicted_age:以年为单位的预测年龄(浮点数,如果解析失败,则为None)
  • raw_response:模型的原始文本响应
  • prompt_used:发送给模型的完整提示
  • model:用于预测的模型名称

测试

运行测试套件:

# Run all tests
uv run pytest

# Run specific test modules
uv run python test/test_knockout.py
uv run python test/test_mcp_performance.py

发展

要将此服务器添加到其他项目或对其进行扩展,请执行以下操作:

from cell2sentence4longevity_mcp import Cell2SentenceMCP

# Create custom server
mcp = Cell2SentenceMCP(
    name="Custom Age Prediction Server",
    vllm_base_url="http://your-vllm-endpoint:8000/",
    model="your-model-name"
)

# Run with your preferred transport
mcp.run(transport="stdio")

许可证

有关详细信息,请参阅LICENSE文件。

作者

  • 安东库拉拉(antonkulaga@gmail.com)

目录标签

目录标签

PythonClaude云端部署基因表达分析本地部署年龄预测生物信息学AI医疗模型服务

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP