Skip to main content
Glama

Qanat Goose MCP Extension

๐Ÿ”„ 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

Contact

Reach me here or on Discord: @professordnyc

-
security - not tested
F
license - not found
-
quality - not tested

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