Skip to main content

๐Ÿค– 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.

Guided Setup (recommended for new users)

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.

Legacy cloud path (best-effort only)

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vectorclaw_mcp-1.0.1.tar.gz (184.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vectorclaw_mcp-1.0.1-py3-none-any.whl (26.1 kB view details)

Uploaded Python 3

File details

Details for the file vectorclaw_mcp-1.0.1.tar.gz.

File metadata

  • Download URL: vectorclaw_mcp-1.0.1.tar.gz
  • Upload date:
  • Size: 184.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vectorclaw_mcp-1.0.1.tar.gz
Algorithm Hash digest
SHA256 1b91add94accc12a27f54f5a799db400adba9e72df93eb17b9e88d9585dd5e77
MD5 b6499984c37b4af73bab22e6bd348bba
BLAKE2b-256 18dae4c9ad761bc08ce0c4dbb130087da8ae15cb89b451138dc491b2b9b33c96

See more details on using hashes here.

Provenance

The following attestation bundles were made for vectorclaw_mcp-1.0.1.tar.gz:

Publisher: release.yml on danmartinez78/VectorClaw

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vectorclaw_mcp-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: vectorclaw_mcp-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 26.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for vectorclaw_mcp-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1f4e266cf0eda48b5538dd35f1e76011e86f43df37635dd0a5d883ac1244a250
MD5 5312637db270fd008f7e42a2389aabb1
BLAKE2b-256 a900f2570f02692b658d52e70b44eacc4809c30a1f86b4791c9229ed60ea885c

See more details on using hashes here.

Provenance

The following attestation bundles were made for vectorclaw_mcp-1.0.1-py3-none-any.whl:

Publisher: release.yml on danmartinez78/VectorClaw

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 files

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page