Skip to main content
Glama

Qanat Goose MCP Extension

License: MIT

๐Ÿ”„ Looking for the standalone prototype? See Qanat.

Qanat Goose MCP Extension is an agentโ€‘based Goose MCPโ€‘UI extension that wraps the Square MCP Server, integrating sandbox catalog/orders with voice and gesture agents for an interactive seller dashboard.

๐Ÿ—๏ธ Architecture

Qanat integrates with Goose Desktop as a custom MCP-UI extension:

Goose Desktop (MCP-UI surface)
    โ†“
Qanat MCP-UI Extension โ† Voice/Gesture Agents  
    โ†“
Square MCP Server
    โ†“  
Square API

๐Ÿš€ Quick Start

  1. Setup Environment

    # Copy environment template
    cp env.example .env
    
    # Edit .env with your API keys
    # SQUARE_API_KEY=your_key_here
    # ELEVENLABS_API_KEY=your_key_here
  2. Install Dependencies

    pip install -r requirements.txt
  3. Run the MCP Server

    npm run dev
    # or
    python -m backend.mcp_servers.qanat_server
  4. Connect to Goose Desktop

    • Add Qanat as MCP-UI extension in Goose settings

    • Server will run on localhost:3001

๐Ÿ”„ Running Both Qanat Demos

There are two versions of Qanat available: Qanat (Baseline Prototype)

  • Standalone dashboard using Web Speech API and seeded demo data.

  • Runs entirely in the browser, with fallback APIs when Square is unreachable.

  • To run:

  • Clone the qanat repo.

  • Install dependencies (npm install).

  • Start the backend mock server (npm run dev).

  • Start the frontend (cd frontend && npm run dev).

  • Visit http://localhost:5173 in Chrome and allow microphone access. Qanat Goose MCP Extension (Advanced)

  • Goose MCPโ€‘UI extension wrapping Square MCP Server.

  • Integrates Square sandbox catalog/orders with voice and gesture agents.

  • To run:

  • Clone the qanat-goose-mcp repo.

  • Copy env.template โ†’ .env and add your Square sandbox OAuth credentials.

  • Start the MCP server (npm run dev or python -m backend.mcp_servers.qanat_server).

  • In Goose Desktop, add Qanat as an MCPโ€‘UI extension with endpoint http://localhost:3001.

  • Interact via voice, gesture, or UI buttons.

๐Ÿ“ Project Structure

qanat_v2/
โ”œโ”€โ”€ backend/                    # Core backend services
โ”‚   โ”œโ”€โ”€ agents/                # Goose subagents (voice, gesture)
โ”‚   โ”œโ”€โ”€ services/              # Square API integration
โ”‚   โ””โ”€โ”€ mcp_servers/           # MCP protocol servers
โ”œโ”€โ”€ config/                    # Configuration files
โ”‚   โ”œโ”€โ”€ extensions/            # Extension configs (Square, voice, gesture)
โ”‚   โ””โ”€โ”€ environments/          # Environment loading utilities
โ”œโ”€โ”€ docs/                      # Project documentation
โ”‚   โ”œโ”€โ”€ PROJECT_BOARD.md       # Development task breakdown
โ”‚   โ”œโ”€โ”€ PLAN.md               # MVP development plan  
โ”‚   โ””โ”€โ”€ Qanat_Architecture_Overview.md
โ”œโ”€โ”€ requirements.txt           # Python dependencies
โ”œโ”€โ”€ package.json              # Project metadata & scripts
โ””โ”€โ”€ env.example               # Environment template

๐ŸŽฏ MVP Features

  • Catalog Dashboard: View and manage Square catalog items

  • Orders Dashboard: Monitor recent orders and status updates

  • Voice Control: "Refresh catalog" command via ElevenLabs

  • Gesture Control: Toggle item status with thumb-up gesture via MediaPipe

  • Interactive UI: Clickable tables and action buttons in Goose Desktop

๐Ÿ› ๏ธ Development

See docs/PROJECT_BOARD.md for detailed development tasks and timeline.

Key Components

  • MCP-UI Server: backend/mcp_servers/qanat_server.py

  • Square Integration: backend/services/

  • Voice Agent: Uses ElevenLabs for speech-to-text

  • Gesture Agent: Uses MediaPipe for hand gesture recognition

Configuration Files

  • config/extensions/square_mcp.json - Square API integration config

  • config/extensions/qanat_mcp_ui.json - UI component definitions

  • config/extensions/elevenlabs_voice.json - Voice command mappings

  • config/extensions/mediapipe_gesture.json - Gesture recognition setup

๐Ÿ”ง Scripts

npm run dev          # Start development server
npm run start        # Start production server  
npm run test         # Run tests
npm run setup        # Install dependencies
npm run config       # Validate configuration

๐Ÿ“‹ Environment Variables

Required variables (copy from env.example):

  • SQUARE_API_KEY - Your Square API key

  • SQUARE_ENVIRONMENT - sandbox/production

  • ELEVENLABS_API_KEY - ElevenLabs API key for voice features

  • MEDIAPIPE_CONFIDENCE_THRESHOLD - Gesture detection sensitivity

๐ŸŽฎ Usage

Voice Commands

  • "Refresh catalog" - Reload catalog items

  • "Show orders" - Display recent orders

  • "Help" - Show available commands

Gesture Controls

  • ๐Ÿ‘ Thumb up - Toggle item active/inactive status

  • ๐Ÿ‘‰ Point - Select table row

  • โœ‹ Open palm - Refresh current view

  • โœŒ๏ธ Peace sign - Switch catalog/orders view

๐Ÿงช Testing

# Run all tests
npm run test

# Test Square integration
python -m pytest tests/test_square_services.py

# Test voice commands  
python -m pytest tests/test_voice_agent.py

# Test gesture recognition
python -m pytest tests/test_gesture_agent.py

๐Ÿ“ License

MIT License - see LICENSE file for details.


Built with โค๏ธ for Square sellers using Goose Desktop #Block #Goose

Contact

Reach me here or on Discord: @professordnyc

-
security - not tested
A
license - permissive license
-
quality - not tested

Appeared in Searches

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/professordnyc/qanat-goose-mcp'

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