modelscope·@gqy20/genome-mcp
暂无描述。
智能基因组数据服务器 - 通过MCP协议提供高质量的基因信息查询同源基因分析和进化研究功能
推荐使用现代化的 uv 包管理器以获得更快的安装速度
# 使用uvx直接运行推荐
uvx genome-mcp
# 或添加到项目
uv add genome-mcp
传统方式安装
pip install genome-mcp
编辑配置文件
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json推荐使用 uvx 运行:
{
"mcpServers": {
"genome-mcp": {
"command": "uvx",
"args": ["genome-mcp"],
"env": {}
}
}
}
或使用传统方式:
{
"mcpServers": {
"genome-mcp": {
"command": "python",
"args": ["-m", "genome_mcp"],
"env": {}
}
}
}
或使用 uv run:
{
"mcpServers": {
"genome-mcp": {
"command": "uv",
"args": ["run", "-m", "genome_mcp"],
"env": {}
}
}
}
在 VS Code 的 Continue.dev 扩展配置中:
{
"mcpServers": {
"genome-mcp": {
"command": "uvx",
"args": ["genome-mcp"]
}
}
}
在 Cursor 设置中添加:
{
"mcpServers": {
"genome-mcp": {
"command": "uvx",
"args": ["genome-mcp"],
"env": {
"GENOME_MCP_LOG_LEVEL": "info"
}
}
}
}
在 Cline 设置文件中:
{
"mcpServers": {
"genome-mcp": {
"command": "uvx",
"args": ["genome-mcp"],
"timeout": 30000
}
}
}
使用 stdio 传输:
import subprocess
import json
# 启动 MCP 服务器
process = subprocess.Popen(
["python", "-m", "genome_mcp"],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
text=True
)
# 发送初始化消息
init_message = {
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": {},
"clientInfo": {"name": "test-client", "version": "1.0.0"}
}
}
process.stdin.write(json.dumps(init_message) + "\n")
response = process.stdout.readline()
print("Server response:", response)
get_data - 智能数据获取
advanced_query - 高级批量查询
smart_search - 语义搜索
kegg_pathway_enrichment_tool - KEGG通路富集分析
import asyncio
from genome_mcp import get_data, advanced_query, smart_search
async def main():
# 获取基因信息
gene_info = await get_data("TP53")
print("Gene info:", gene_info)
# 区域搜索
region_data = await get_data("chr17:7565097-7590856", query_type="region")
print("Region data:", region_data)
# 批量查询
batch_results = await get_data(["TP53", "BRCA1", "EGFR"], query_type="gene")
print("Batch results:", batch_results)
# 语义搜索
search_results = await smart_search("tumor suppressor genes involved in cancer")
print("Search results:", search_results)
# 高级查询
advanced_results = await advanced_query(
query="cancer genes",
query_type="search",
database="gene",
max_results=20
)
print("Advanced results:", advanced_results)
# KEGG通路富集分析
kegg_results = await kegg_pathway_enrichment_tool(
gene_list=["7157", "672", "675"], # TP53, BRCA1, BRCA2的Entrez ID
organism="hsa",
pvalue_threshold=0.05,
min_gene_count=2
)
print("KEGG enrichment results:", kegg_results)
asyncio.run(main())
所有API响应都遵循统一的JSON格式包含 success``data 和 query_info 字段
示例响应
{
"success": true,
"data": {
"gene_info": {
"uid": "7157",
"name": "TP53",
"description": "tumor protein p53"
}
},
"query_info": {
"query": "TP53",
"query_type": "gene"
}
}
# 直接运行推荐
uvx genome-mcp
# 开发模式运行
uv run -m genome_mcp
# HTTP 服务器模式
uv run -m genome_mcp --port 8080
# 查看帮助
uv run -m genome_mcp --help
详细的版本更新记录请查看 CHANGELOG.md
详细的依赖信息和版本要求请查看 pyproject.toml
Python 版本要求>= 3.11
git clone https://github.com/gqy20/genome-mcp
cd genome-mcp
pip install -e ".[dev]"
make test
make lint
make install # 安装开发依赖
make format # 格式化代码
make lint # 代码质量检查
make test # 运行测试
make check # 完整检查
make build # 构建包
本项目采用 MIT License 开源许可证
2025 gqy20
欢迎提交 Issue 和 Pull Request
Genome MCP - 让基因组数据访问更简单更智能