Skip to main content
Glama
3a3

Fujitsu Social Digital Twin MCP Server

by 3a3

富士通社交数字孪生 MCP 服务器

铁匠徽章

该项目将富士通的社交数字孪生和数字排练 API模型上下文协议 (MCP)相集成,允许大型语言模型 (LLM) 通过自然语言访问富士通的数字排练 API。

概述

富士通的“社会数字孪生”不仅能够基于现实世界的数据,在数字空间中重现人和物体的状态,还能重现整个经济和社会活动。其核心功能“数字演练”使用户能够在现实世界采取措施之前,在数字空间中模拟人类和社会行为,从而提前验证其效果和影响。

该项目使用 MCP 来弥合 LLM 和数字排演 API 之间的差距,使用户能够运行模拟并使用自然语言分析结果。

Related MCP server: MLIT Data Platform MCP Server

主要特点

  • 检索并显示模拟列表

  • 开始模拟

  • 检索和分析模拟结果

  • 管理模拟数据

  • 分析交通模拟

  • 比较场景

  • 从自然语言生成模拟配置

先决条件

  • Python 3.13 或更高版本

  • 访问富士通 API 网关(API 密钥)

  • MCP 兼容的 LLM 客户端(例如 Claude Desktop)

安装

通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 Fujitsu Social Digital Twin Server:

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

1.克隆存储库

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

2. 设置环境

使用 uv (推荐)

首先,安装uv:

# Install uv using pip
pip install uv

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

然后,使用 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

或者,您可以使用提供的安装脚本:

# Make the script executable
chmod +x setup.sh

# Run setup
./setup.sh

3.设置环境变量

# 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

用法

启动 MCP 服务器

python -m fujitsu_sdt_mcp

服务器使用标准 I/O 与 MCP 客户端进行通信。

使用交互式客户端

还提供了一个简单的客户端,用于与 MCP 服务器直接交互:

python client.py

当您启动客户端时,将显示可用资源和工具的列表,您可以从命令行调用它们。

使用 Claude Desktop 进行设置

要将服务器与 MCP 兼容的 LLM 客户端(例如 Claude Desktop)一起使用:

  1. 打开 Claude 桌面

  2. 前往“设置”>“开发者设置”>“编辑配置文件”

  3. 添加以下设置:

"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. 重启Claude桌面

资源和工具

资源

  • 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": "I want to run a traffic optimization simulation during morning rush hour in Tokyo"}

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?

贡献

请通过 GitHub Issues 报告错误或功能请求。欢迎提交 Pull 请求。

执照

本项目遵循 MIT 许可证发布。详情请参阅许可证文件。

致谢

  • 富士通公司 - 社交数字孪生技术的发展

  • 模型上下文协议 (MCP) - 实现与 LLM 的无缝集成

Available Tools

10 tools
analyze_traffic_simulationC

Conducts comprehensive analysis on simulation results, providing insights on traffic patterns, bottlenecks, and optimization opportunities for the specified parameters.

ParametersJSON Schema
NameRequiredDescriptionDefault
simulation_idYes
regionNounknown
scenarioNounknown
time_rangeNounknown
ctxNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. It states 'Conducts comprehensive analysis' which implies a read operation, but does not explicitly confirm read-only, destructive potential, authentication needs, or rate limits. The impact on simulation data is unclear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded with the action, but it is vague (e.g., 'comprehensive analysis'). It could be more concise while adding useful detail about parameters or output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters, no annotations, no output schema, and moderate complexity, the description is insufficient. It does not explain what analysis is performed, how results are returned, or how parameters affect the analysis.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning the input schema provides only titles and defaults. The description adds no parameter-specific meaning; it only generically refers to 'specified parameters'. Parameters like region, scenario, and time_range remain unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool conducts comprehensive analysis on simulation results, providing insights on traffic patterns, bottlenecks, and optimization opportunities. This verb+resource structure is specific and distinguishes it from sibling tools like get_metrics or get_simulation_result.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no guidance on when to use this tool versus alternatives, nor does it specify when not to use it or mention prerequisites. Sibling tools exist (e.g., compare_scenarios, get_metrics), but no differentiation advice is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_scenariosB

Performs detailed comparative analysis between two simulation scenarios, highlighting differences in traffic flow, emissions, travel times, and other key metrics.

ParametersJSON Schema
NameRequiredDescriptionDefault
simulation_id1Yes
simulation_id2Yes
scenario1_nameNoScenario 1
scenario2_nameNoScenario 2
ctxNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full burden for behavioral disclosure. It implies a read-only analysis operation, which is adequate, but does not disclose whether it has side effects, performance implications, or authorization requirements beyond what can be inferred.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 18 words, front-loading the key action and outcome. Every word contributes to the purpose, with no repetition or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters, no output schema, and no annotations, the description is too brief. It does not explain the output format, interpretation of differences, constraints on input scenarios (e.g., same simulation or not), or error conditions, leaving significant gaps for agent understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no meaning to the 5 parameters beyond what the input schema already provides (titles, types, defaults). Since schema description coverage is 0%, the description fails to compensate by explaining parameter roles, format, or relationships.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: performing comparative analysis between two simulation scenarios, and lists specific metrics (traffic flow, emissions, travel times). The verb 'compare' and resource 'simulation scenarios' are specific and distinguish it from siblings like 'analyze_traffic_simulation' which focuses on a single simulation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'analyze_traffic_simulation' or 'get_simulation_result'. There are no prerequisites, exclusion criteria, or context about when comparison is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_natural_language_simulation_configC

