Skip to main content
Glama

Server Details

Dashboards, trackers and docs your agents build and keep current. Your team reads them by link.

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
streamfog/quillm-plugin
GitHub Stars
0
ChatGPT
–
Claude
–

TDQS

A4.2/5.0

Scored across 17 tools

Disambiguation5/5

Each tool targets a distinct resource and action: view CRUD (create/get/update/delete/check/share/open), dataset CRUD (create/update/delete/upsert rows/delete rows/query), workspace overview, guide, notes, and feedback. Overlaps are minimal and descriptions clarify when to use check_view vs get_view, open_page vs share_view, and write_notes vs report_feedback.

Naming Consistency5/5

All tools follow a consistent snake_case verb_noun pattern (e.g., create_view, delete_dataset, get_workspace, upsert_rows). No deviations or mixed conventions are present, making the naming predictable and easy to parse.

Tool Count4/5

With 17 tools, the set is slightly above the typical 3–15 well-scoped range, but each tool earns its place by covering a necessary action for views, datasets, or workspace management. The count is reasonable for the domain, though trimming one or two could make it leaner.

Completeness5/5

The surface provides full lifecycle coverage for both views (create, get, update, delete, check, share, open) and datasets (create, update schema, delete, upsert rows, delete rows, query). Supporting tools like get_workspace, get_guide, write_notes, and report_feedback round out the domain without obvious gaps.

Available Tools

17 tools
check_viewTest-render a viewA
Read-onlyIdempotent
Inspect

Test-renders a view in a real headless browser, reviews it, and reports render errors, console errors, which datasets it loaded, and what a reader would still be missing. The review sends a screenshot and the page's text to OpenAI, unless the workspace turned checks off. Set screenshot=true to also get an image so you can judge the layout yourself. create_view and update_view already run this automatically; use this tool when you want the screenshot, after changing a dataset, or to confirm the review is clean before you tell the user it is done.

Inputs: slug (required), screenshot.

create_datasetCreate a datasetAInspect

Creates a named table that views read with useDataset(name). Define typed columns and a key: the column(s) that uniquely identify a row (e.g. ["month"], or ["date","campaign"]). The key makes updates idempotent: pushing a row with an existing key updates it instead of duplicating it. You can pass initial rows in the same call. Prefer tidy, raw-ish data (one row per month/day/entity with numeric columns) over pre-aggregated text; views compute totals and deltas themselves. Check get_workspace first: if a dataset with this data already exists, add to it with upsert_rows.

Inputs: key (required), name (required), columns (required), description (required), +2 more.

create_viewCreate a viewAInspect

Creates a new view: a live page at a stable URL in the user's dashboard app. source is ONE file of React (JSX/TSX) that default-exports a component and reads its data with useDataset("dataset_name") from "quillm". Do not embed data in the source; create the dataset first (create_dataset), then the view. Pass the brief: the user's request in their words, and what you asked them and what they answered. When the brief is thin, the response suggests what to ask. Decide the questions next: what the user asked for is the scope, and a small request gets a small page. The view is compiled, test-rendered in a real browser and reviewed immediately: the response tells you whether it rendered, lists errors, and lists what a reader would still be missing, so read it and fix problems with update_view. The checks use two outside services unless the workspace turned them off: TypeSafe reads the brief, and OpenAI reads a screenshot and the page's text. Call get_guide first for the template and available libraries. Check get_workspace first: if a suitable view already exists, use update_view instead.

Inputs: kind (required), slug (required), brief (required), title (required), +8 more.

delete_datasetDelete a datasetA
Destructive
Inspect

Permanently deletes a dataset and all its rows. Refuses if any view still reads it, unless force=true. Only do this when the user asked for it.

Inputs: name (required), reason (required), force.

delete_rowsDelete rowsB
Destructive
Inspect

Deletes rows from a dataset by key, e.g. keys: [{"month": "2026-01"}], or every row with all=true (use before re-loading a dataset from scratch).

Inputs: dataset (required), all, keys, note.

delete_viewDelete a viewA
Destructive
Inspect

Permanently removes a view from the user's workspace. Only do this when the user asked for it.

Inputs: slug (required), reason (required).

get_guideRead the Quillm guideA
Read-onlyIdempotent
Inspect

Returns the complete how-to for Quillm: the view code contract, a working template, the libraries you can import, styling rules, and dataset conventions. Read this once per session before you call create_view or update_view (not again: get_workspace in an empty workspace already includes it).

Inputs: no named parameters.

get_viewRead a viewA
Read-onlyIdempotent
Inspect

Returns one view in full: metadata, agent notes, revision history, the schema of every dataset it reads, and its React source code. Always call this before update_view so your edits match the current source exactly.

Inputs: slug (required), revision, include_source.

get_workspaceWorkspace overviewA
Read-onlyIdempotent
Inspect

START HERE. Returns everything that exists in the user's Quillm workspace in one compact overview: every view (slug, purpose, datasets it reads, URL, who last changed it), every dataset (columns, key, row count, freshness), workspace notes left by agents, and recent changes. Call this at the start of every task so you extend what exists instead of duplicating it.

Inputs: no named parameters.

