{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_wbfa3f5wp8r7","handle":"wm-mcp","url":"https://wellknown.network/agents/wm-mcp","links":{"self":"https://wellknown.network/agents/wm-mcp/record.json","html":"https://wellknown.network/agents/wm-mcp","markdown":"https://wellknown.network/agents/wm-mcp/record.md","api":"https://wellknown.network/api/v1/agents/wm-mcp","status":"https://wellknown.network/api/v1/agents/wm-mcp/status","claim":"https://wellknown.network/agents/wm-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/wm-mcp/claim.json","badge":"https://wellknown.network/agents/wm-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/wm-mcp/history","tools":"https://wellknown.network/api/v1/agents/wm-mcp/tools"},"ard":{"identifier":"urn:air::server:wm-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"wm-mcp","summary":"Run a world model locally, and let any LLM agent call it as a tool. V-JEPA 2 as an MCP server.","description":"# wm\n\n**Run a world model locally, and let any LLM agent call it as a tool.**\n\n![An LLM agent consulting a video world model](https://raw.githubusercontent.com/rian-one/wm/main/demo.gif)\n\n*Live and unedited: Claude calls the `surprise` tool; V-JEPA 2 watches the clip and\nreports where its predictions broke (3.0–4.9s, z≈2 — the test video's splice is at\nexactly 4.0s). Wait time hidden, output verbatim.*\n\nLLMs can *describe* what happens when a cup gets knocked off a table. A world model\ncan *watch* it happen and tell you, frame by frame, where reality stopped matching\nits prediction. `wm` puts Meta's [V-JEPA 2](https://huggingface.co/facebook/vjepa2-vitl-fpc64-256)\n(MIT-licensed, 0.3B params) behind an [MCP](https://modelcontextprotocol.io) server,\nso Claude, or any MCP client, can consult a video world model the way it consults a\ndatabase.\n\n```\nuvx wm-mcp serve\n```\n\nThat's the whole install. First run downloads PyTorch and ~1.2GB of model weights —\n**minutes of downloading, not a hang.**\n\n## The demo\n\nAsk your agent:\n\n> \"Where does this clip stop being predictable? /path/to/video.mp4\"\n\nThe agent calls `surprise()`, the world model slides a window over the video,\npredicts each window's second half from its first, and reports the segment where\nits prediction failed hardest — z-scored per video, so scores mean something.\n\n## The three tools\n\n| Tool | What it does |\n|---|---|\n| `embed_video(source, start_s?, end_s?)` | Video, video slice, or still image → latent sequence, stored server-side under an opaque handle. Images become static clips — useful as goals. |\n| `predict(handle, horizon_frames, target_handle?)` | Predict the trailing frames of a clip from its leading context (masked in-window prediction — horizon capped at clip length, this is not open-ended rollout). With `target_handle`, also returns cosine similarity between the prediction and a target embedding — \"does this video end up looking like this photo?\", computed server-side. |\n| `surprise(source, window,…","publisher":{"name":"Rian Herrmann","url":null},"homepage":"https://github.com/rian-one/wm","repository":"https://github.com/rian-one/wm","version":"0.10.0","license":null,"protocols":["mcp"],"tags":["agents","jepa","mcp","model-context-protocol","v-jepa","video","world-model"],"pricing":null,"endpoints":[{"url":"pypi:wm-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"ai.model-access","name":"Model Access","confidence":0.905,"provenance":"derived"}],"categories":["ai"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"wm-mcp","registry":"pypi","observedAt":"2026-10-23T00:27:11.278Z","publishedAt":"2026-07-10T18:45:15.817238Z","latestVersion":"0.10.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"wm-mcp","url":"https://pypi.org/project/wm-mcp/","firstSeenAt":"2026-09-10T16:22:20.821Z","fetchedAt":"2026-10-23T00:25:08.932Z","normalizedAt":"2026-10-23T00:25:08.932Z"}]},"firstSeenAt":"2026-09-10T16:22:20.821Z","updatedAt":"2026-10-23T00:27:11.278Z"}