<!DOCTYPE html>
<html class="writer-html5" lang="en" data-content_root="./">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>ROS2 Gazebo MCP Server - API Documentation — ROS2 Gazebo MCP Server 1.0.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=b86133f3" />
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=e59714d7" />
<script src="_static/jquery.js?v=5d32c60e"></script>
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="_static/documentation_options.js?v=8d563738"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="gazebo_mcp" href="modules.html" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >
<a href="#" class="icon icon-home">
ROS2 Gazebo MCP Server
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<p class="caption" role="heading"><span class="caption-text">API Modules:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="modules.html">gazebo_mcp</a></li>
<li class="toctree-l1"><a class="reference internal" href="gazebo_mcp.html">gazebo_mcp package</a></li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="#">ROS2 Gazebo MCP Server</a>
</nav>
<div class="wy-nav-content">
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="#" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item active">ROS2 Gazebo MCP Server - API Documentation</li>
<li class="wy-breadcrumbs-aside">
<a href="_sources/index.rst.txt" rel="nofollow"> View page source</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<section id="ros2-gazebo-mcp-server-api-documentation">
<h1>ROS2 Gazebo MCP Server - API Documentation<a class="headerlink" href="#ros2-gazebo-mcp-server-api-documentation" title="Link to this heading"></a></h1>
<p>Welcome to the ROS2 Gazebo MCP Server API documentation. This server provides a Model Context Protocol (MCP) interface for controlling Gazebo simulations and robots.</p>
<section id="overview">
<h2>Overview<a class="headerlink" href="#overview" title="Link to this heading"></a></h2>
<p>The ROS2 Gazebo MCP Server enables:</p>
<ul class="simple">
<li><p><strong>World Generation</strong>: Create custom simulation worlds with obstacles, terrain, and environmental effects</p></li>
<li><p><strong>Model Management</strong>: Spawn, control, and monitor robot models in simulation</p></li>
<li><p><strong>Sensor Integration</strong>: Read data from cameras, lidars, IMUs, GPS, and other sensors</p></li>
<li><p><strong>Simulation Control</strong>: Pause, play, reset, and configure simulation parameters</p></li>
<li><p><strong>ROS2 Bridge</strong>: Seamless integration with ROS2 ecosystem</p></li>
</ul>
</section>
<section id="quick-start">
<h2>Quick Start<a class="headerlink" href="#quick-start" title="Link to this heading"></a></h2>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">gazebo_mcp.server</span><span class="w"> </span><span class="kn">import</span> <span class="n">GazeboMCPServer</span>
<span class="c1"># Start the server</span>
<span class="n">server</span> <span class="o">=</span> <span class="n">GazeboMCPServer</span><span class="p">()</span>
<span class="k">await</span> <span class="n">server</span><span class="o">.</span><span class="n">start</span><span class="p">()</span>
</pre></div>
</div>
<p>For detailed tutorials and examples, see the main project documentation.</p>
</section>
<section id="api-reference">
<h2>API Reference<a class="headerlink" href="#api-reference" title="Link to this heading"></a></h2>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">API Modules:</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="modules.html">gazebo_mcp</a><ul>
<li class="toctree-l2"><a class="reference internal" href="gazebo_mcp.html">gazebo_mcp package</a><ul>
<li class="toctree-l3"><a class="reference internal" href="gazebo_mcp.html#subpackages">Subpackages</a><ul>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.bridge.html">gazebo_mcp.bridge package</a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.tools.html">gazebo_mcp.tools package</a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.utils.html">gazebo_mcp.utils package</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="gazebo_mcp.html#submodules">Submodules</a></li>
<li class="toctree-l3"><a class="reference internal" href="gazebo_mcp.html#module-gazebo_mcp.server">gazebo_mcp.server module</a><ul>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.MCPRequest"><code class="docutils literal notranslate"><span class="pre">MCPRequest</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.MCPResponse"><code class="docutils literal notranslate"><span class="pre">MCPResponse</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.GazeboMCPServer"><code class="docutils literal notranslate"><span class="pre">GazeboMCPServer</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.start_stdio_server"><code class="docutils literal notranslate"><span class="pre">start_stdio_server()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.start_http_server"><code class="docutils literal notranslate"><span class="pre">start_http_server()</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="gazebo_mcp.html#module-gazebo_mcp">Module contents</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="gazebo_mcp.html">gazebo_mcp package</a><ul>
<li class="toctree-l2"><a class="reference internal" href="gazebo_mcp.html#subpackages">Subpackages</a><ul>
<li class="toctree-l3"><a class="reference internal" href="gazebo_mcp.bridge.html">gazebo_mcp.bridge package</a><ul>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.bridge.html#submodules">Submodules</a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.bridge.html#module-gazebo_mcp.bridge.connection_manager">gazebo_mcp.bridge.connection_manager module</a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.bridge.html#module-gazebo_mcp.bridge.gazebo_bridge_node">gazebo_mcp.bridge.gazebo_bridge_node module</a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.bridge.html#module-gazebo_mcp.bridge">Module contents</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="gazebo_mcp.tools.html">gazebo_mcp.tools package</a><ul>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.tools.html#submodules">Submodules</a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.tools.html#module-gazebo_mcp.tools.model_management">gazebo_mcp.tools.model_management module</a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.tools.html#module-gazebo_mcp.tools.sensor_tools">gazebo_mcp.tools.sensor_tools module</a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.tools.html#module-gazebo_mcp.tools.simulation_tools">gazebo_mcp.tools.simulation_tools module</a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.tools.html#module-gazebo_mcp.tools.world_generation">gazebo_mcp.tools.world_generation module</a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.tools.html#module-gazebo_mcp.tools.world_tools">gazebo_mcp.tools.world_tools module</a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.tools.html#module-gazebo_mcp.tools">Module contents</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="gazebo_mcp.utils.html">gazebo_mcp.utils package</a><ul>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.utils.html#submodules">Submodules</a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.utils.html#module-gazebo_mcp.utils.converters">gazebo_mcp.utils.converters module</a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.utils.html#module-gazebo_mcp.utils.exceptions">gazebo_mcp.utils.exceptions module</a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.utils.html#module-gazebo_mcp.utils.geometry">gazebo_mcp.utils.geometry module</a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.utils.html#module-gazebo_mcp.utils.logger">gazebo_mcp.utils.logger module</a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.utils.html#module-gazebo_mcp.utils.metrics">gazebo_mcp.utils.metrics module</a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.utils.html#module-gazebo_mcp.utils.operation_result">gazebo_mcp.utils.operation_result module</a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.utils.html#gazebo-mcp-utils-profiler-module">gazebo_mcp.utils.profiler module</a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.utils.html#module-gazebo_mcp.utils.validators">gazebo_mcp.utils.validators module</a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.utils.html#module-gazebo_mcp.utils">Module contents</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="gazebo_mcp.html#submodules">Submodules</a></li>
<li class="toctree-l2"><a class="reference internal" href="gazebo_mcp.html#module-gazebo_mcp.server">gazebo_mcp.server module</a><ul>
<li class="toctree-l3"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.MCPRequest"><code class="docutils literal notranslate"><span class="pre">MCPRequest</span></code></a><ul>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.MCPRequest.code"><code class="docutils literal notranslate"><span class="pre">MCPRequest.code</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.MCPRequest.context"><code class="docutils literal notranslate"><span class="pre">MCPRequest.context</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.MCPRequest.timeout"><code class="docutils literal notranslate"><span class="pre">MCPRequest.timeout</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.MCPRequest.__init__"><code class="docutils literal notranslate"><span class="pre">MCPRequest.__init__()</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.MCPResponse"><code class="docutils literal notranslate"><span class="pre">MCPResponse</span></code></a><ul>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.MCPResponse.success"><code class="docutils literal notranslate"><span class="pre">MCPResponse.success</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.MCPResponse.result"><code class="docutils literal notranslate"><span class="pre">MCPResponse.result</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.MCPResponse.error"><code class="docutils literal notranslate"><span class="pre">MCPResponse.error</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.MCPResponse.stdout"><code class="docutils literal notranslate"><span class="pre">MCPResponse.stdout</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.MCPResponse.stderr"><code class="docutils literal notranslate"><span class="pre">MCPResponse.stderr</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.MCPResponse.duration"><code class="docutils literal notranslate"><span class="pre">MCPResponse.duration</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.MCPResponse.tokens_saved"><code class="docutils literal notranslate"><span class="pre">MCPResponse.tokens_saved</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.MCPResponse.ros2_status"><code class="docutils literal notranslate"><span class="pre">MCPResponse.ros2_status</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.MCPResponse.__init__"><code class="docutils literal notranslate"><span class="pre">MCPResponse.__init__()</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.GazeboMCPServer"><code class="docutils literal notranslate"><span class="pre">GazeboMCPServer</span></code></a><ul>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.GazeboMCPServer.__init__"><code class="docutils literal notranslate"><span class="pre">GazeboMCPServer.__init__()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.GazeboMCPServer.execute"><code class="docutils literal notranslate"><span class="pre">GazeboMCPServer.execute()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.GazeboMCPServer.execute_json"><code class="docutils literal notranslate"><span class="pre">GazeboMCPServer.execute_json()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.GazeboMCPServer.get_available_tools"><code class="docutils literal notranslate"><span class="pre">GazeboMCPServer.get_available_tools()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.GazeboMCPServer.get_stats"><code class="docutils literal notranslate"><span class="pre">GazeboMCPServer.get_stats()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.GazeboMCPServer.shutdown"><code class="docutils literal notranslate"><span class="pre">GazeboMCPServer.shutdown()</span></code></a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.start_stdio_server"><code class="docutils literal notranslate"><span class="pre">start_stdio_server()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="gazebo_mcp.html#gazebo_mcp.server.start_http_server"><code class="docutils literal notranslate"><span class="pre">start_http_server()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="gazebo_mcp.html#module-gazebo_mcp">Module contents</a></li>
</ul>
</li>
</ul>
</div>
</section>
</section>
<section id="indices-and-tables">
<h1>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Link to this heading"></a></h1>
<ul class="simple">
<li><p><a class="reference internal" href="genindex.html"><span class="std std-ref">Index</span></a></p></li>
<li><p><a class="reference internal" href="py-modindex.html"><span class="std std-ref">Module Index</span></a></p></li>
<li><p><a class="reference internal" href="search.html"><span class="std std-ref">Search Page</span></a></p></li>
</ul>
</section>
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="modules.html" class="btn btn-neutral float-right" title="gazebo_mcp" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
<hr/>
<div role="contentinfo">
<p>© Copyright 2025, Development Team.</p>
</div>
Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
<a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
</body>
</html>