Fujitsu Social Digital Twin MCP Server

by 3a3
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • 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.

Servidor MCP Fujitsu Social Digital Twin

Este proyecto integra el gemelo digital social y la API de ensayo digital de Fujitsu con el protocolo de contexto de modelo (MCP) , lo que permite que los modelos de lenguaje grande (LLM) accedan a la API de ensayo digital de Fujitsu a través del lenguaje natural.

Descripción general

El Gemelo Digital Social de Fujitsu recrea no solo el estado de personas y objetos en el espacio digital, basándose en datos del mundo real, sino también actividades económicas y sociales completas. Su función principal, "Ensayo Digital", permite a los usuarios simular el comportamiento humano y social en un espacio digital antes de implementar medidas en el mundo real, lo que permite verificar con antelación sus efectos e impactos.

Este proyecto utiliza MCP para cerrar la brecha entre los LLM y la API de ensayo digital, lo que permite a los usuarios ejecutar simulaciones y analizar resultados utilizando lenguaje natural.

Características principales

  • Recuperar y mostrar listas de simulación
  • Iniciar simulaciones
  • Recuperar y analizar resultados de simulación
  • Gestionar datos de simulación
  • Analizar simulaciones de tráfico
  • Comparar escenarios
  • Generar configuraciones de simulación a partir del lenguaje natural

Prerrequisitos

  • Python 3.13 o superior
  • Acceso a Fujitsu API Gateway (clave API)
  • Cliente LLM compatible con MCP (por ejemplo, Claude Desktop)

Instalación

Instalación mediante herrería

Para instalar Fujitsu Social Digital Twin Server para Claude Desktop automáticamente a través de Smithery :

npx -y @smithery/cli install @3a3/fujitsu-sdt-mcp --client claude

1. Clonar el repositorio

git clone https://github.com/3a3/fujitsu-sdt-mcp.git cd fujitsu-sdt-mcp

2. Configurar el entorno

Uso de uv (recomendado) :

Primero, instala uv:

# Install uv using pip pip install uv # Or using curl (Linux/macOS) curl -sSf https://astral.sh/uv/install.sh | sh

Luego, configura tu entorno con 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

Alternativamente, puede utilizar el script de configuración proporcionado:

# Make the script executable chmod +x setup.sh # Run setup ./setup.sh

3. Establecer variables de entorno

# 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

Alternativamente, puede crear un archivo .env con la siguiente configuración:

FUJITSU_API_BASE_URL=https://apigateway.research.global.fujitsu.com/sdtp FUJITSU_API_KEY=your_api_key_here

Uso

Iniciando el servidor MCP

python -m fujitsu_sdt_mcp

El servidor se comunica mediante E/S estándar con los clientes MCP.

Uso del cliente interactivo

También se proporciona un cliente simple para la interacción directa con el servidor MCP:

python client.py

Al iniciar el cliente, se mostrará una lista de recursos y herramientas disponibles, y podrá llamarlos desde la línea de comandos.

Configuración con Claude Desktop

Para utilizar el servidor con clientes LLM compatibles con MCP, como Claude Desktop:

  1. Abra Claude Desktop
  2. Vaya a Configuración > Configuración de desarrollador > Editar archivo de configuración
  3. Añade las siguientes configuraciones:
"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" }
  1. Reiniciar Claude Desktop

Recursos y herramientas

Recursos

  • resource://digital_rehearsal_overview : Descripción general de la tecnología de ensayo digital
  • resource://simulation_metrics_explanation : Explicación de las métricas de simulación
  • resource://scenario_examples : Escenarios de ejemplo

Herramientas

  • list_simulations : Recuperar una lista de simulaciones
  • start_simulation : Iniciar una simulación
  • get_simulation_result : Recuperar resultados de simulación
  • get_metrics : recupera métricas de simulación
  • list_simdata : recupera una lista de datos de simulación
  • get_simdata : Recuperar datos de simulación
  • analyze_traffic_simulation : Analizar la simulación de tráfico
  • compare_scenarios : Comparar escenarios
  • create_natural_language_simulation_config : Generar configuraciones de simulación a partir del lenguaje natural

Ejemplos de uso

Recuperación de una lista de simulaciones

tool list_simulations

Iniciar una simulación

tool start_simulation {"simdataId": "your_simdata_id"}

Análisis de la simulación de tráfico

tool analyze_traffic_simulation {"simulationId": "your_simulation_id", "region": "Tokyo", "timeRange": "morning rush hour", "scenario": "traffic optimization"}

Generación de configuraciones de simulación a partir del lenguaje natural

tool create_natural_language_simulation_config {"description": "I want to run a traffic optimization simulation during morning rush hour in Tokyo"}

Ejemplo de interacción LLM

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?

Contribuyendo

Por favor, reporte errores o solicitudes de funcionalidad a través de GitHub Issues. Las solicitudes de incorporación de cambios son bienvenidas.

Licencia

Este proyecto se publica bajo la licencia MIT. Consulte el archivo de licencia para obtener más información.

Expresiones de gratitud

  • Fujitsu Corporation - Desarrollo de la tecnología de Gemelo Digital Social
  • Protocolo de contexto de modelo (MCP): permite una integración perfecta con los LLM
ID: jdmhdohe0v