Skip to main content
Glama

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

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