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.
Related MCP server: Lark MCP Server
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 claude1. Clonar el repositorio
git clone https://github.com/3a3/fujitsu-sdt-mcp.git
cd fujitsu-sdt-mcp2. 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 | shLuego, 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.txtAlternativamente, puede utilizar el script de configuración proporcionado:
# Make the script executable
chmod +x setup.sh
# Run setup
./setup.sh3. 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_hereAlternativamente, 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_hereUso
Iniciando el servidor MCP
python -m fujitsu_sdt_mcpEl 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.pyAl 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:
Abra Claude Desktop
Vaya a Configuración > Configuración de desarrollador > Editar archivo de configuración
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"
}Reiniciar Claude Desktop
Recursos y herramientas
Recursos
resource://digital_rehearsal_overview: Descripción general de la tecnología de ensayo digitalresource://simulation_metrics_explanation: Explicación de las métricas de simulaciónresource://scenario_examples: Escenarios de ejemplo
Herramientas
list_simulations: Recuperar una lista de simulacionesstart_simulation: Iniciar una simulaciónget_simulation_result: Recuperar resultados de simulaciónget_metrics: recupera métricas de simulaciónlist_simdata: recupera una lista de datos de simulaciónget_simdata: Recuperar datos de simulaciónanalyze_traffic_simulation: Analizar la simulación de tráficocompare_scenarios: Comparar escenarioscreate_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_simulationsIniciar 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
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.