GUO Zhaogong/fujitsu-sdt-mcp
Built by Metorial, the integration platform for agentic AI.
GUO Zhaogong/fujitsu-sdt-mcp
Server Summary
Run simulations
Retrieve simulation lists
Start new simulations
Compare simulation scenarios
Generate simulation configurations
Analyze simulation results
This project integrates Fujitsu's Social Digital Twin and Digital Rehearsal API with the Model Context Protocol (MCP), allowing Large Language Models (LLMs) to access Fujitsu's Digital Rehearsal API through natural language.
Fujitsu's Social Digital Twin recreates not only the state of people and objects in the digital space based on real-world data, but also entire economic and social activities. Its core function, "Digital Rehearsal," enables users to simulate human and social behavior in a digital space before implementing measures in the real world, allowing for advance verification of their effects and impacts.
This project uses MCP to bridge the gap between LLMs and the Digital Rehearsal API, enabling users to run simulations and analyze results using natural language.
To install Fujitsu Social Digital Twin Server for Claude Desktop automatically via Smithery:
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
Using uv (recommended):
First, install uv:
# Install uv using pip
pip install uv
# Or using curl (Linux/macOS)
curl -sSf https://astral.sh/uv/install.sh | sh
Then, set up your environment with uv:
# Create virtual environment
uv venv
# Activate virtual environment
# Windows:
.venv\Scripts\activate
# Unix/MacOS:
source .venv/bin/activate
# Install dependencies
uv pip install -r requirements.txt
Alternatively, you can use the provided setup script:
# Make the script executable
chmod +x setup.sh
# Run setup
./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
Alternatively, you can create a .env
file with the following settings:
FUJITSU_API_BASE_URL=https://apigateway.research.global.fujitsu.com/sdtp
FUJITSU_API_KEY=your_api_key_here
python -m fujitsu_sdt_mcp
The server communicates using standard I/O with MCP clients.
A simple client is also provided for direct interaction with the MCP server:
python client.py
When you start the client, a list of available resources and tools will be displayed, and you can call them from the command line.
To use the server with MCP-compatible LLM clients such as Claude Desktop:
"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
: Overview of Digital Rehearsal technologyresource://simulation_metrics_explanation
: Explanation of simulation metricsresource://scenario_examples
: Example scenarioslist_simulations
: Retrieve a list of simulationsstart_simulation
: Start a simulationget_simulation_result
: Retrieve simulation resultsget_metrics
: Retrieve simulation metricslist_simdata
: Retrieve a list of simulation dataget_simdata
: Retrieve simulation dataanalyze_traffic_simulation
: Analyze traffic simulationcompare_scenarios
: Compare scenarioscreate_natural_language_simulation_config
: Generate simulation settings from natural languagetool 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": "I want to run a traffic optimization simulation during morning rush hour in Tokyo"}
User: I want to run a traffic simulation during morning rush hour in Tokyo
Claude: I can help you run a traffic simulation for Tokyo's morning rush hour. Here's how we can set it up.
First, let's generate simulation settings from your natural language description:
[Tool execution: create_natural_language_simulation_config]
Generated settings:
{
"simulationType": "traffic",
"parameters": {
"region": "Tokyo",
"timeRange": "morning_rush"
},
"name": "traffic_20250416_123045"
}
Next, let's check available simulation data:
[Tool execution: list_simdata]
From this data, I can start a simulation using Tokyo's morning traffic data.
I've selected the appropriate simulation data ID and will start the simulation:
[Tool execution: start_simulation]
The simulation has started. The simulation ID is "sim_12345".
It will take some time for the results to be available. Once complete, I'll analyze them.
(After simulation completes)
Let's analyze the simulation results:
[Tool execution: analyze_traffic_simulation]
Analysis results:
- CO2 emissions: 1,250kg
- Average travel time: 42 minutes
- Total traffic volume: 15,700 vehicles
From these results, I can see that the Shibuya-Shinjuku route experiences particularly severe congestion.
Here are some potential improvements:
1. Optimize traffic signal control
2. Implement one-way traffic on certain roads during specific times
3. Increase public transportation frequency
Would you like to see a more detailed analysis?
Please report bugs or feature requests via GitHub Issues. Pull requests are welcome.
This project is released under the MIT License. See the LICENSE file for details.