Skip to main content

MCP server connecting Anki Vector robots to AI assistants via Wire-Pod

Project description

๐Ÿค– VectorClaw

CI Python 3.11+ 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).
โ†’ Security Architecture for the full trust model.


Table of Contents


Current Status

v1.0.0 Released ยท 2026-02-28

All core tools verified PASS on a production Vector robot with Wire-Pod:

Category Tools verified
๐ŸŽ™๏ธ Speech vector_say
๐ŸŽ๏ธ Motion vector_drive_off_charger, vector_drive
๐Ÿ‘€ Perception vector_look, vector_capture_image, vector_proximity_status
๐Ÿฆพ Actuation vector_lift
๐Ÿ“Š Status vector_status, vector_charger_status, vector_touch_status

Known limitations (documented):

  • vector_head โ€” runtime error, documented as FAIL
  • vector_drive_on_charger โ€” unreliable, may timeout
  • Perception detections (faces/objects) โ€” limited functionality
  • No rate limiting on motion commands (v1.1 target)

โ†’ ROADMAP.md for the full v1.0 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.

โ†’ Full details in docs/OPENCLAW_SETUP_SKILL.md


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
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_look ๐Ÿ‘€ Perception Capture an image from the front camera
vector_face ๐Ÿ–ผ๏ธ Display Display a custom image on the face screen
vector_head ๐Ÿฆพ Actuation Set head angle (clamped โˆ’22ยฐ โ€“ 45ยฐ)
vector_lift ๐Ÿฆพ Actuation Set lift/arm height (0.0 โ€“ 1.0 normalised)
vector_pose ๐Ÿ“ Sensing Get current position and orientation
vector_cube ๐ŸŽฒ Interaction Interact with the cube (dock/pickup/drop/roll)
vector_status ๐Ÿ“Š Status Get battery level and charging status

โš ๏ธ 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. โ†’ Tool Docking Prerequisites for the full matrix.

โ†’ 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
OpenClaw Setup Skill Plan Design plan for foolproof guided setup flow

๐Ÿ“ก API & SDK

Document Description
API Reference MCP tool signatures, parameters, response schemas
Wire-Pod SDK Surface Reference Full SDK capability catalog
Wire-Pod SDK Implementation Guide Implementation patterns and SDK usage notes
Wire-Pod SDK โ†’ MCP Integration Priorities Now/Later/Skip decision table for future tools
SDK โ†’ MCP Coverage Matrix Current mapping of SDK calls to MCP tools
SDK Patch Notes Current SDK patch status (baseline: no fork required)

๐Ÿ”ฌ 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
Hardware Validation (2026-02-26) Initial hardware validation session record

๐Ÿ”’ Security

Document Description
Security Architecture Threat model, credential handling, input validation, network posture

License

MIT โ€” see LICENSE.

Project details


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.0.tar.gz (346.3 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.0-py3-none-any.whl (25.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vectorclaw_mcp-1.0.0.tar.gz
  • Upload date:
  • Size: 346.3 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.0.tar.gz
Algorithm Hash digest
SHA256 b95e1457caae53ec892882ca964d0447a027f602833c63c2ee6eda47bcb65d2e
MD5 166b5b9a65b2ddde805631adf5eebf0e
BLAKE2b-256 6ab147fdc39ce43afbeb86f49cbf9cb8c0abbaee13c9c94de4dd8ed75a849e3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for vectorclaw_mcp-1.0.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: vectorclaw_mcp-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 25.9 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3035f2051dcbcb63d186ed649ad18bf477fefa2ea096835ad4a30efda9f9ab76
MD5 083c3fe05928041567baf16d61913848
BLAKE2b-256 131112347425b2b71b27c9aa162735f48e50f0a2951cf214f550144dce79db3d

See more details on using hashes here.

Provenance

The following attestation bundles were made for vectorclaw_mcp-1.0.0-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.

Supported by

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