Skip to main content
Glama
robosimtools-mcp

robosimtools-mcp

by RahulRajelli

robosimtools-mcp

An MCP server that exposes robosimtools.com's 12 robotics/simulation tools to AI agents. The tool logic here is the same code robosimtools.com serves to your browser — vendored into lib/ so this server is self-contained. All computation is local; nothing is uploaded.

This is the open-source MCP server for robosimtools.com. The website itself is a separate project; only the browser tools it already ships publicly are included here (see Vendored modules).

Tools

Tool

What it does

robosim_convert_rotation

Quaternion ↔ Euler (12 sequences) ↔ 3×3 matrix ↔ axis-angle ↔ URDF roll-pitch-yaw.

robosim_dh_to_urdf

Denavit-Hartenberg table → URDF joint chain (standard or modified/Craig).

robosim_diff_ardupilot_params

Diff two ArduPilot .param files; changed / added / removed.

robosim_mesh_mass_properties

STL/OBJ → mass, center of mass, full inertia tensor.

robosim_validate_urdf

Structural URDF validation — tree, inertia sanity, joint limits.

robosim_inspect_urdf

URDF → links, joints, kinematic roots, degrees of freedom.

robosim_xacro_to_urdf

Expand Xacro properties, macros, conditionals, includes → URDF.

robosim_urdf_to_mjcf

URDF → MuJoCo MJCF.

robosim_sdf_to_urdf

Gazebo SDF → URDF with correct relative joint origins.

robosim_step_to_urdf

STEP/IGES CAD → URDF with per-solid inertia (OCCT WASM kernel).

robosim_generate_sbom

Lockfile (npm/pip/cargo/go) → CycloneDX 1.6 SBOM.

robosim_cra_readiness

EU Cyber Resilience Act scoping wizard.

Every tool is read-only with no side effects.

Related MCP server: openscad-mcp

Install

git clone https://github.com/RahulRajelli/robosimtools-mcp
cd robosimtools-mcp
npm install

Use it

The server talks over stdio, so any client that supports local MCP servers works. Replace the path below with wherever you cloned the repo.

Claude Desktop

Add to claude_desktop_config.json and restart:

{
  "mcpServers": {
    "robosimtools": {
      "command": "node",
      "args": ["ABSOLUTE/PATH/TO/robosimtools-mcp/src/index.js"]
    }
  }
}

OpenAI Codex CLI

Add to ~/.codex/config.toml and restart Codex:

[mcp_servers.robosimtools]
command = "node"
args = ["ABSOLUTE/PATH/TO/robosimtools-mcp/src/index.js"]

ChatGPT's own connectors target remote (HTTP) MCP servers — for this local stdio server, use the Codex CLI or Claude Desktop.

Then ask, e.g.: "Convert the quaternion (w=0.707, x=0, y=0, z=0.707) to URDF roll-pitch-yaw", or "Turn this STEP file into a URDF with computed inertia."

Test

npm test             # 39 known-answer checks across all 12 tools
npm run test:e2e     # connects a real MCP client over stdio
npm run test:install # packs, installs to a temp dir, drives the installed copy

test:install is the one that matters before a release: it verifies the published artifact — that the files allowlist is complete, the bin shebang works, and the lazily-imported OCCT WASM kernel still resolves once the package is inside someone else's node_modules.

Vendored modules

