Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/afriemann/md-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server