Skip to main content
Glama
3a3

Fujitsu Social Digital Twin MCP Server

by 3a3

후지쯔 소셜 디지털 트윈 MCP 서버

대장간 배지

이 프로젝트에서는 Fujitsu의 Social Digital Twin과 Digital Rehearsal API를 Model Context Protocol(MCP) 과 통합하여 대규모 언어 모델(LLM)이 자연어를 통해 Fujitsu의 Digital Rehearsal API에 액세스할 수 있도록 합니다.

개요

후지쯔의 소셜 디지털 트윈은 현실 세계 데이터를 기반으로 디지털 공간에서 사람과 사물의 상태뿐만 아니라 경제 및 사회 활동 전반을 재현합니다. 핵심 기능인 "디지털 리허설"을 통해 사용자는 현실 세계에 조치를 적용하기 전에 디지털 공간에서 인간 및 사회적 행동을 시뮬레이션하여 그 효과와 영향을 사전에 검증할 수 있습니다.

이 프로젝트에서는 MCP를 사용하여 LLM과 Digital Rehearsal API 간의 격차를 해소하고, 사용자가 자연어를 사용하여 시뮬레이션을 실행하고 결과를 분석할 수 있도록 합니다.

Related MCP server: MLIT Data Platform MCP Server

주요 특징

  • 시뮬레이션 목록 검색 및 표시

  • 시뮬레이션 시작

  • 시뮬레이션 결과 검색 및 분석

  • 시뮬레이션 데이터 관리

  • 교통 시뮬레이션 분석

  • 시나리오 비교

  • 자연어에서 시뮬레이션 구성 생성

필수 조건

  • Python 3.13 이상

  • Fujitsu API Gateway(API 키)에 대한 액세스

  • MCP 호환 LLM 클라이언트(예: Claude Desktop)

설치

Smithery를 통해 설치

Smithery를 통해 Claude Desktop용 Fujitsu Social Digital Twin Server를 자동으로 설치하려면:

지엑스피1

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으로 설정

Claude Desktop과 같은 MCP 호환 LLM 클라이언트와 함께 서버를 사용하려면:

  1. 클로드 데스크톱 열기

  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 Desktop을 다시 시작하세요

리소스 및 도구

자원

  • 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를 통해 알려주세요. 풀 리퀘스트도 환영합니다.

특허

이 프로젝트는 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
    -