lib/ holds the tool logic — the same ES modules robosimtools.com serves at robosimtools.com/js/*.js. They are vendored (not fetched at runtime) so the package is self-contained. To refresh them from a local site checkout:

node scripts/sync-from-site.mjs /path/to/site/public/js

Design notes

  • DOM in Node. Four tools (URDF validator, Xacro, MJCF, SDF converters) use the browser DOMParser/XMLSerializer. src/browser-globals.js provides those via linkedom so the modules run unchanged (its XMLSerializer strips the XML prolog linkedom adds, to match browsers).

  • CAD kernel. robosim_step_to_urdf loads occt-import-js (a 7.6 MB WASM build of OpenCascade) lazily on first use.

  • Plain JS ESM, zero build step.

Contributing

Bug reports and PRs are welcome — see CONTRIBUTING.md for scope, setup and the AI-assisted contribution policy (disclosure required). Security issues go through SECURITY.md, not the public issue tracker. Participation is governed by the Code of Conduct.

One thing worth knowing up front: lib/ is synced from robosimtools.com and PRs editing it directly will be closed — the next sync overwrites them. Report tool-logic bugs as issues here and they get fixed upstream, then synced down.

License

MIT © 2026 Rahul Rajelli. All code in src/ and lib/ is first-party.

The robosim_step_to_urdf tool depends on occt-import-js (a WASM build of Open CASCADE), which is LGPL-2.1. It is consumed unmodified as a separate npm dependency and loaded dynamically at runtime — no part of it is redistributed in this package. Full details, and the conditions a fork must preserve, are in THIRD-PARTY-NOTICES.md.

Available Tools

12 tools
robosim_convert_rotationConvert 3D RotationA
Read-onlyIdempotent

Convert a rotation between quaternion, Euler (12 sequences, intrinsic/extrinsic), 3x3 matrix, and axis-angle, and report URDF roll-pitch-yaw. Give it in any one representation via from; returns ALL of them.

Inputs: from (required), euler, matrix, degrees, +4 more.

robosim_cra_readinessEU Cyber Resilience Act ReadinessA
Read-onlyIdempotent

Walk the CRA scoping decision tree (Reg. (EU) 2024/2847). Provide answers as { questionId: optionIndex }; the tool returns either the next question to answer or the final outcome with obligations, dates, and penalties. Informational, not legal advice. Start with no answers to get the first question.

Inputs: answers.

robosim_dh_to_urdfDH Parameters to URDFA
Read-onlyIdempotent

Generate a correct URDF joint chain from a Denavit-Hartenberg table. Handles standard (trailing 'flange' term) vs modified (Craig) conventions correctly.

Inputs: rows (required), degrees, robotName, convention.

robosim_diff_ardupilot_paramsDiff ArduPilot Param FilesA
Read-onlyIdempotent

Compare two ArduPilot .param files (auto-detects the 3 real-world formats) and report changed / added / removed parameters, with float-epsilon equality.

Inputs: after (required), before (required).

robosim_generate_sbomGenerate CycloneDX SBOMA
Read-onlyIdempotent

Produce a CycloneDX 1.6 SBOM from a LOCKFILE (package-lock.json, pinned requirements.txt, Cargo.lock, or go.sum). Manifests without resolved versions are refused.

Inputs: content (required), filename (required), appName, appVersion.

robosim_inspect_urdfInspect URDF StructureA
Read-onlyIdempotent

Parse a URDF and return its structure — links, joints (type/parent/child/axis), kinematic root links, and degrees of freedom. The 3D viewer's underlying data, for an agent to reason about.

Inputs: urdf (required).

robosim_mesh_mass_propertiesMesh Mass PropertiesA
Read-onlyIdempotent

Compute mass, center of mass, and inertia tensor of a closed STL/OBJ mesh, integrated from the geometry. Coordinates in meters, density in kg/m^3.

Inputs: filename (required), content_base64 (required), density.

robosim_sdf_to_urdfSDF to URDFA
Read-onlyIdempotent

Convert a Gazebo SDF model to URDF, resolving model-frame poses into correct relative joint origins.

Inputs: sdf (required).

robosim_step_to_urdfSTEP/IGES CAD to URDFA
Read-onlyIdempotent

Convert a STEP or IGES CAD file to URDF, computing mass/COM/inertia per solid from the tessellated geometry (via the OCCT CAD kernel). Solids are welded with fixed joints. First call loads a 7.6 MB kernel.

Inputs: filename (required), content_base64 (required), mm, density.

robosim_urdf_to_mjcfURDF to MJCFA
Read-onlyIdempotent

Convert a URDF to MuJoCo MJCF XML (correct half-extents, radians, nested body tree).

Inputs: urdf (required).

robosim_validate_urdfValidate URDFA
Read-onlyIdempotent

Check a URDF for structural problems: kinematic tree, inertia sanity, joint limits, and parser-divergence pitfalls. Returns issues by severity.

Inputs: urdf (required).

robosim_xacro_to_urdfXacro to URDFA
Read-onlyIdempotent

Expand Xacro properties, macros, conditionals, and includes into plain URDF. Provide included files by basename in includes.

Inputs: xacro (required), includes.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 12 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose, covering different aspects of robotic simulation like rotation conversion, URDF manipulation, mesh processing, and compliance checking. There is no overlap or ambiguity between tool functionalities.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern prefixed with 'robosim_', e.g., 'robosim_convert_rotation', 'robosim_inspect_urdf'. This makes the tool set predictable and easy for an agent to navigate.

    Tool Count5/5

    With 12 tools, the server offers a well-scoped set for robotics simulation utilities. The number is within the ideal range (3-15) and each tool contributes to a cohesive workflow without unnecessary redundancy.

    Completeness5/5

    The tool surface covers a broad range of robotics simulation tasks: conversion from multiple formats (SDF, STEP, DH table), validation, inspection, and even regulatory compliance. There are no major gaps for the intended domain.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      MCP tools for video transcoding, document conversion, and multi-step pipelines — callable by any AI agent.
      12
      60 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Exposes OpenSCAD CLI as MCP tools for validating, rendering, and exporting parametric 3D models. Enables LLM clients to interactively create and manipulate OpenSCAD designs.
      4
      MIT
    • A
      license
      B
      quality
      C
      maintenance
      Exposes CAD design tools (box, cylinder, shell, etc.) via MCP, allowing AI agents and clients like Claude to create and manipulate parametric CAD models in Autodesk Fusion or a simulator.
      6
      1
      Apache 2.0
    • A
      license
      A
      quality
      C
      maintenance
      Enables AI agents and MCP clients to perform 3D asset creation and verification: exact b-rep CAD, GLB validation with embedded certificates, mesh inspection, and physics scenes, with most tools running without Blender.
      36
      48 npm
      MIT