Webots MCP

Webots MCP

Bridges AI agents with Webots robotics simulation, enabling natural language control of Nao robots and visual perception.

Category
Visit Server

README

Webots MCP: AI-Agentic Robot Control for Robotics Simulation

GitHub stars License: MIT FastMCP

Webots MCP is a powerful Model Context Protocol (MCP) server designed to bridge the gap between AI agents and robotics simulation. By integrating the MCP protocol with Cyberbotics Webots, this project enables seamless robot control of Nao robots using natural language and high-level reasoning.


πŸ€– Why Webots MCP?

Controlling robots in a robotics simulation typically requires deep knowledge of low-level APIs and physics engines. Webots MCP changes this by exposing complex robotic functions as simple tools that any AI agent (like Claude, Gemini, or Cursor) can understand and execute.

Whether you are a researcher or a developer, Webots MCP allows you to focus on high-level robot behavior while the server handles the intricate details of the MCP protocol and simulation synchronization.

✨ Features

  • Natural Language Robot Control: Command your Nao robot to "wave its hand" or "look around" using AI agents.
  • Visual Perception: AI agents can "see" through the robot's camera, enabling environmental reasoning within the robotics simulation.
  • Safety-First Joint Limits: Built-in validation ensures motor commands stay within physical limits (radians) to prevent simulation errors.
  • Advanced Motion Engine: Native support for complex .motion animation files like Tai Chi, waving, and walking.
  • Multi-Robot Discovery: Webots MCP automatically tracks multiple robot instances in the simulation world.
  • Real-time Telemetry: Access GPS positions, joint states, and robot status through the MCP protocol.

βš™οΈ How Webots MCP Works

The architecture of Webots MCP relies on a dual-layer communication bridge:

  1. The MCP Server: A Node/Python service that translates AI agent tool calls into simulation commands.
  2. The Controller Bridge: A low-level script running inside Webots that executes these commands on the Nao robot and returns telemetry data.

This separation ensures that Webots MCP remains responsive even during complex physical calculations in the robotics simulation.

πŸ—οΈ Architecture

graph LR
    subgraph "AI Agent Environment"
        A[MCP Client] <--> B[Webots MCP Server]
    end
    subgraph "Webots Simulation"
        B <--> C[Shared IPC /data/]
        C <--> D[Nao Controller]
        D <--> E[NAO Robot]
    end

πŸš€ Installation

1. Prerequisites

  • Webots R2023a+
  • Python 3.10+

2. Clone the Repository

git clone https://github.com/punithkrishnakeepudi/webots-mcp.git
cd webots-mcp

3. Setup Dependencies

pip install -r requirements.txt

πŸ•ΉοΈ Usage Example

To connect Webots MCP to an AI client (like Cursor or Claude Desktop), add this entry to your mcp_config.json:

{
  "mcpServers": {
    "webots-mcp": {
      "command": "python",
      "args": ["/path/to/webots_mcp_custom/server.py"],
      "env": {
        "PYTHONPATH": "/path/to/webots_mcp_custom"
      }
    }
  }
}

Once connected, you can simply ask the agent:

"Check the Nao robot's camera and if you see an obstacle, turn the head 45 degrees left."

πŸ› οΈ Available Tools

Tool Description
get_visual_perception Captures the top camera image for AI reasoning.
get_robot_status Returns telemetry (GPS, Joint angles, etc.).
play_motion Executes high-level animations (wave, taichi, etc.).
set_head_position Direct API for head robot control (Yaw/Pitch).
list_motions Lists all available pre-recorded movements.

πŸ—ΊοΈ Future Roadmap

  • [ ] Support for Boston Dynamics Spot and Universal Robots models.
  • [ ] Direct ROS2 (Robot Operating System) integration.
  • [ ] Multi-agent collaborative swarm control.
  • [ ] Advanced pathfinding tools integrated into Webots MCP.

⭐ Support the Project

If you find Webots MCP useful for your robotics simulation projects, please give us a star on GitHub! It helps developers discover the project and keeps the community growing.

⭐ Star this Repository


Developed by Punith Krishna

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured