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.

Metadata

Release files for vectorclaw-mcp 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vectorclaw-mcp 1.0.1
File Size Uploaded
vectorclaw_mcp-1.0.1.tar.gz 184.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vectorclaw-mcp 1.0.1
File Interpreter ABI Platform
vectorclaw_mcp-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 210.8 kB

Release files / vectorclaw_mcp-1.0.1.tar.gz

Download URL vectorclaw_mcp-1.0.1.tar.gz
Size 184.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1b91add94accc12a27f54f5a799db400adba9e72df93eb17b9e88d9585dd5e77
BLAKE2b-256 checksum
How to use checksums
18dae4c9ad761bc08ce0c4dbb130087da8ae15cb89b451138dc491b2b9b33c96
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 1, 2026.

Transparency log

Release files / vectorclaw_mcp-1.0.1-py3-none-any.whl

Download URL vectorclaw_mcp-1.0.1-py3-none-any.whl
Size 26.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1f4e266cf0eda48b5538dd35f1e76011e86f43df37635dd0a5d883ac1244a250
BLAKE2b-256 checksum
How to use checksums
a900f2570f02692b658d52e70b44eacc4809c30a1f86b4791c9229ed60ea885c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 1, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page