Mcp Gs Robot

Interact with Gausium robots through a standardized interface to access robot status, task reports, and maps. The server facilitates communication between AI models and Gausium's automation capabilities.

Author

Mcp Gs Robot logo

cfrs2005

No License

Quick Info

GitHub GitHub Stars 0
NPM Weekly Downloads 498
Tools 1
Last Updated 9/2/2025

Tags

robot robots automation gausium robots gausium automation gs robot

πŸ€– Gausium OpenAPI MCP Server

Python Version PyPI Version License MCP Compatible Claude Code

πŸ”§ A powerful MCP server bridging AI models with Gausium robots

Control and monitor Gausium cleaning robots through Claude, Cursor, and other AI assistants

πŸš€ Quick Start β€’ πŸ“– Documentation β€’ πŸ› οΈ Installation β€’ 🎯 Examples β€’ πŸ‡¨πŸ‡³ δΈ­ζ–‡ζ–‡ζ‘£


🌟 What is this?

This MCP (Model Control Protocol) server enables seamless interaction between AI models and Gausium cleaning robots through a standardized interface. Perfect for building intelligent automation workflows with Claude Code, Cursor, and other MCP-compatible AI tools.

πŸ”— Repository: https://github.com/cfrs2005/mcp-gs-robot

🎯 Key Benefits

  • πŸ€– AI-First Design: Built specifically for AI assistant integration
  • πŸ”„ Real-time Control: Monitor and command robots instantly
  • πŸ“Š Rich Data Access: Get detailed status, maps, and task reports
  • πŸ›‘οΈ Secure: OAuth-based authentication with environment variables
  • 🌐 Universal: Works with Claude, Cursor, and any MCP client

πŸ—οΈ Architecture

The server follows a layered architecture that separates concerns and promotes maintainability:

Architecture Diagram

πŸ”„ MCP Protocol Flow

The diagram below shows how AI models interact with Gausium robots through the MCP protocol:

MCP Protocol Flow

✨ Features

πŸ› οΈ Core MCP Tools

Tool Description Status
πŸ€– list_robots List all accessible robots βœ… Ready
πŸ“Š get_robot_status Get detailed robot status and position βœ… Ready
πŸ“‹ list_robot_task_reports Retrieve cleaning task reports with filtering βœ… Ready
πŸ—ΊοΈ list_robot_maps Get available maps for robot navigation βœ… Ready
🎯 create_robot_command Send commands to robots (start/pause/stop) βœ… Ready
🏒 get_site_info Get building and floor information βœ… Ready
πŸ“ get_map_subareas Get detailed area information for tasks βœ… Ready
πŸš€ submit_temp_task Submit temporary cleaning tasks βœ… Ready

🧠 Smart Routing Tools (Enhanced in v0.1.12)

Tool Description Status
🎯 get_robot_status_smart Auto-select V1/V2 API based on robot series βœ… Ready
πŸ“Š get_task_reports_smart Intelligent task report API routing βœ… Ready
πŸ” get_robot_capabilities Show supported APIs for specific robot βœ… Ready

πŸ”§ Advanced Workflows

  • πŸŽ›οΈ Automated Task Execution: Complete workflows from status β†’ task selection β†’ execution
  • πŸ“ˆ Batch Operations: Handle multiple robots simultaneously
  • πŸ—ΊοΈ Map Management: Upload, download, and manage robot maps
  • πŸ“Š Report Generation: Generate PNG maps from task reports
  • πŸ—οΈ Site-based Tasks: Advanced task creation with building/floor context

🀝 Supported Robot Lines

M-line Robots (Traditional Cleaning Robots)

  • OMNIE (OMNIE series) - Multi-purpose cleaning robot
  • Vacuum 40 (40 series) - Vacuum cleaning robot
  • Scrubber 50 (50 series) - Floor scrubbing robot
  • Scrubber 75 (75 series) - Heavy-duty floor scrubbing robot

S-line Robots (Advanced Smart Robots, including SW series)

  • Phantas (S series) - Phantom intelligent cleaning robot
  • BEETLE (SW series) - Beetle smart cleaning robot

πŸ“ Project Structure

The project follows a structured layout optimized for MCP development:

πŸ—‚οΈ mcp-gs-robot/
β”œβ”€β”€ πŸ“¦ src/gs_openapi/           # Main package
β”‚   β”œβ”€β”€ πŸ”Œ api/                  # Direct API integrations
β”‚   β”‚   β”œβ”€β”€ πŸ€– robots.py         # Robot management APIs
β”‚   β”‚   └── πŸ—ΊοΈ maps.py           # Map management APIs
β”‚   β”œβ”€β”€ πŸ” auth/                 # Authentication layer
β”‚   β”‚   └── 🎫 token_manager.py  # OAuth token lifecycle
β”‚   β”œβ”€β”€ βš™οΈ config.py             # Configuration management
β”‚   β”œβ”€β”€ πŸ”§ core/                 # Core functionality
β”‚   β”‚   β”œβ”€β”€ πŸ“‘ client.py         # HTTP client wrapper
β”‚   β”‚   └── πŸ›£οΈ endpoints.py      # API endpoint definitions
β”‚   β”œβ”€β”€ πŸ”Œ mcp/                  # MCP server implementation
β”‚   β”‚   └── πŸŒ‰ gausium_mcp.py    # Main MCP bridge
β”‚   └── πŸ”„ workflows/            # Automated workflows
β”‚       └── 🎯 task_engine.py    # Task automation engine
β”œβ”€β”€ πŸ“š docs/                     # Documentation
β”‚   β”œβ”€β”€ πŸ–ΌοΈ images/               # Visual documentation
β”‚   β”œβ”€β”€ πŸ“– apis.md              # API documentation
β”‚   └── πŸ§ͺ TESTING_GUIDE.md     # Testing instructions
β”œβ”€β”€ πŸš€ main.py                  # Application entry point
└── πŸ“‹ pyproject.toml           # Package configuration

πŸ” Key Components

Component Purpose Icon
config.py Base URLs, API paths, environment variables βš™οΈ
token_manager.py OAuth token acquisition and refresh πŸ”
api/robots.py Robot status, commands, task reports πŸ€–
api/maps.py Map listing, upload, download πŸ—ΊοΈ
gausium_mcp.py MCP server integration layer πŸŒ‰
task_engine.py Automated workflow orchestration 🎯
main.py Server initialization and tool registration πŸš€

πŸš€ Quick Start

πŸ“¦ Installation

Option 1: Install from PyPI (Recommended)

pip install mcp-gs-robot

Option 2: Install from Source

# Clone repository
git clone https://github.com/cfrs2005/mcp-gs-robot.git
cd mcp-gs-robot

# Setup with uv (recommended)
uv venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
uv pip install -e .

πŸ”§ Configuration

Set up your Gausium API credentials:

# Required environment variables
export GS_CLIENT_ID="your_client_id"
export GS_CLIENT_SECRET="your_client_secret" 
export GS_OPEN_ACCESS_KEY="your_access_key"

πŸ”‘ Get credentials from Gausium Developer Portal

πŸƒβ€β™‚οΈ Running the Server

# Start MCP server (stdio mode)
python -m gs_openapi.main
# or if installed via pip:
mcp-gs-robot

βœ… Server starts using stdio transport (perfect for Claude Code)

πŸ”Œ Claude Code Integration

Method 1: Automatic installation with environment setup

# Add MCP server with environment variables
claude mcp add mcp-gs-robot \
  --env GS_CLIENT_ID="your_client_id" \
  --env GS_CLIENT_SECRET="your_client_secret" \
  --env GS_OPEN_ACCESS_KEY="your_access_key"

Method 2: Manual configuration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "mcp-gs-robot": {
      "command": "mcp-gs-robot",
      "env": {
        "GS_CLIENT_ID": "your_client_id",
        "GS_CLIENT_SECRET": "your_client_secret", 
        "GS_OPEN_ACCESS_KEY": "your_access_key"
      }
    }
  }
}

Method 3: Using environment file

If you prefer to use a .env file:

# Set global environment variables
export GS_CLIENT_ID="your_client_id"
export GS_CLIENT_SECRET="your_client_secret"
export GS_OPEN_ACCESS_KEY="your_access_key"

# Simple MCP installation
claude mcp add mcp-gs-robot

πŸ’‘ Note: This MCP server uses stdio transport (not SSE), which is perfect for Claude Code integration

🎯 Examples

πŸ“± Claude Code Usage

# In Claude Code, you can now use natural language:

"List all my robots"
# β†’ Calls mcp__mcp-gs-robot__list_robots

"Get status of robot GS101-0100-V1P-B001" 
# β†’ Calls mcp__mcp-gs-robot__get_robot_status

"Start cleaning task for robot in building 5"
# β†’ Orchestrates site info β†’ map selection β†’ task creation

πŸ–₯️ IDE Integration

Cursor Configuration:

Cursor Usage Screenshot

Cherry Studio Configuration:

Cherry Studio Configuration

πŸ› Debugging

Monitor server logs for troubleshooting:

MCP Debug Screenshot

πŸ“– Documentation

Document Purpose
🎯 Claude Code Integration Complete Claude Code setup guide
πŸ“‹ API Reference Complete API documentation
πŸ§ͺ Testing Guide How to test the MCP server
πŸ”§ Configuration Detailed setup instructions

🀝 Contributing

We welcome contributions! Please:

  1. 🍴 Fork the repository
  2. 🌿 Create a feature branch
  3. βœ… Add tests for your changes
  4. πŸ“ Update documentation
  5. πŸ”„ Submit a pull request

πŸ“„ License

MIT License - see LICENSE file for details.

πŸ†˜ Support


Made with ❀️ for the Claude Code community

Enabling AI-powered robot automation, one task at a time πŸ€–βœ¨