Converts a natural language description into a structured simulation configuration, interpreting user requirements into technical parameters for traffic simulation.

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionYes
ctxNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description only says 'converts' and 'interprets' without disclosing side effects, persistence, or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence that front-loads the purpose with no fluff, though it could be slightly more compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Does not describe return value or output format; with no output schema and many sibling tools, more context is needed for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% description coverage, and the tool description adds no detail about what the 'description' string should contain or the role of 'ctx'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it converts natural language to structured simulation config, distinguishing from sibling tools that might use different input formats.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives like create_simulation_from_usecase, nor any prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_simulation_from_usecaseC

指定されたユースケースとアップロードされたファイルからシミュレーションを作成・実行します。

ParametersJSON Schema
NameRequiredDescriptionDefault
usecaseYes
uploaded_filesYes
simulation_paramsYes
ctxNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It states the tool 'creates and executes,' implying a mutating action, but fails to disclose any side effects, authorization needs, or performance characteristics. The behavioral impact beyond the obvious is opaque.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that directly states the tool's function. It is concise with no extraneous words. However, the brevity sacrifices necessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (4 parameters, nested objects, no output schema, no annotations), the description is severely insufficient. It does not explain return values, parameter relationships, or how to handle the uploaded_files object, leaving major gaps for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description only generically mentions 'usecase' and 'uploaded_files' without explaining their format, constraints, or relationship. The simulation_params parameter is entirely omitted, and the schema provides no descriptions (0% coverage), leaving the agent guessing about parameter usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates and executes a simulation from a specified use case and uploaded files. It distinguishes itself from siblings like start_simulation by specifying the input source. However, it does not mention the simulation_params parameter, which is a key input, slightly reducing clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like create_natural_language_simulation_config or start_simulation. There are no prerequisites, exclusions, or context hints for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_metricsC

Retrieves comprehensive metrics and analytics data from a completed simulation, including travel statistics, emissions data, and traffic flow information.

ParametersJSON Schema
NameRequiredDescriptionDefault
simulation_idYes
ctxNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only states the tool retrieves data. It does not disclose behavioral traits like whether the operation is read-only, has side effects, requires specific permissions, or any rate limits. For a data retrieval tool, at minimum a read-only hint is expected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the core purpose. It could be improved by adding more detail without becoming verbose, but as it stands it is efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, no annotations, and 0% parameter coverage, the description is too minimal. It does not specify the exact metrics returned, any constraints on the simulation state, or how to interpret the output. A more complete description would include expected return format or examples.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description adds no explanation for the two parameters. The required 'simulation_id' parameter is not described at all, and the optional 'ctx' parameter is only defined in the schema's $defs. The description fails to add meaning beyond the schema's basic type information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves comprehensive metrics from completed simulations, listing specific data types (travel statistics, emissions, traffic flow). This distinguishes it from siblings like 'list_simulations' or 'start_simulation', though it does not explicitly contrast with similar data-retrieval tools like 'get_simdata'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as 'analyze_traffic_simulation' or 'get_simulation_result'. The description gives no hints about prerequisites, whether the simulation must be completed, or what distinguishes this from sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_simdataC

Retrieves the complete configuration and parameter set for a specific simulation dataset, including region settings, time ranges, and scenario parameters.

ParametersJSON Schema
NameRequiredDescriptionDefault
simdata_idYes
ctxNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It states 'retrieves' indicating a read operation, but does not disclose side effects, error behavior, authentication needs, or what happens if the simdata_id does not exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, concise and to the point. It avoids verbosity, but could be structured to include more details without being wordy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the tool is simple (single required parameter), the description lacks information about the output format. There is no output schema, so the description should describe what is returned. It mentions contents but not structure. Adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%. The description does not explain the parameters (simdata_id and ctx). It mentions 'region settings, time ranges, scenario parameters' but these are not parameters of the tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves the complete configuration and parameter set for a simulation dataset. It lists example contents (region settings, time ranges, scenario parameters). However, it does not explicitly distinguish from sibling tools like list_simdata or get_simulation_result.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. There is no mention of when not to use it, prerequisites, or context. The usage is only implied by the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_simulation_resultB

Retrieves the complete results and output files from a finished traffic simulation, including simulation status and generated result files.

