What Nodiom MCP MCP server does
Nodiom MCP MCP server gives MCP-compatible agents structured access to Markdown files stored on the machine where the agent runs. Instead of treating a document as an undifferentiated string, it exposes headings, list items, paragraphs, and tables as addressable nodes. This lets an agent inspect a document, read only a relevant section, update one item, append content, or delete a selected node while leaving unrelated content unchanged.
The server is intended for local files and accepts absolute paths. It does not provide hosted document sharing; the README points users needing shared state across machines or people to Nodiom Cloud instead.
How it works
An agent can begin with nodiom_tree to retrieve a nested outline of headings. It can then use selectors such as # Project > ## Tasks or ## Tasks > li[0] to address content. Selectors are separated by > and can identify heading levels, list positions, paragraphs, tables, repeated headings, or list items containing specific text.
Content-aware selectors can remain associated with the same list item when other items are inserted or removed. A selector using li[contains="..."] must resolve to exactly one item. Repeated headings require an index, such as ## Notes[1]. If a selector fails, the server returns fuzzy suggestions. YAML and TOML frontmatter is preserved and is not interpreted as a heading.
Setup and configuration
Install the package globally with npm:
npm install -g @synexiom-labs/nodiom-mcp
Alternatively, run it on demand with npx, so no global installation is needed:
npx @synexiom-labs/nodiom-mcp
The stdio command can be added to an MCP client configuration. The README provides configurations for Claude Desktop, Cursor, and Claude Code. Claude Code can register the server globally with -s user, or leave it scoped to the project where the command is run. No environment variables or hosted endpoint are required for the local setup.
Tools and capabilities
Nodiom MCP MCP server provides seven tools:
nodiom_tree returns a document's heading structure.
nodiom_read returns the Markdown body at a selector, excluding the selected heading line.
nodiom_read_list returns list items under a section as JSON, including each item's source, marker, and nested lines.
nodiom_write replaces a section's content while preserving its heading. When aimed at one list item, it can preserve that item's marker or checkbox.
nodiom_append adds content after the last item in a selected section.
nodiom_delete removes a selected node or section.
nodiom_query reports whether a section exists and returns metadata such as type, depth, child count, and index.
These operations support focused changes such as adding a task, replacing a section body, or removing one completed item without loading the entire file as a string.
Limitations and notes
The local server operates on Markdown files by absolute path on the agent's machine. The provided setup uses stdio rather than a remote service. Shared documents, cross-machine collaboration, human review, attribution, and hosted access belong to the separately described Nodiom Cloud product, not this local package.
Selectors should be chosen carefully: repeated headings need indexes, and content selectors must identify exactly one item. The package is distributed under the MIT license.