OSS-first, MCP-native research and workflow canvas for agents, creators, and Starlight systems. Provides local canvas management, source ingestion, node operations, and canvas export capabilities.
Strong tool coverage with 18 well-named, action-verb-prefixed tools (list_, get_, create_, add_, update_, ingest_, connect_, run_, export_). All tools have descriptions (avg ~120 chars, within 10-1024 baseline). Input schemas are present and mostly complete with typed parameters and enums. However, output schemas are not documented, LLMs cannot predict response structure for downstream chaining. Error handling guidance is absent; tools lack recovery hints. Some parameter descriptions are minimal (e.g., 'Canvas identifier' for canvasId). Position objects lack min/max constraints. No explicit idempotency or destructive operation warnings despite WRITE-risk tools.
Add a typed node to a local canvas.
Create an edge connection between two nodes with a specified relationship type.
Create a local canvas from a v0.1 template.
Attach transcript, OCR, timestamp notes, visual observations, claims, or excerpts to an existing source node and rebuild its local artifact chunks.
Export a canvas in multiple formats (JSON, Markdown, Codex continuation prompt, or agent context packets).
Read one local canvas by id.
Read the most recently updated local canvas so an agent can resume the same canvas the human was using.
Output schemas not documented. LLMs cannot predict response structure (fields, types, pagination) for downstream tool chaining. Breaks pattern:tool-chain and pattern:response-shaper.
No error handling guidance. Tools lack recovery hints (e.g., 'If canvas not found, call list_canvases() first'). Violates pattern:recovery-guide.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2025-06-18+ | v2 |
Import a portable canvas JSON export. If the id already exists, it is imported as a non-destructive copy.
Intelligently ingest mixed pasted context and automatically detect source type (URL, YouTube, PDF, text, etc.).
Ingest an image reference and create a source node with optional description or alt text.
Ingest a PDF file and create a source node with extracted text.
Create a durable local source artifact and node from pasted text, transcript text, Markdown, JSON, or notes.
Ingest content from a URL and create a source node with fetched text.
Ingest a video reference and create a source node with optional transcript or notes.
Ingest a YouTube video and create a source node with transcript or manual notes.
List local Starlight Agent Canvas records.
Run a local action on canvas nodes (e.g., summarize, extract claims, build decision matrix).
Update a local canvas node title, body, metadata, or position.
Destructive/write operations lack explicit warnings or confirmation patterns. Tools like delete_canvas (if it exists) or import_canvas (non-destructive copy) need idempotentHint or destructiveHint annotations per MCP spec.
Position parameter (x, y coordinates) lacks min/max constraints or format guidance. LLMs may pass invalid values (negative, extreme) without validation hints.
Parameter descriptions are minimal (e.g., 'Canvas identifier', 'Node identifier'). Should include context: 'Canvas identifier (UUID format, required to locate the canvas in local storage)'.