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

๐Ÿ”ง 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.7.tar.gz (20.1 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.7-py3-none-any.whl (24.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mcp_gs_robot-0.1.7.tar.gz
  • Upload date:
  • Size: 20.1 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.7.tar.gz
Algorithm Hash digest
SHA256 3698f57de61a0793e925e8836b2fdf5bf8a6b74ce4f8b0fe0ac819cb8a7b06b8
MD5 c327235a1f94d23435def507117ae59b
BLAKE2b-256 4393945b3c40f464b69611827b8ad8be1bbfa35b202d001aa46725898223113f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mcp_gs_robot-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 24.9 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 5f55aab0e8a1fa77288ad446747146bd596723663ef984f01554f6e88969833d
MD5 9c4abce84c95ecc7aa49e6638bfe361d
BLAKE2b-256 3625e1db4e1f8159eb20e19b4f02830e5d7cfc3370bcff7f36c91b39eed8bcde

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