ParametersJSON Schema
NameRequiredDescriptionDefault
simulation_idYes
ctxNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description only states it retrieves results, but does not disclose read-only nature, blocking behavior, or what happens if simulation is not finished. Minimal behavioral context beyond the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence of 16 words, efficient and front-loaded. No wasted words, but could benefit from slight restructuring to mention prerequisites or return type.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers main purpose but omits return format, error conditions, prerequisites (simulation must be finished), and relationships to sibling tools. Adequate but with clear gaps for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% description coverage, and the description does not explain any parameter meaning. The required 'simulation_id' is not described (e.g., how to obtain it, format), and 'ctx' is not addressed. No value added beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool retrieves results and output files from a finished simulation, using specific verb 'retrieves' and resource 'complete results and output files'. It distinguishes from siblings like get_metrics and get_simdata by focusing on finished simulations and including status and files.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage only after simulation is finished ('from a finished traffic simulation'), but provides no explicit when-to-use vs alternatives or when-not-to-use. No mention of sibling tools or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_simdataC

Returns a complete list of all simulation datasets available in the system, which can be used as inputs for running new simulations.

ParametersJSON Schema
NameRequiredDescriptionDefault
ctxNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool returns data but does not specify if it is read-only, requires special permissions, or has any side effects. Limited transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that efficiently conveys the core functionality. It is concise without being overly terse, though it could be slightly more structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool, the description adequately states the return value. However, given the number of sibling tools, more context on what distinguishes this from similar list operations would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter ('ctx') is optional and has no description in the schema (coverage 0%). The tool description does not mention or explain this parameter, leaving the agent without guidance on how to use it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Returns a complete list') and the resource ('simulation datasets'), and the phrase 'available in the system' distinguishes it from sibling tools like list_simulations which list simulations, not datasets. It is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus its siblings (e.g., list_simulations, get_simdata). It does not mention any prerequisites or conditions for usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_simulationsC

Returns a comprehensive list of all traffic simulations in the system, including their IDs, names, status, and execution timeframes.

ParametersJSON Schema
NameRequiredDescriptionDefault
ctxNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose all behavioral traits. It only describes the return content and lacks details on pagination, ordering, rate limits, or whether it returns active/inactive simulations. This is insufficient for an agent to understand its full behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded with the main action and return fields. It is concise, but could be slightly more informative without being wordy. No wasted space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and a single parameter (ctx), the description lacks completeness. It does not mention if results are paginated, sorted, or how to handle large lists. The agent would need to infer behavior, which is risky.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter (ctx) with no description at the property level (schema description coverage is 0%). The tool description does not explain the parameter's purpose or usage, though the schema's nested definition provides context. The description adds no value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns a comprehensive list of all traffic simulations with specific fields (IDs, names, status, execution timeframes). This distinguishes it from sibling tools like 'list_simdata' which lists simulation data, not simulations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions it returns 'all' simulations but gives no guidance on when to use this tool vs alternatives. It does not explain when not to use it, prerequisites, or context. Sibling tools exist for more specific queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_simulationB

Launches a new traffic simulation using the provided simulation dataset configuration, returning the simulation ID and initial status.

ParametersJSON Schema
NameRequiredDescriptionDefault
simdata_idYes
ctxNo

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully convey behavioral traits. It discloses that the tool returns an ID and status, but does not mention side effects (e.g., asynchronous nature, resource consumption, failure modes), permissions needed, or whether the simulation runs in the background. This is insufficient for an agent to understand the full impact.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence of 18 words, front-loading the action and result. It contains no redundant information and is efficiently structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool launches a simulation (a potentially long-running and state-changing operation), the description lacks critical details: synchronous vs. asynchronous, error handling, required preconditions (e.g., simdata_id must be valid), and return value structure. The absence of an output schema further burdens the description, making it incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must clarify parameters. It implies simdata_id is the 'simulation dataset configuration', adding context beyond the schema's type-only definition. However, the 'ctx' parameter is not explained at all, and its purpose (optional context) is unclear from the description. Partial compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool launches a new traffic simulation, specifying the action (launches), resource (new traffic simulation), and output (simulation ID and initial status). It effectively distinguishes from sibling tools like analyze or compare, as this is the initialization step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used when you have a simulation dataset configuration (simdata_id) and want to start a simulation, but it lacks explicit guidance on when to use it versus alternatives, such as create_simulation_from_usecase (which also creates simulations). No warnings or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updatesv1.0.0
    • First observedanalyze_traffic_simulation
    • First observedcompare_scenarios
    • First observedcreate_natural_language_simulation_config
    • First observedcreate_simulation_from_usecase
    • First observedget_metrics
    • First observedget_simdata
    • First observedget_simulation_result
    • First observedlist_simdata
    • First observedlist_simulations
    • First observedstart_simulation

TDQS

B3.1/5.0

Scored across 10 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables 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.
    13
    98
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables natural language search and retrieval of data from Japan's Ministry of Land, Infrastructure, Transport and Tourism (MLIT) Data Platform, including location-based queries, attribute filtering, and data visualization capabilities.
    18
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables 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.
    6
    -