Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ANNOTATE_DIRNoWhere marks are stored.<cwd>/.annotations
ANNOTATE_CHANNELNoPlaywright channel; unset-able to force bundled Chromium.chrome
ANNOTATE_PROFILENoPersistent browser profile.<ANNOTATE_DIR>/chrome-profile
MCP_TOOL_TIMEOUTNoTimeout limit as an env var; defaults to ~28h when unset.
ANNOTATE_HEADLESSNoSet to '1' only for the smoke test — headed is the point.0

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
annotate_openA

Open the annotation browser (headed Chrome, persistent profile) and optionally navigate to a URL. The comment/pencil toolbar is injected into every page automatically. Call this first; the human then browses and marks up pages themselves. ALWAYS follow this with annotate_wait in the same turn — the human expects pressing Send to reach you, and it only does while something is parked.

annotate_waitA

Park until the human presses Send in the review panel, then return that batch. This is the main hand-off and the ONLY way a send reaches you on its own — an MCP server cannot start a turn, so with nobody parked a send just sits in the store until someone asks for it. Call this immediately after annotate_open and again after handling each batch. It is cheap to park: some clients (Claude Code) move a call still running after two minutes to a background task, so you keep working and the batch arrives as a task notification. The overlay shows the human a live indicator of whether anyone is parked.

annotate_listA

List annotation marks as a readable briefing, grouped by page. Use this to check what is pending without waiting for a send.

annotate_inboxA

Re-read the most recent Send batch without waiting. Useful if the conversation moved on and you need the original request again.

annotate_screenshotA

Screenshot the current page with the drawings visible but the toolbar hidden. Pass a markId to crop tightly around that mark — the fastest way to see what a squiggle actually meant.

annotate_resolveA

Mark items as done once you have acted on them. They stay visible on the page but dim, so the human can see what you handled.

annotate_clearA

Delete marks permanently. With no ids, deletes everything.

annotate_closeA

Close the annotation browser. Marks are kept on disk.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ElaineMHr/annotate-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server