Skip to main content
Glama
Seraphoenixy

Ygdria MCP Server

by Seraphoenixy

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
YGDRIA_ETAPI_URLNoThe base URL of the Ygdria ETAPI server, e.g. http://127.0.0.1:4318. Must be an HTTP(S) origin without path. Defaults to http://127.0.0.1:4318.http://127.0.0.1:4318
YGDRIA_ALLOW_WRITENoWhether to enable write tools. Set to 'true' to allow write operations. Defaults to 'false'.false
YGDRIA_CONFIG_FILENoPath to an alternative INI configuration file. Defaults to ygdria-mcp.ini in the project root.ygdria-mcp.ini
YGDRIA_ETAPI_TOKENNoYour ETAPI token. If not set, the token from the configuration file (ygdria-mcp.ini) is used.

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
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_tree_overviewA

Explore roots or a placement's descendants automatically within node, depth, item-byte, and request budgets. Pass returned continuation to continue; depth-limited nodes are listed separately. Byte budget covers items; continuation is additional bounded navigation data.

get_notesA

Read up to 50 notes with per-note results. Choose metadata, excerpt, or full Markdown; a byte budget defers remaining IDs for another call. Protected notes remain inaccessible.

get_sectionA

Read a unique heading section body and current version. Pass the returned content unchanged as oldText to replace_section; headingPath lists ancestor titles and the target heading.

append_contentA

Append Markdown blocks (or literal code) to the latest note without replacing existing content. Required idempotencyKey makes retries safe for 30 days on the same local Ygdria database. Optionally require expectedVersion.

update_tagsB

Add and remove tags on the latest note without replacing unrelated tags. Additions win if a tag appears in both lists.

replace_sectionA

Replace the body under a unique hierarchy of heading titles, preserving its heading and all outside Tiptap nodes. Use get_section first. oldText is the exact returned Markdown section body, including nested subsections. Requires current expectedVersion. Ambiguous paths fail atomically.

move_placementsA

Move up to 50 placements sequentially. Each move is independent; returns per-item results and partial success, without cross-request atomicity. Stops on authentication or permission errors.

search_notesB

Search Ygdria notes through ETAPI. Optionally limit results to a placement and all its descendants. Results use noteId for follow-up note tools; snippets are plain text.

search_by_tagA

Find notes with an exact Ygdria tag, optionally limited to a placement and all its descendants.

list_tagsB

List all tags available through Ygdria ETAPI.

list_tree_rootsA

List only top-level tree nodes, paginated. Use resolve_tree_nodes for direct lookup or get_tree_overview for a budgeted overview.

get_tree_nodeC

Read compact metadata for exactly one placement node.

list_tree_childrenB

List direct child placement nodes, paginated. Use hasChildren to decide whether further expansion is useful.

get_tree_subtreeA

Read one placement and its descendants within explicit depth and node limits; use get_tree_overview to explore across roots within a response budget.

resolve_tree_nodesB

Find candidate placement nodes by a title fragment, then navigate with their placementId values.

get_noteB

Read a note through ETAPI. Read current content before replacing existing text; retain the returned version. A current note resource or prior write response can also supply the version.

create_noteB

Create a note within the user-authorized task, including necessary notes for organizing or summarizing. Use a unique idempotencyKey; on an uncertain network result retry only with the same key and identical parameters within 30 days.

update_noteA

Update title, body, or tags using the current version from a read, resource, or prior write response. On conflict, this tool reads and returns the latest note; reconsider the edit and never retry the stale version.

edit_contentA

Apply atomic literal oldText/newText edits to a note read earlier with get_note. Each target must match exactly as expected; use dryRun to preview.

replace_contentA

Replace the complete Markdown body using the version from a prior get_note call as If-Match.

move_placementC

Move a placement tree node. placementId, not noteId, identifies the item being moved.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.3/5.0

Scored across 21 tools

Disambiguation3/5

The set has several overlapping clusters: tree exploration is split across list_tree_roots, get_tree_node, list_tree_children, get_tree_subtree, resolve_tree_nodes, and get_tree_overview, and content modification is split across update_note, edit_content, replace_content, append_content, and replace_section. Descriptions do provide guidance on when to use each, but an agent can still hesitate between the budgeted overview tools and the explicit subtree tools.

Naming Consistency5/5

Tool names consistently use snake_case and a predictable verb_noun or verb_prep_noun pattern, such as search_notes, get_note, create_note, update_tags, replace_section, and move_placement. Singular/plural distinctions like move_placement versus move_placements are also clear and intentional.

Tool Count3/5

With 21 tools, the server is on the heavy side for a note/tree API and has many specialized navigation and editing operations. The count is not extreme, but it is borderline enough that agents must choose among several similarly scoped tree and content tools.

Completeness3/5

The surface covers note search, reading, creation, updates, content editing, tag updates, and placement moves well. However, there are notable lifecycle gaps: no delete_note or delete_placement tools and no explicit tool for creating or deleting placement tree nodes, which may cause dead ends for full resource management.

Maintenance

ActivityMaintained
ResponsivenessNo issues