Skip to main content
ClaudeWave
willa-code avatar
willa-code

visual-intent-layer

View on GitHub

Local-first Visual Direction Loop over MCP

MCP ServersOfficial Registry0 stars0 forksTypeScriptUpdated today
ClaudeWave Trust Score
62/100
· OK
Passed
  • Actively maintained (<30d)
  • Clear description
  • Documented (README)
Flags
  • !No standard license detected
Last scanned: 9/19/2026
Install in Claude Code / Claude Desktop
Method: NPX · --package
Claude Code CLI
claude mcp add visual-intent-layer -- npx -y --package
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "visual-intent-layer": {
      "command": "npx",
      "args": ["-y", "--package"]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
Use cases

MCP Servers overview

# Visual Intent Layer

Point at what you see and say what should change. The agent changes exactly that,
and you verify by hand. It reviews a browser-rendered artifact — a saved or
generated HTML document, or a local web app running on this machine; a mobile
build, a native window, a design file and a PDF are outside it by decision rather
than omission.

## Install

Requires Node 20+. No Rust toolchain, no hosted account.

The product is a standard local MCP server. You register it with your own agent's
MCP mechanism — there is no install command of ours to run, and nothing of yours
that we write.

| Harness     | What to run                                                                                              |
| ----------- | -------------------------------------------------------------------------------------------------------- |
| Claude Code | `claude mcp add visual-intent-layer -- npx -y --package visual-intent-layer@latest visual-intent-mcp`      |
| Codex       | `codex mcp add visual-intent-layer -- npx -y --package visual-intent-layer@latest visual-intent-mcp`       |
| opencode    | `opencode mcp add visual-intent-layer`, then give it `npx` and the arguments above when it asks             |
| pi          | the entry below, with `pi-mcp-adapter` installed, or the adapter's `/mcp setup` panel                             |
| any other   | any host that can launch a local stdio server: command `npx`, arguments `-y --package visual-intent-layer@latest visual-intent-mcp` |

Registry-aware clients can also find the server as
`io.github.willa-code/visual-intent-layer` in the official MCP Registry, which lists
where to get it rather than hosting it.

**Install it on the machine where you look at the screen.** The Review Surface
launches a browser on the machine running the server and binds a loopback port
there. A server in a container, on a remote host, or inside a cloud agent has
nothing to show you.

Registering takes effect when your agent next starts, so restart it.

### The pi entry

pi itself ships no MCP; `pi-mcp-adapter` provides it. Add this to the project's
`.mcp.json` — merge it into `mcpServers` if the file already has one, rather than
replacing the file:

```json
{
  "mcpServers": {
    "visual-intent-layer": {
      "command": "npx",
      "args": ["-y", "--package", "visual-intent-layer@latest", "visual-intent-mcp"]
    }
  }
}
```

A project `.mcp.json` applies to that project only. `.pi/mcp.json` is the Pi-only
project override, and `~/.config/mcp/mcp.json` applies to every project. Install
the package globally (`npm install -g visual-intent-layer`) and the entry's
`command` becomes `visual-intent` with `args` `["mcp"]`.

### Update

`@latest` is resolved when npx fetches the package, so there is nothing to update
by hand — unless your Harness caches the resolved command and keeps serving it:
`pi-mcp-adapter` caches for 24 hours, reading the cache from disk, so a restart
does not renew it. Delete `~/.pi/agent/mcp-npx-cache.json` to force a fresh
fetch. `npm view visual-intent-layer version` says what is current.

To hold a version still, replace `@latest` with an exact version in the entry. A
global install updates with `npm install -g visual-intent-layer@latest`.

### Uninstall

Remove the entry you added, with the mechanism you added it: `codex mcp remove
visual-intent-layer` in Codex, `claude mcp remove visual-intent-layer` in Claude
Code, and by deleting the entry from your Harness's own MCP config everywhere
else. A global install comes out with `npm uninstall -g visual-intent-layer`.

Uninstalling deletes none of your reviews: Annotations, sessions and attachments
stay in `~/.visual-intent-layer/data` until you remove that directory.
`docs/guide.md` names the file for the Harnesses that keep one.

### If the tools do not appear

Run the entry's command by hand first. It separates Node and npm from the Harness:

```sh
npx -y --package visual-intent-layer@latest visual-intent-mcp
```

It prints `visual-intent review service on http://127.0.0.1:<port>` to stderr and
then holds the connection open for an agent; `Ctrl-C` ends it. If that works, your
agent's own MCP panel is where the reason is: it names the server and reports why
it failed to start. The product cannot tell you — it writes no configuration and
reads none.

The server runs without an agent too:

```sh
npx -y --package visual-intent-layer@latest visual-intent open --html ./checkout.html
```

## Documentation

[`docs/guide.md`](docs/guide.md) is the product manual: the Review Surface, the
Annotation model, target resolution, Check-In, the four MCP tools, environment and
data, the envelope schema, develop and layout. `SECURITY.md` holds the threat
model, supported versions and the disclosure process. `docs/adr/` records why the
product behaves as it does, and `docs/pi-validation.md` is the live-pi checklist,
awaiting a human run.

## License

Apache-2.0. The complete local loop is permissively open.

What people ask about visual-intent-layer

What is willa-code/visual-intent-layer?

+

willa-code/visual-intent-layer is mcp servers for the Claude AI ecosystem. Local-first Visual Direction Loop over MCP It has 0 GitHub stars and its last recorded update is dated 2026-09-18.

How do I install visual-intent-layer?

+

You can install visual-intent-layer by cloning the repository (https://github.com/willa-code/visual-intent-layer) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is willa-code/visual-intent-layer safe to use?

+

Our security agent has analyzed willa-code/visual-intent-layer and assigned a Trust Score of 62/100 (tier: OK). See the full breakdown of passed checks and flags on this page.

Who maintains willa-code/visual-intent-layer?

+

willa-code/visual-intent-layer is maintained by willa-code. The last recorded GitHub activity is dated 2026-09-18, with 0 open issues.

Are there alternatives to visual-intent-layer?

+

Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.

Deploy visual-intent-layer to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: willa-code/visual-intent-layer
[![Featured on ClaudeWave](https://claudewave.com/api/badge/willa-code-visual-intent-layer)](https://claudewave.com/repo/willa-code-visual-intent-layer)
<a href="https://claudewave.com/repo/willa-code-visual-intent-layer"><img src="https://claudewave.com/api/badge/willa-code-visual-intent-layer" alt="Featured on ClaudeWave: willa-code/visual-intent-layer" width="320" height="64" /></a>

More MCP Servers

visual-intent-layer alternatives