Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TYPEWRITER_URLNoOptional fixed connect URL for socket mode
TYPEWRITER_MODENoOperation mode: 'socket' or 'file'socket
TYPEWRITER_URL_FILENoPath to file storing the last connect URL.typewriter-session-url
TYPEWRITER_PAGES_DIRNoPages directory for file modeplugins/Typewriter/pages

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
}

Tools

Functions exposed to the LLM to take actions

NameDescription
connection_statusA

Show current Typewriter connection status and whether a saved connect URL exists.

connect_liveB

Connect to a live Typewriter websocket using the full URL from /typewriter connect.

list_pagesA

List all pages (name, id, type, entry count).

read_pageA

Read a full page (all entries) by page name or id.

create_pageB

Create a new page. Types: sequence, static, cinematic, manifest.

rename_pageC

Rename a page.

delete_pageB

Delete a page and all its entries.

add_entryA

Add an entry to a page. fields = raw Typewriter entry JSON (needs 'name' and 'type'; id is generated). Common types: spoken_dialogue, option_dialogue, simple_speaker, permanent_fact.

update_entryB

Update a single field of an entry by dotted path (e.g. 'text', 'speaker', 'criteria.0.value').

replace_entryB

Replace a whole entry with a new object (must keep the same id).

delete_entryC

Delete an entry by id.

connect_entriesA

Wire story flow: append 'toEntryId' to the 'triggers' list of 'fromEntryId'.

search_entriesB

Full-text search across all pages/entries.

validate_storylineB

Find broken references (triggers/triggeredBy pointing to missing ids).

publishA

Publish staging changes to production (applies edits live in-game).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 15 tools

Disambiguation5/5

Each tool targets a distinct resource and action: pages vs entries vs connection vs publish. Update_entry and replace_entry are clearly differentiated by scope (field-level vs whole object). Even connect_live and connection_status are distinct (action vs status check).

Naming Consistency4/5

Most tools follow verb_noun snake_case (list_pages, create_page, add_entry, delete_entry). Minor deviations: 'connection_status' (noun phrase), 'connect_live' (verb+adverb), and 'publish' (single verb) break the pattern slightly, but the style remains consistent and readable.

Tool Count5/5

15 tools provide a well-scoped set covering connection, page management, entry management, story wiring, search, validation, and publishing. No redundancy or bloat; each tool serves a clear purpose in the narrative authoring workflow.

Completeness4/5

The surface covers the full lifecycle for pages and entries, plus important cross-cutting concerns (search, validation, publish). Minor gaps exist (no update_page for metadata, no remove_trigger operation), but agents can work around these using existing tools without major friction.

Maintenance

ActivityStale
ResponsivenessNo issues