PenEcho: a spatial canvas that gives your AI conversation a place to draw, diagram and think
Think with AI beyond the chat box. A shared canvas for handwriting, equations, diagrams, and spatial reasoning.
At a glance
- What is it?
- PenEcho is an AGPL-licensed visual workspace for thinking with AI. Through MCP it connects to Codex, Claude Code, Kimi or its own built-in Agent, turning explanations into diagrams and interactive previews on a canvas you can annotate by hand and feed back into the next round of conversation.
- Who is it for?
- Try PenEcho if you think visually and want your AI work to live on a canvas rather than scroll away in a chat log. Install it with npm (Node 22.19+) or the desktop app, open it at localhost:3888, connect your own model or an authenticated Codex, Claude Code or Kimi CLI, and enable a canvas over MCP so your agent can draw on it and read your handwritten feedback.
- Can I use it commercially?
- Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What PenEcho is
PenEcho describes itself as a spatial workspace for thinking with AI: a canvas where you combine handwriting, equations, text, images, diagrams and interactive HTML widgets, and where an AI agent can turn explanations into diagrams and ideas into interactive previews. The pitch is to give an AI conversation a place to live, so that references, reasoning and work sit side by side and you can mark up the canvas and bring that feedback into the next round.
The audience is people who think visually and already talk to an AI agent, students, engineers sketching architecture, anyone whose ideas are easier drawn than typed. The key architectural idea is that PenEcho does not replace your agent; it extends it. You keep talking in Codex, Claude, Kimi or another agent, and PenEcho, through MCP, becomes the spatial surface where that conversation takes shape. There is also a built-in Agent for those who want a self-contained setup.
The MCP model: bring your own agent
PenEcho's most important design choice is that it connects to external AI agents over MCP (the Model Context Protocol) rather than locking you into one model. Through MCP your agent can discover a canvas, capture and edit objects, create interactive widgets, use virtual source files and read your handwritten feedback. You can connect Codex, Claude Code or another MCP-compatible client to read and edit a canvas you have explicitly enabled.
The emphasis on explicitly enabled matters: an external agent only touches a canvas you have opted in, and both the local and cloud MCP connections are optional. Version 1.3 added a full MCP workspace and a Cloud MCP path that lets external agents connect to your enabled PenEcho Cloud canvases to read content, create and edit results, and follow handwritten feedback. This two-way loop, agent draws, you annotate by hand, agent reads the annotation next round, is the feature that distinguishes PenEcho from a plain whiteboard or a plain chat.
Installing and starting PenEcho
There are two ways to run it. The desktop route is to download the Windows or macOS app from GitHub Releases. The npm route needs Node.js 22.19 or newer:
npm install -g penecho
penechoThen open http://localhost:3888. You add your own model API, or an authenticated Codex, Claude Code or Kimi CLI, in Settings then Connections; connections are saved in ~/.penecho/connections.json and general settings in ~/.penecho/config.env. For PenEcho-hosted models you sign in and pick a model in Settings. There is also a run-from-source path (git clone, npm install, npm start).
One startup step is a genuine security feature worth respecting: at startup you set a six-digit access code, or explicitly enable open access on a trusted network, and PenEcho prints LAN addresses so other devices can connect. Because the canvas can be reached over the LAN, setting that access code rather than opening it up is the safe default.
Connecting an agent over MCP
Wiring an external agent to PenEcho is a two-part process for Local MCP. First you start PenEcho and enable the current canvas in Settings then MCP service. Then you configure a supported local client, or copy the launch configuration PenEcho generates. For a global npm install, a client that accepts an mcpServers JSON block can point at the penecho command:
{
"mcpServers": {
"penecho": { "command": "penecho" }
}
}Cloud MCP is the alternative: it connects external agents directly to your enabled PenEcho Cloud canvases. The README is consistent that both connection paths are optional and opt-in, which is the right posture for a tool that lets an external process draw on and read your workspace. The practical upshot is that you choose per canvas whether an agent may see it, rather than exposing everything by default.
What you can do on the canvas
Beyond hosting an agent's output, PenEcho is a working canvas in its own right. You work visually by combining handwriting, equations, text, images, diagrams and interactive HTML widgets on a spacious surface. You can create with the built-in Agent to research, work with files, explain ideas and produce editable visual results. And you keep and share your work by organising canvases into projects, saving cloud revisions, syncing favourites and publishing through a feature the README calls Echoes.
Version 1.3 also added connection management (save multiple AI connections and choose the active one per client), a PenEcho Cloud Credits API for using PenEcho-hosted models with account credits alongside your own API and CLI connections, and canvas and workbench improvements: more responsive drawing, refined Studio controls, an adaptive Agent panel and customisable keyboard shortcuts. The mix of handwriting, math and interactive widgets is aimed squarely at the education and visual-thinking use cases in the project's topics.
Licence, releases and what to weigh
PenEcho is licensed AGPL-3.0-only, and the repository also carries a COMMERCIAL-LICENSE.md, a contributor licence agreement, a NOTICE and a TRADEMARKS file. That combination points to a dual-licence model: AGPL for open use, with a commercial licence for those who cannot meet the AGPL's network-copyleft terms, and a protected trademark, so anyone redistributing or building a service on it should read those files rather than assume permissive terms.
The project is active and multilingual, with READMEs in nine languages and recent releases v1.3.1 on 2026-09-13, v1.2.0 on 2026-09-04 and v1.1.7 on 2026-08-28; the last push was on 2026-09-13. What to weigh before adopting it: it is a fairly new 1.x tool, so expect continued change; the cloud features involve a hosted service and credits, which is optional but is where some newer capability lives; and the value depends on your agent supporting MCP. For someone who already uses an MCP-capable agent and thinks better with a pen than a prompt box, PenEcho fills a real gap between chat and canvas.
Editorial conclusion
Try PenEcho if you think visually and want your AI work to live on a canvas rather than scroll away in a chat log. Install it with npm (Node 22.19+) or the desktop app, open it at localhost:3888, connect your own model or an authenticated Codex, Claude Code or Kimi CLI, and enable a canvas over MCP so your agent can draw on it and read your handwritten feedback. Set an access code at startup.
Frequently asked questions
What is PenEcho used for?
PenEcho is a spatial canvas for thinking with AI. It combines handwriting, equations, diagrams and interactive widgets, and connects to agents like Codex, Claude Code or Kimi over MCP so they can turn explanations into diagrams and read your handwritten feedback.
How do I install and start PenEcho?
Install the desktop app from GitHub Releases, or use npm with Node.js 22.19+: npm install -g penecho, then penecho, and open http://localhost:3888. Add your model or a Codex, Claude Code or Kimi CLI in Settings, and set a six-digit access code at startup.
Does an external AI agent get access to all my canvases?
No. An external agent over MCP can only read and edit a canvas you have explicitly enabled, and both the Local MCP and Cloud MCP connections are optional and opt-in. You choose per canvas whether an agent may see it.
Community notes