MarkLayer

MCP serverWeb & browsing

Work visual annotations on a live webpage: watch, acknowledge, resolve, reply, or leave your own.

Unavailable. This server has no hosted endpoint yet, so ahel can't serve it.

Connect ahel once, and every AI you use reads what you have installed.

From the project's README

As published by thevrus/marklayer in README.md.

One URL. A shared board. A faster decision.

MarkLayer turns any webpage into a collaborative review surface. Instead of passing screenshots back and forth, send a link. Teammates or clients can open the original page in their own browser, leave feedback where it belongs, and see changes land live.

  • For client feedback: let clients point to exactly what they mean, without an account or extension.
  • For design review: sketch ideas, highlight details, and keep the conversation attached to the page.
  • For QA: pin reproducible issues to the actual UI, then share a clean link with the team.
  • For AI-assisted work: inspect an element to copy its stable selector and an AI-ready markdown snapshot.

How it works

  1. Open a page: paste any public URL at marklayer.app, or use the Chrome extension on the page you are already viewing — including a page on your own localhost dev server, which never has to be reachable from the internet.
  2. Make the feedback visible: draw, highlight text, measure space, pin a threaded comment, or inspect an element.
  3. Share one link: collaborators join the same board and see cursors, marks, replies, and calls in real time.

No sign-up. No trial clock. No client install.

What you can do

Annotate freelyPen, highlighter, eraser, shapes, arrows, text, and text-selection highlights.
Keep feedback in contextPin threaded comments to the page, reply inline, and track status.
Review liveReal-time cursors, drawings, and comments via WebSocket, plus peer-to-peer voice and video chat.
Hand off precise implementation contextInspect an element for a stable selector, computed styles, parent layout, viewport details, and framework component information.
Measure the UICheck element dimensions and edge-to-edge gaps between two elements.
Share or exportCreate shareable links with preview cards, or export annotations to PNG.
Make it yoursReorder toolbar tools; drafts persist locally and restore when you return.

Built to respect the reviewer's time and privacy

  • No accounts or tracking: start reviewing immediately.
  • Links expire thoughtfully: shared boards expire 90 days after their last view.
  • Open source and self-hostable: MarkLayer is released under Apache-2.0, so your workflow is not tied to a pricing change.

Want the non-technical version? Read How MarkLayer works.

Self-hosting & development

git clone https://github.com/thevrus/MarkLayer.git
cd MarkLayer
bun install
bun run dev

For the Chrome extension in development:

  1. Build or run the extension app.
  2. Open chrome://extensions/ and turn on Developer mode.
  3. Choose Load unpacked and select apps/extension/.output/chrome-mv3-dev.

Repository layout

├── apps/extension/     Chrome extension (WXT + Preact)
├── apps/worker/        Cloudflare Worker, API, real-time rooms, proxy, OG generator
├── apps/site/          Static marketing site (Astro)
└── packages/types/     Shared TypeScript types

Stack

AreaTechnologies
FrontendPreact, Signals, Tailwind CSS, Vite
ExtensionWXT, Chrome APIs
BackendCloudflare Workers, Hono, Durable Objects
StorageD1 (SQLite), R2
Real-timeWebSockets, WebRTC

Scripts

CommandWhat it does
bun run devRun the workspace in development mode
bun run buildBuild all apps
bun run checkType-check the workspace
bun run lintLint and format-check with Biome
bun run lint:fixApply lint and formatting fixes
cd apps/worker && bun run deployDeploy the Worker to Cloudflare
cd apps/site && bun run indexnow:submitPing IndexNow (Bing and friends) after a deploy that changed pages

Contributing

Found a bug or have an idea? Open an issue. Contributions are welcome.

License

Apache License 2.0 © Vadym Rusin


Signals

GitHub stars
11
Forks
3
Last commit
Sep 2026
Weekly downloads
4
Advanced
Delivery
marklayer MCP server → your ahel gateway (mcp.ahel.ai) → every connected AI client.
Catalog kind
mcp-server
Gateway key
io-github-thevrus-marklayer
Source
github.com/thevrus/marklayer