Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": true
}
resources
{
  "subscribe": false,
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_open_documentsA

List the PDFs open in Skim, frontmost first: name, path, page count, current page.

get_reading_contextA

Everything about what the reader is looking at, in one call.

Returns the front document (name, path), its current page, the live text selection (explicitly empty when nothing is selected), pending red underlines with their quoted text, page, color and comment, the page's text layer, and a PNG of the page with the selection (blue, only when it is on the rendered page) and the pending underlines on that page (red) outlined. The image is the ground truth for math; the text layer may garble formulas. Read-only.

get_pending_underlinesA

List pending (red) underlines of a document in reading order, with quoted text.

mark_processedA

Recolor pending (red) underlines gray by id. MODIFIES the reader's Skim document.

Only run after the reader has approved. Highlights and underlines of other colors are skipped, never changed. Nothing is deleted.

clear_processedA

PERMANENTLY DELETE processed (gray) underlines by id. MODIFIES the Skim document.

Only run after the reader has explicitly approved clearing these ids. Deletes exactly the ids passed, and only if they are gray underlines: pending (red) underlines, highlights and other markup are skipped.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.1/5.0

Scored across 5 tools

Disambiguation4/5

The mutation tools (mark_processed, clear_processed) and their read counterparts are clearly distinct. However, get_reading_context already bundles the front document, its pending underlines, and page info, which overlaps with get_pending_underlines and get_open_documents, so an agent may be unsure when to call the narrow getters versus the aggregate.

Naming Consistency5/5

All names use snake_case with a verb-first, noun-object pattern (get_/mark_/clear_ + resource). The verb variation is semantically meaningful (reads vs. state mutations) rather than inconsistent.

Tool Count5/5

Five tools is well-scoped for a Skim reading-support server: two read getters, one aggregate context call, and two annotation-state mutations. Every tool earns its place with no filler.

Completeness4/5

The pending-red → gray → deleted lifecycle is fully covered, plus document listing and rich reading context. The main gap is the absence of an inverse to mark_processed (no way to revert gray back to red) or any annotation-creation ability, though the core workflow is complete.

Maintenance

ActivityMaintained
ResponsivenessNo issues