open_pagePagesA
Read-onlyIdempotent
Inspect

Shows the user a page inside the chat, live, with today's data, in apps that display pages (ChatGPT); elsewhere it returns the page's link. Call it once, last, when you have finished creating or changing a page or its data (after the review is clean), and when the user asks to see, open or show a page. create_view, update_view and upsert_rows show nothing in the chat themselves. Without a slug, lists every page.

Inputs: slug.

query_datasetRead rowsA
Read-onlyIdempotent
Inspect

Reads rows from a dataset so you can inspect or analyse what is stored (e.g. to see the latest month before adding the next one). Supports simple filters, ordering and paging. The response includes the total row count.

Inputs: dataset (required), limit, where, offset, +2 more.

report_feedbackReport a Quillm limitationAInspect

Files a note for Quillm's maintainer that Quillm itself fell short, so it can be improved. The note goes to Quillm's maintainer, a person outside the user's workspace, so include nothing private from the user's data. Call it when: you could not do what the user asked because Quillm lacks a capability; you had to use a workaround (if you changed a column type, reshaped data, or dropped something the user asked for to get past an error, that is a workaround); an error message or the guide was confusing or wrong; or a library/feature you needed is missing. One call per distinct problem, filed as soon as you recognise it (before asking the user a follow-up question, not at the end: the conversation may never get there). Still finish the task as well as you can and tell the user about the limitation. Do NOT use it for problems with the user's data or request, for your own coding mistakes that the render check caught, or for praise.

Inputs: goal (required), kind (required), details (required), summary (required), +2 more.

share_viewShare a pageA
Destructive
Inspect

Changes who can open a page: "collection" (people with access to its collection, the default), "workspace" (everyone in the workspace) or "link" (anyone with the link, no account needed, read-only; embeddable in Notion or a wiki). Use it when the user asks you to share a page or to give them a link to send. Returns the link. Only when the user asked: a link makes the page and the data it shows readable by whoever has it.

Inputs: slug (required), level (required).

update_datasetChange a dataset's schemaA
Destructive
Inspect

Changes a dataset's schema or metadata: add columns, remove columns, fix a column's description or type (update_columns), change the description or update cadence. Keep descriptions true: when you start storing a new category or scenario, update the column description that lists them. Existing rows keep their values; new columns are null until you upsert values. The key cannot be changed; create a new dataset for that.

Inputs: name (required), note, add_columns, description, +3 more.

update_viewUpdate a viewA
Destructive
Inspect

Changes an existing view's code or metadata. Pass expected_revision (the revision get_view showed you) so you never overwrite a change another agent made in the meantime. Prefer edits (exact string replacements, like a find-and-replace; each old_string must match the current source exactly and be unique) for targeted changes such as adding a chart. Use source only for a full rewrite, or restore_revision to roll back. Every call creates a new revision, is test-rendered and reviewed; a revision that fails its render check is NOT published (readers keep the last working one) and your next edits apply to it. The review sends a screenshot and the page's text to OpenAI, unless the workspace turned checks off. When a follow-up request replaces an earlier approach (a better burn figure, a new default), replace the old blocks instead of keeping both: revisions make removal safe. Call get_view first to get the current source. To change only the numbers a view shows, do NOT use this tool: use upsert_rows on the dataset.

Inputs: slug (required), change_note (required), icon, kind, +10 more.

upsert_rowsAdd or update rowsA
DestructiveIdempotent
Inspect

Adds or updates rows in a dataset. This is how you "add new data" or "correct a number": every view reading the dataset shows the change immediately, with no view edit needed. Rows are matched on the dataset's key columns: a new key inserts, an existing key is merged (only the columns you send are overwritten). Safe to re-run. Values must match the column types (number columns take JSON numbers, not strings like "$1,200"; date columns take ISO strings like "2026-03-01" or "2026-03"). Unknown or not applicable is null, never "" or 0. It writes only to this Quillm workspace and calls no other service.

Inputs: rows (required), dataset (required), note.

write_notesLeave notes for future agentsA
DestructiveIdempotent
Inspect

Saves durable notes for future agents (including yourself in a later session, with no memory of this one). Use it to record what is NOT obvious from the code: where the data comes from and how to refresh it (queries, API calls, file paths), definitions ("MRR excludes one-off invoices"), and user preferences ("Kev wants EUR, weekly granularity"). Notes attach to a view, a dataset, or the whole workspace, and are shown in get_workspace / get_view. Replaces the previous notes for that target, so include what should be kept.

Inputs: notes (required), target_type (required), target.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      C
      quality
      B
      maintenance
      A living map of all your work: projects, tasks, decisions and what waits on whom, kept by you and your agents through the same tools, with every change logged.
      10
      4 npm
      1
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Self-hosted task tracker and MCP server for AI coding agents. Append-only case files preserve decisions, failed attempts, questions, and check results across sessions. A live web board lets people track progress and answer agents. Runs locally in Docker and connects to Claude Code, Codex, Cursor, and other Streamable HTTP MCP clients. MIT licensed.
      30
      6
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Lets coding agents inspect fleet health, file and investigate bugs, request coordinated restarts, and claim, release, and resolve tickets in a shared incident queue without touching processes directly.
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.