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
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
update_cells

Batch-update cells. Requires version hash from read_table.

Each update is {row, column, value} where:

  • row: 0-based data row index (header row is NOT counted)

  • column: letter ("A"), name ("Priority"), or composite ("B:Priority")

  • value: new cell content (Markdown inline formatting supported)

On success returns ONLY v:{new_hash}. On error returns JSON: {"error": "STALE_READ"|"EDIT_ERROR"|..., "message": "..."}. If STALE_READ: call read_table again for current version, then retry.

Args: file_path: Absolute path to the Markdown file. table_index: 0-based table index from list_tables. version: 12-char hex hash from read_table (after "v:", e.g. "a1b2c3d4e5f6"). updates: List of {row: int, column: str, value: str} objects.

insert_row

Insert a new row. Requires version hash from read_table.

Provide values as a dict mapping column identifiers to cell content. Column identifiers: letter ("A"), name ("Priority"), or composite ("B:Priority"). Omitted columns default to empty string.

On success returns ONLY v:{new_hash}. On error returns JSON with "error" and "message" fields.

Args: file_path: Absolute path to the Markdown file. table_index: 0-based table index from list_tables. version: 12-char hex hash from read_table (after "v:"). position: 0-based row index for insertion. Use -1 to append at the end. values: Dict mapping column identifiers to cell values. Example: {"Name": "Alice", "B": "30", "C:City": "NYC"}

delete_row

Delete a row. Requires version hash from read_table.

On success returns ONLY v:{new_hash}. On error returns JSON with "error" and "message" fields.

Args: file_path: Absolute path to the Markdown file. table_index: 0-based table index from list_tables. version: 12-char hex hash from read_table (after "v:"). row_index: 0-based data row index to delete (header row is NOT counted).

replace_table

Replace an entire table with new content. Requires version from read_table.

Provide new_content as a pipe table string (header row + delimiter + data rows). The server writes back in the ORIGINAL file format: pipe stays pipe, GitBook HTML stays GitBook HTML (attributes preserved).

On success returns ONLY v:{new_hash}. On error returns JSON with "error" and "message" fields.

Args: file_path: Absolute path to the Markdown file. table_index: 0-based table index from list_tables. version: 12-char hex hash from read_table (after "v:"). new_content: Full pipe table string including header and delimiter rows.

create_table

Create a new table in a Markdown file. Provide content as a pipe table.

The table is written in the specified format: "html" (default, collapsed single-line HTML suitable for GitBook) or "pipe" (GFM pipe table).

No version hash needed — this creates, not edits.

On success returns v:{hash} of the new table. Use this hash with read_table and write tools to edit the table immediately. On error returns JSON with "error" and "message" fields.

Args: file_path: Absolute path to the Markdown file. Created if it doesn't exist. content: Table in pipe format (header row + delimiter + data rows). Example: "| Name | Age |\n| --- | --- |\n| Alice | 30 |" position: 1-based line number to insert AFTER. -1 appends (default). 0 inserts at top. format: "html" (default) or "pipe". HTML produces collapsed single-line GitBook-compatible output. GitBook will auto-add width/data-* attributes on sync.

insert_column

Insert a new column. Requires version hash from read_table.

All existing rows are populated with default_value (empty string if omitted).

On success returns ONLY v:{new_hash}. On error returns JSON with "error" and "message" fields.

Args: file_path: Absolute path to the Markdown file. table_index: 0-based table index from list_tables. version: 12-char hex hash from read_table (after "v:"). name: Header text for the new column. default_value: Value for all existing rows (default: empty string). position: 0-based column index for insertion. -1 appends to the right (default).

delete_column

Delete a column. Requires version hash from read_table.

On success returns ONLY v:{new_hash}. On error returns JSON with "error" and "message" fields.

Args: file_path: Absolute path to the Markdown file. table_index: 0-based table index from list_tables. version: 12-char hex hash from read_table (after "v:"). column: Column letter ("A"), name ("Priority"), or composite ("B:Priority").

rename_column

Rename a column header. Row data is unchanged. Requires version from read_table.

On success returns ONLY v:{new_hash}. On error returns JSON with "error" and "message" fields.

Args: file_path: Absolute path to the Markdown file. table_index: 0-based table index from list_tables. version: 12-char hex hash from read_table (after "v:"). old_name: Current column identifier: letter ("A"), name, or composite ("B:Priority"). new_name: New header text for the column.

list_tables

List all tables in a Markdown file with column descriptors and row previews.

Prefer this over grep for discovering table structure — returns column names, row counts, formats, and version hashes. Use search_tables to find specific data across tables.

Output format per table: T{index} {format} {rows}r {cols}c v:{hash} [{section heading}] {column descriptors as A:Name | B:Age | ...} row0: {first row cell values}

Use table_index (the number after T) with read_table and write tools.

Args: file_path: Absolute path to the Markdown file. preview_rows: Number of data rows to preview (default 1, 0 for none).

read_table

Read a full table as a clean pipe table with version hash.

Prefer this over reading files directly — handles HTML tables, preserves inline formatting, and returns the version hash needed for any edit.

First line of output is metadata: v:{hash} {format} {rows}r {cols}c [{section}] Extract the 12-char hex hash after "v:" (e.g. "a1b2c3d4e5f6") and pass it as the version argument to any write tool.

If a write returns STALE_READ, call read_table again for a fresh version.

Args: file_path: Absolute path to the Markdown file. table_index: 0-based table index from list_tables (the number after T).

search_tables

Search for rows matching a value across one or all tables in a file.

Returns matching rows with table index, row index, and version hash so you can immediately follow up with a write tool. Prefer this over grep for table data — it understands column structure and handles HTML tables.

Two search modes (regex overrides pattern if both given):

  • pattern: case-insensitive substring match (simple, no escaping needed)

  • regex: full regex via re.search (e.g. D 1\.\d+ for sub-items)

If neither pattern nor regex is provided, returns all rows.

Args: file_path: Absolute path to the Markdown file. pattern: Case-insensitive substring to match in cell values. regex: Regular expression to match in cell values (overrides pattern). table_index: Search a specific table (0-based), or -1 for all tables. column: Restrict search to a column (letter, name, or composite). Empty string searches all columns.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources