Fujitsu Social Digital Twin MCP Server
The Fujitsu Social Digital Twin MCP Server enables interaction with Fujitsu's Social Digital Twin and Digital Rehearsal API via natural language through the Model Context Protocol (MCP). With this server, you can:
List, start, and manage traffic simulations and their datasets
Retrieve and analyze simulation results and metrics
Identify traffic patterns, bottlenecks, and optimization opportunities
Compare metrics between different simulation scenarios
Convert natural language descriptions into structured simulation configurations
Create and execute simulations based on specific use cases and uploaded files
Supports configuration through .env files for storing API credentials and endpoints for the Fujitsu API Gateway.
Integrates with Fujitsu's Social Digital Twin and Digital Rehearsal API, enabling simulation management, results analysis, traffic simulation analysis, scenario comparison, and natural language generation of simulation configurations.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Fujitsu Social Digital Twin MCP Server run a traffic simulation for downtown Tokyo during rush hour"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Fujitsu Social Digital Twin MCP Server
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.
Overview
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.
Related MCP server: ILP Drone Delivery MCP Server
Key Features
Retrieve and display simulation lists
Start simulations
Retrieve and analyze simulation results
Manage simulation data
Analyze traffic simulations
Compare scenarios
Generate simulation configurations from natural language
Prerequisites
Python 3.13 or higher
Access to Fujitsu API Gateway (API Key)
MCP-compatible LLM client (e.g., Claude Desktop)
Installation
Installing via Smithery
To install Fujitsu Social Digital Twin Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @3a3/fujitsu-sdt-mcp --client claude1. Clone the Repository
git clone https://github.com/3a3/fujitsu-sdt-mcp.git
cd fujitsu-sdt-mcp2. Set Up Environment
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 | shThen, 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.txtAlternatively, you can use the provided setup script:
# Make the script executable
chmod +x setup.sh
# Run setup
./setup.sh3. Set Environment Variables
# 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_hereAlternatively, 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_hereUsage
Starting the MCP Server
python -m fujitsu_sdt_mcpThe server communicates using standard I/O with MCP clients.
Using the Interactive Client
A simple client is also provided for direct interaction with the MCP server:
python client.pyWhen you start the client, a list of available resources and tools will be displayed, and you can call them from the command line.
Setup with Claude Desktop
To use the server with MCP-compatible LLM clients such as Claude Desktop:
Open Claude Desktop
Go to Settings > Developer Settings > Edit Config File
Add the following settings:
"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"
}Restart Claude Desktop
Resources and Tools
Resources
resource://digital_rehearsal_overview: Overview of Digital Rehearsal technologyresource://simulation_metrics_explanation: Explanation of simulation metricsresource://scenario_examples: Example scenarios
Tools
list_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 language
Usage Examples
Retrieving a List of Simulations
tool list_simulationsStarting a Simulation
tool start_simulation {"simdataId": "your_simdata_id"}Analyzing Traffic Simulation
tool analyze_traffic_simulation {"simulationId": "your_simulation_id", "region": "Tokyo", "timeRange": "morning rush hour", "scenario": "traffic optimization"}Generating Simulation Settings from Natural Language
tool create_natural_language_simulation_config {"description": "I want to run a traffic optimization simulation during morning rush hour in Tokyo"}Example LLM Interaction
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?Contributing
Please report bugs or feature requests via GitHub Issues. Pull requests are welcome.
License
This project is released under the MIT License. See the LICENSE file for details.
Acknowledgments
Fujitsu Corporation - Development of Social Digital Twin technology
Model Context Protocol (MCP) - Enabling seamless integration with LLMs
Available Tools
10 toolsanalyze_traffic_simulationC
Conducts comprehensive analysis on simulation results, providing insights on traffic patterns, bottlenecks, and optimization opportunities for the specified parameters.
Inputs: simulation_id (required), region, scenario, time_range, +1 more.
compare_scenariosB
Performs detailed comparative analysis between two simulation scenarios, highlighting differences in traffic flow, emissions, travel times, and other key metrics.
Inputs: simulation_id1 (required), simulation_id2 (required), scenario1_name, scenario2_name, +1 more.
create_natural_language_simulation_configC
Converts a natural language description into a structured simulation configuration, interpreting user requirements into technical parameters for traffic simulation.
Inputs: description (required), ctx.
create_simulation_from_usecaseC
指定されたユースケースとアップロードされたファイルからシミュレーションを作成・実行します。
Inputs: usecase (required), uploaded_files (required), simulation_params (required), ctx.
get_metricsC
Retrieves comprehensive metrics and analytics data from a completed simulation, including travel statistics, emissions data, and traffic flow information.
Inputs: simulation_id (required), ctx.
get_simdataC
Retrieves the complete configuration and parameter set for a specific simulation dataset, including region settings, time ranges, and scenario parameters.
Inputs: simdata_id (required), ctx.
get_simulation_resultB
Retrieves the complete results and output files from a finished traffic simulation, including simulation status and generated result files.
Inputs: simulation_id (required), ctx.
list_simdataC
Returns a complete list of all simulation datasets available in the system, which can be used as inputs for running new simulations.
Inputs: ctx.
list_simulationsC
Returns a comprehensive list of all traffic simulations in the system, including their IDs, names, status, and execution timeframes.
Inputs: ctx.
start_simulationB
Launches a new traffic simulation using the provided simulation dataset configuration, returning the simulation ID and initial status.
Inputs: simdata_id (required), ctx.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Most tools have clearly distinct purposes, with clear separation between listing resources, launching simulations, retrieving results, and analyzing scenarios. There is some potential overlap between get_simulation_result, get_metrics, and analyze_traffic_simulation, and between start_simulation and create_simulation_from_usecase, but the descriptions are sufficiently different to guide correct use.
Tool names consistently use a verb_noun pattern, with familiar prefixes like list_, get_, create_, start_, analyze_, and compare_. Minor inconsistencies exist, such as the abbreviated simdata instead of simulation_data and the use of both start_ and create_ for launching simulation workflows.
Ten tools is a well-scoped number for a traffic simulation digital twin server. The set covers dataset discovery, simulation configuration, execution, result retrieval, metrics, and analysis without feeling bloated or redundant.
The tool set covers the core simulation lifecycle well: browse datasets, get dataset details, create configs, start simulations, retrieve results, analyze metrics, and compare scenarios. Obvious lifecycle gaps such as stopping, cancelling, or deleting simulations are not covered, but these are not critical for the primary workflows.
Maintenance
Related MCP Connectors
Connect AI agents to SocioLogic's synthetic persona platform for market research.
Plan, run and inspect AI-agent drills with synthetic users, hosted tools and cloud worlds.
Build and run team decision simulations for training and assessment from a chat description.
Build, validate, and deploy multi-agent AI solutions from any AI environment.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables LLM-based agents to interact with FHIR healthcare data through natural language prompts, providing full CRUD operations on FHIR resources, document processing, and semantic search capabilities.13102MIT
- AlicenseAqualityDmaintenanceEnables Large Language Models to interact with the ILP Drone Delivery System to plan deliveries, check drone availability, and generate route visualizations. It allows users to manage logistics tasks like capacity planning and temperature requirement matching through natural language.6MIT
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to search and retrieve Japanese real estate data through unified access to the MLIT Real Estate Information Library API, supporting over 25 geospatial datasets for interactive queries.191MIT
- AlicenseAqualityCmaintenanceEnables LLMs and AI agents to interact with AFSIM through standardized MCP tools for scenario management, entity/component control, simulation execution, and results analysis.63729MIT