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": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_indexA

Return the section index of a Markdown file as a nested tree.

Each node: {"heading": str, "level": int, "path": str, "children": [...]} The "path" field is the dot-separated address used by all other tools. Literal dots in heading text are represented as . in path strings.

get_sectionA

Return the heading line(s) and body of the section at path.

path is a dot-separated heading path, e.g. "My README.Installation.Prerequisites". Matching is case-insensitive. Returns the raw Markdown text of the section.

depth controls how many levels of child sections are included:

  • None (default): return the section and all descendants

  • 0: return the heading and its own body only (no child sections)

  • 1: heading + own body + immediate children

  • 2: heading + own body + children + grandchildren etc.

Raises an error string if the path does not exist.

search_sectionsA

Search all section bodies for lines matching query (regex).

Returns a list of match objects — one per section that contains at least one hit — in file order:

[
  {
    "path": "Root.Child",
    "matches": [
      {"line": 12, "text": "...the matching line text..."},
      ...
    ]
  },
  ...
]

line is the 1-based line number within the file. Only each section's own body is searched (not its children), so results are never duplicated across parent and child sections. Note: heading text is not searched — only section bodies. If the term you are looking for may appear in a heading, call get_index first and scan the returned paths. query is a Python regex; raises an error string if the pattern is invalid.

add_sectionA

Insert a new section into a Markdown file.

heading must start with 1–6 '#' characters followed by a space, e.g. "## New Section". content is the body text (no heading line). Placement: exactly one of under, before, after may be set, or all None to append.

  • under: insert as the last child of the named section

  • before: insert immediately before the named section

  • after: insert immediately after the named section (and all its children) Returns "ok" on success.

replace_sectionA

Replace the body of a section, preserving its heading line.

The heading line is kept unchanged; only the body text is replaced. Returns "ok" on success.

patch_sectionA

Return a unified diff of what replace_section would do, without writing.

Useful for previewing changes before committing them. Returns the unified diff as a string (empty string if no changes).

delete_sectionA

Delete a section from a Markdown file.

With include_children=True (default): deletes the heading, its body, and all child sections. With include_children=False: deletes only the heading and its own body; child sections are promoted. Returns "ok" on success.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.2/5.0

Scored across 7 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: adding, deleting, getting index, getting content, previewing replacement, replacing, and searching. Even the closely related patch_section and replace_section serve different functions (preview vs action). No overlap.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (add_section, delete_section, get_index, get_section, patch_section, replace_section, search_sections). Deviations are absent.

Tool Count5/5

7 tools is well-scoped for the domain of Markdown section manipulation. Each tool addresses a core operation without redundancy, and the count is neither too few nor too many.

Completeness4/5

The toolset covers essential CRUD-like operations (add, read, update, delete) plus search and preview. However, it lacks a tool to rename a section heading or move sections, which are minor gaps in a complete lifecycle.

Maintenance

ActivityActive
ResponsivenessNo issues