Skip to main content

Gausium OpenAPI MCP Server - Control Gausium robots through Claude

Project description

๐Ÿค– 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 (New in v0.1.8)

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 ๐Ÿค–โœจ

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_gs_robot-0.1.8.tar.gz (21.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_gs_robot-0.1.8-py3-none-any.whl (27.3 kB view details)

Uploaded Python 3

File details

Details for the file mcp_gs_robot-0.1.8.tar.gz.

File metadata

  • Download URL: mcp_gs_robot-0.1.8.tar.gz
  • Upload date:
  • Size: 21.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for mcp_gs_robot-0.1.8.tar.gz
Algorithm Hash digest
SHA256 722b5f1bd116137eec6e6e6ffe4efa7dafc82f1e0e1ed181b8f9601f4266c6d4
MD5 f0bc47774ea0c0298ef26dfe2a263449
BLAKE2b-256 cc98f3d92f067bdada2ad89a7e103d8d80a54ac148be84f1063c3b3bb3c73568

See more details on using hashes here.

File details

Details for the file mcp_gs_robot-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: mcp_gs_robot-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 27.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for mcp_gs_robot-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 893d9f99c62916ee8388f07af2fbadd477a2c5249305a01e479b531cb08b0365
MD5 cd9d50dbbd5aa2a1c2e89eb1057aa976
BLAKE2b-256 98a56f10a226f1fe2473281d82deff2977a61f382a4d74737b59cc33c1d5a184

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page