本项目集成了富士通的社会数字孪生和数字排练API与模型上下文协议(MCP),允许大型语言模型(LLMs)通过自然语言访问富士通的数字排练API。
<a href="https://glama.ai/mcp/servers/@3a3/fujitsu-sdt-mcp"> <img width="380" height="200" src="https://gips2.baidu.com/it/u=1216043788,465773471&fm=3081&app=3081&f=PNG?w=760&h=400" alt="富士通社会数字孪生服务器MCP服务器" /> </a>富士通的社会数字孪生不仅基于现实世界的数据在数字空间中重现人和物体的状态,还重现了整个经济和社会活动。其核心功能“数字排练”使用户能够在实际实施措施之前,在数字空间中模拟人类和社会行为,从而提前验证其效果和影响。
本项目利用MCP弥合了LLMs与数字排练API之间的差距,使用户能够使用自然语言运行模拟并分析结果。
要通过Smithery自动安装用于Claude桌面版的富士通社会数字孪生服务器:
npx -y @smithery/cli install @3a3/fujitsu-sdt-mcp --client claude
git clone https://github.com/3a3/fujitsu-sdt-mcp.git
cd fujitsu-sdt-mcp
使用uv(推荐):
首先,安装uv:
# 使用pip安装uv
pip install uv
# 或者使用curl(Linux/macOS)
curl -sSf https://astral.sh/uv/install.sh | sh
然后,使用uv设置您的环境:
# 创建虚拟环境
uv venv
# 激活虚拟环境
# Windows:
.venv\Scripts\activate
# Unix/MacOS:
source .venv/bin/activate
# 安装依赖项
uv pip install -r requirements.txt
或者,您可以使用提供的设置脚本:
# 将脚本设为可执行
chmod +x setup.sh
# 运行设置
./setup.sh
# Windows:
set FUJITSU_API_BASE_URL=https://apigateway.research.global.fujitsu.com/sdtp
set FUJITSU_API_KEY=your_api_key_here
# Unix/MacOS:
export FUJITSU_API_BASE_URL=https://apigateway.research.global.fujitsu.com/sdtp
export FUJITSU_API_KEY=your_api_key_here
或者,您可以在.env文件中添加以下设置:
FUJITSU_API_BASE_URL=https://apigateway.research.global.fujitsu.com/sdtp
FUJITSU_API_KEY=your_api_key_here
python -m fujitsu_sdt_mcp
服务器通过标准I/O与MCP客户端通信。
提供了一个简单的客户端,可以直接与MCP服务器进行交互:
python client.py
启动客户端后,会显示可用资源和工具列表,您可以通过命令行调用它们。
要使用支持MCP的LLM客户端(如Claude桌面版):
"command": "uvx",
"args": [
"fujitsu-sdt-mcp"
],
"env": {
"FUJITSU_API_BASE_URL": "https://apigateway.research.global.fujitsu.com/sdtp",
"FUJITSU_API_KEY": "your_api_key_here"
}
resource://digital_rehearsal_overview: 数字排练技术概述resource://simulation_metrics_explanation: 模拟指标解释resource://scenario_examples: 场景示例list_simulations: 获取模拟列表start_simulation: 启动模拟get_simulation_result: 获取模拟结果get_metrics: 获取模拟指标list_simdata: 获取模拟数据列表get_simdata: 获取模拟数据analyze_traffic_simulation: 分析交通模拟compare_scenarios: 对比场景create_natural_language_simulation_config: 从自然语言生成模拟配置tool list_simulations
tool start_simulation {"simdataId": "your_simdata_id"}
tool analyze_traffic_simulation {"simulationId": "your_simulation_id", "region": "Tokyo", "timeRange": "morning rush hour", "scenario": "traffic optimization"}
tool create_natural_language_simulation_config {"description": "我想在东京早高峰期间运行一个交通优化模拟"}
用户:我想在东京早高峰期间运行一个交通模拟
Claude:我可以帮助您在东京早高峰期间运行一个交通模拟。这里是如何设置它的步骤。
首先,让我们根据您的自然语言描述生成模拟设置:
[工具执行:create_natural_language_simulation_config]
生成的设置:
{
"simulationType": "traffic",
"parameters": {
"region": "Tokyo",
"timeRange": "morning_rush"
},
"name": "traffic_20250416_123045"
}
接下来,我们检查可用的模拟数据:
[工具执行:list_simdata]
从这些数据中,我可以使用东京早高峰的交通数据开始模拟。
我选择了适当的模拟数据ID,并将开始模拟:
[工具执行:start_simulation]
模拟已开始。模拟ID是"sim_12345"。
需要一些时间才能获得结果。一旦完成,我会对其进行分析。
(模拟完成后)
让我们分析模拟结果:
[工具执行:analyze_traffic_simulation]
分析结果:
- CO2排放量:1,250千克
- 平均旅行时间:42分钟
- 总交通量:15,700辆
从这些结果来看,涩谷-新宿路线特别拥堵。
这里有一些可能的改进措施:
1. 优化交通信号控制
2. 在特定时间段内对某些道路实行单向通行
3. 提高公共交通频率
您想看到更详细的分析吗?
请通过GitHub问题报告错误或功能请求。欢迎提交拉取请求。
本项目发布在MIT许可证下。详情见LICENSE文件。