MCP Server for Gausium Robot OpenAPI - Control and monitor Gausium cleaning robots through AI assistants
Project description
๐ค Gausium OpenAPI MCP Server
๐ง 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:
๐ MCP Protocol Flow
The diagram below shows how AI models interact with Gausium robots through the MCP protocol:
โจ 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
stdiotransport (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:
Cherry Studio Configuration:
๐ Debugging
Monitor server logs for troubleshooting:
๐ 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:
- ๐ด Fork the repository
- ๐ฟ Create a feature branch
- โ Add tests for your changes
- ๐ Update documentation
- ๐ Submit a pull request
๐ License
MIT License - see LICENSE file for details.
๐ Support
- ๐ Issues
- ๐ง Email
- ๐ Gausium Developer Docs
Made with โค๏ธ for the Claude Code community
Enabling AI-powered robot automation, one task at a time ๐คโจ
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_gs_robot-0.1.12.tar.gz.
File metadata
- Download URL: mcp_gs_robot-0.1.12.tar.gz
- Upload date:
- Size: 22.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24debc4d9bc17c97c030444a367f9d41835c93983791741c41e3b88cb56f08a3
|
|
| MD5 |
7a6c4008cb7a82761ff0b514d226970d
|
|
| BLAKE2b-256 |
eec012bdc512ebc3a7aeafc324d493a895a02e3ea5603cb9e4b6dc1df7fb7891
|
File details
Details for the file mcp_gs_robot-0.1.12-py3-none-any.whl.
File metadata
- Download URL: mcp_gs_robot-0.1.12-py3-none-any.whl
- Upload date:
- Size: 27.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df656539ac900e227695669585450d01295c4a6293bb3fbb73c27f4b2b3119a3
|
|
| MD5 |
3c66f50ad22bd71462bc4a792e485a57
|
|
| BLAKE2b-256 |
529d00046e834d6a7126324ff970430ccd2a1fef619969c65e896b542af4c816
|