Skip to main content
Glama

๐Ÿค– VectorClaw

CI Python 3.11+ PyPI License: MIT Status: v1.0.0

Give your AI assistant a body.

VectorClaw is an MCP server that exposes Anki Vector robot capabilities as tools for AI assistants like OpenClaw โ€” bridging natural language to real-world robot actions over a fully local, cloud-free stack.


Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    stdio MCP    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    gRPC/WiFi    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  AI Agent   โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚  vectorclaw-mcp  โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚  Vector โ”‚
โ”‚  (OpenClaw) โ”‚                 โ”‚  (Python 3.11+)  โ”‚                 โ”‚  Robot  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

All communication is local-only โ€” no cloud dependency at runtime (Wire-Pod setup path).

See Security Architecture for the full trust model.


Table of Contents


Current Status

v1.0.0 Released ยท 2026-03-01

16 tools verified โœ… on hardware | 7 tools experimental โš ๏ธ

Known limitations:

  • vector_drive_on_charger โ€” activates cube but no reliable charger approach

  • Perception detections โ€” often returns empty lists; SDK semantics under investigation

  • Idle behaviors โ€” Vector's autonomous animations can overlap with commanded behaviors

See ROADMAP.md for the full milestone plan.


Quickstart

Requirements: Python 3.11+ ยท Wire-Pod running ยท Vector on local WiFi

For the complete walkthrough (Wire-Pod install, robot auth, WiFi config, troubleshooting) see docs/SETUP.md.

The vectorclaw-setup wizard handles configuration, SDK validation, connectivity check, and a smoke test in one go:

pip install vectorclaw-mcp
vectorclaw-setup

You will be prompted for your robot's serial number and optional IP address. On success you'll see a clear SETUP PASSED message and the next-steps command. On failure every step includes an exact remediation hint.

See docs/OPENCLAW_SETUP_SKILL.md for full details.


Manual Setup

Step 1 โ€” Install VectorClaw

pip install vectorclaw-mcp

Step 2 โ€” Configure Vector SDK

Wire-Pod is the canonical self-hosted server for Vector. Install the SDK distribution and run the one-time auth wizard:

pip install wirepod_vector_sdk
python -m anki_vector.configure

Note: wirepod_vector_sdk installs under the anki_vector Python namespace, so all imports and CLI commands use anki_vector.

The standalone anki_vector package requires working DDL cloud servers and is brittle on modern Python runtimes.

pip install "vectorclaw-mcp[legacy]"
python -m anki_vector.configure

Prefer wirepod_vector_sdk for reliable, cloud-independent operation.

Step 3 โ€” Set environment variables

export VECTOR_SERIAL="your-robot-serial"   # required โ€” printed on underside of robot
export VECTOR_HOST="192.168.x.x"           # optional โ€” auto-discovered if omitted

Step 4 โ€” Run the server

vectorclaw-mcp
# or
python -m vectorclaw_mcp

MCP Client Configuration

Add the following block to your mcporter.json (or equivalent MCP client config).

With uvx (recommended โ€” no prior install needed)

{
  "mcpServers": {
    "vectorclaw": {
      "command": "uvx",
      "args": ["vectorclaw-mcp"],
      "env": {
        "VECTOR_SERIAL": "your-serial-here"
      }
    }
  }
}

With pip install (if installed locally)

{
  "mcpServers": {
    "vectorclaw": {
      "command": "vectorclaw-mcp",
      "env": {
        "VECTOR_SERIAL": "your-serial-here"
      }
    }
  }
}

Available Tools

Tool

Category

Description

Status

vector_say

๐ŸŽ™๏ธ Speech

Make the robot speak text aloud

โœ…

vector_animate

๐ŸŽญ Expression

Play a named animation

โš ๏ธ

vector_drive_off_charger

๐ŸŽ๏ธ Motion

Drive the robot off its charger

โœ…

vector_drive

๐ŸŽ๏ธ Motion

Drive straight and/or turn in place

โœ…

vector_drive_on_charger

๐ŸŽ๏ธ Motion

Drive Vector back onto its charger

โš ๏ธ

vector_emergency_stop

๐ŸŽ๏ธ Motion

Stop all motion immediately

โœ…

vector_head

๐Ÿฆพ Actuation

Set head angle (โˆ’22ยฐ โ€“ 45ยฐ)

โœ…

vector_lift

๐Ÿฆพ Actuation

Set lift height (0.0 โ€“ 1.0)

โœ…

vector_look

๐Ÿ‘€ Perception

Capture image from front camera

โœ…

vector_capture_image

๐Ÿ‘€ Perception

One-shot image capture

โœ…

vector_face

๐Ÿ–ผ๏ธ Display

Display custom image on face screen

โœ…

vector_scan

๐Ÿ” Perception

Head scan for environment

โœ…

vector_find_faces

๐Ÿ” Perception

Scan for faces

โš ๏ธ

vector_list_visible_faces

๐Ÿ” Perception

List currently visible faces

โš ๏ธ

vector_face_detection

๐Ÿ” Perception

Get face detection summary

โš ๏ธ

vector_list_visible_objects

๐Ÿ” Perception

List currently visible objects

โš ๏ธ

vector_cube

๐ŸŽฒ Interaction

Interact with cube (dock/pickup/drop/roll)

โš ๏ธ

vector_vision_reset

๐Ÿ‘€ Perception

Disable all vision modes

โœ…

vector_pose

๐Ÿ“ Sensing

Get current position and orientation

โœ…

vector_status

๐Ÿ“Š Status

Get battery level and charging status

โœ…

vector_charger_status

๐Ÿ“Š Status

Get charger connection state

โœ…

vector_touch_status

๐Ÿ“Š Status

Get touch sensor state

โœ…

vector_proximity_status

๐Ÿ“Š Status

Get proximity sensor reading

โœ…

Status legend: โœ… Verified on hardware | โš ๏ธ Experimental (limited/reliable issues)

โš ๏ธ Charger prerequisite: vector_drive requires the robot to be off the charger. Call vector_drive_off_charger first, or set VECTOR_AUTO_DRIVE_OFF_CHARGER=1 for automatic undocking.

See docs/MCP_API_REFERENCE.md for full parameter details and response schemas.


Contributing

  1. ๐ŸŒฟ Branch: branch off dev, use <type>/<short-description> naming (e.g. fix/vector-face-payload, feat/vector-scan)

  2. ๐Ÿงช Tests: add or update tests under tests/; all tests use the mocked SDK โ€” no hardware required

  3. โœ… CI: Python 3.11 is required and must pass; Python 3.12 is experimental/informational โ€” run pytest tests/ -v locally before opening a PR

  4. ๐Ÿค– Hardware: if your change touches a tool or connection layer, record a smoke-test run in Hardware Smoke Log following the Hardware Test Playbook

  5. ๐ŸŽฏ PR scope: keep PRs focused โ€” separate docs, feature, and refactor changes to reduce merge-conflict risk with parallel lanes


Docs Map

๐Ÿ› ๏ธ Setup & Runtime

Document

Description

Setup Guide

Wire-Pod install, robot auth, WiFi, SDK config, troubleshooting

Troubleshooting

Common runtime failures, smoke baseline, and escalation path

Runtime Support

Supported Python versions and CI policy

๐Ÿ“ก API & SDK

Document

Description

API Reference

MCP tool signatures, parameters, response schemas

Wire-Pod SDK Reference

Full SDK capability catalog

Wire-Pod SDK โ†’ MCP Integration Priorities

Now/Later/Skip decision table for future tools

๐Ÿ”ฌ Hardware Validation

Document

Description

Hardware Test Playbook

Repeatable on-robot validation protocol and PR checklist

Hardware Smoke Log

Running record of real-world smoke tests

Tool Docking Prerequisites

Which tools require undocked state

๐Ÿ”’ Security

Document

Description

Security Architecture

Threat model, credential handling, input validation, network posture


License

MIT โ€” see LICENSE.

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

โ€“Maintainers
<1hResponse time
0dRelease cycle
2Releases (12mo)
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/danmartinez78/VectorClaw'

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