Kappybara MCP服务器
用于使用Kappybara包运行Kappa模拟的MCP(模型上下文协议)服务器。这允许LLM直接运行基于规则的分子相互作用系统模拟。
使用的Python包:
特性
- 运行Kappa模拟:使用kappybara执行具有可定制参数的Kappa模型
- csv输出:将模拟结果作为CSV数据获取,以便于分析
- 示例模型:内置示例模型(可逆结合、线性聚合)
- 纯Python:将kappybara Python库用于所有模拟
安装
- 克隆或下载此存储库
- 安装依赖项:
pip install -r requirements.txt用法
运行MCP服务器
fastmcp run main.py与Claude Desktop一起使用
fastmcp install claude-desktop main.py可用工具
run_kappa_simulation
运行Kappa模拟,并使用stdout、stderr和CSV输出返回结果。
参数:
kappa_code(string,必填):用于模拟的Kappa模型代码time_limit(浮动,默认值:100.0):最大模拟时间points(int,默认值:200):要收集的数据点数seed(int,可选):随机种子用于再现
退货: 包含三个字段的JSON字符串:
stdout:模拟的标准输出stderr:标准错误输出(警告、错误)output:带有模拟结果的CSV数据
例子:
kappa_code = """
%init: 100 A(x[.])
%init: 100 B(x[.])
%obs: 'AB' |A(x[1]), B(x[1])|
A(x[.]), B(x[.]) A(x[1]), B(x[1]) @ 1, 1
"""
result = run_kappa_simulation(kappa_code, time_limit=50, points=100)
# Result is a JSON string like:
# {
# "stdout": "",
# "stderr": "",
# "output": "time,AB\n0.0,0\n0.01,1\n..."
# }可用资源
kappa://examples/simple
一个简单的可逆绑定模型(kappybara语法)。
kappa://examples/polymerization
线性聚合模型(kappybara语法)。
Kappa语言基础(Kappybara语法)
Kappybara对Kappa模型使用特定的语法。这里有一个快速参考:
基本语法
%init: 100 AgentName(site1[.], site2[state]) # Initialize agents
%obs: 'Observable' |pattern| # Define observable
pattern -> pattern @ rate # Define rule (irreversible)
pattern pattern @ rate1, rate2 # Define rule (reversible)结合位点
[.]-未绑定站点[1],[2]等等。-结合位点(结合标签)[_]-任何绑定状态的通配符
示例:可逆绑定
%init: 100 A(x[.])
%init: 100 B(x[.])
%obs: 'A_free' |A(x[.])|
%obs: 'B_free' |B(x[.])|
%obs: 'AB_complex' |A(x[1]), B(x[1])|
// Reversible binding with forward rate 0.001 and reverse rate 0.1
A(x[.]), B(x[.]) A(x[1]), B(x[1]) @ 0.001, 0.1发展
项目结构
kappybara-mcp/
├── main.py # MCP server implementation
├── requirements.txt # Python dependencies
├── README.md # This file
└── test_example.py # Example test/demo script测试
运行测试示例:
python test_example.py运作原理
- MCP服务器通过模型上下文协议公开Kappa仿真功能
- LLMs可以致电
run_kappa_simulation带有Kappa代码(使用kappybara语法)和参数的工具 - 服务器使用Kappybara Python库来解析模型并运行模拟
- 结果以JSON格式返回,带有stdout、stderr和CSV输出,可以进行分析或可视化
参考文献
许可证
麻省理工学院
