Skip to main content
Glama
cfrs2005

GS Robot MCP Server

by cfrs2005

πŸ€– 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

Related MCP server: ROS2 MCP Server

πŸ—οΈ 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

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

πŸƒβ€β™‚οΈ 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 πŸ€–βœ¨

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cfrs2005/mcp-gs-robot'

If you have feedback or need assistance with the MCP directory API, please join our Discord server