Noyalib MCP logo

Noyalib MCP

Lossless YAML parsing, path-based edits, extraction, and JSON Schema validation over stdio, streamable HTTP, or HTTP+SSE.

Install Noyalib MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "noyalib-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@sebastienrousseau/noyalib-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

The noyalib-mcp MCP server exposes lossless YAML parsing, inspection, editing, and validation through typed MCP tools. It can return parsed JSON data, read or replace values by dotted or indexed paths, and validate YAML against a supplied JSON Schema. Lossless operations preserve comments, blank lines, and unaffected formatting. Use it when an agent needs structured YAML changes without rewriting the entire document.

Use cases

  • Inspect YAML values at agent-selected paths
  • Update configuration values without reformatting files
  • Parse YAML into JSON-compatible data
  • Validate YAML against supplied JSON Schema
  • Run YAML operations through an HTTP MCP endpoint

Key features

  • Lossless YAML path editing
  • Raw fragment extraction
  • YAML-to-JSON parsing
  • JSON Schema validation
  • stdio, streamable HTTP, and HTTP+SSE transports
  • Typed MCP tool results

Tools5

What Noyalib MCP lets your agent do. Expand a tool for its parameters.

Self-reported~242 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 3d ago

Recent health check succeeded.

7/7 checks healthy over the last 51d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 16d ago via OSV.dev · @sebastienrousseau/noyalib-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1Stargazers on the source repository.
npm downloads2.4kPackage downloads in the last 30 days.
Last commit3d agoMost recent push to the default branch.
Tools exposed5Callable tools this server registers over MCP.

How Noyalib MCP works

What noyalib-mcp MCP server does

The noyalib-mcp MCP server connects MCP clients with noyalib’s YAML parser, concrete syntax tree editor, and schema validation capabilities. It handles YAML 1.2 data and supports both in-memory text operations and file-oriented path operations.

The server exposes tools for reading a raw fragment, replacing a value in a file, converting YAML into a JSON data model, editing YAML text without unnecessary rewrites, and checking syntax or schema compliance. Parsed streams are represented as arrays, and YAML tags are omitted from the returned JSON model.

How it works

The server communicates through MCP and supports three transport choices:

  • stdio for child-process integrations, used by default
  • Streamable HTTP at /mcp
  • Legacy HTTP with SSE at /sse and /messages/

HTTP transports accept a configurable host and port. The default loopback binding limits exposure to the local machine unless changed deliberately. Clients must complete MCP initialization and protocol negotiation before invoking tools.

The noyalib_get tool accepts a file string and a dotted or indexed path such as server.host or items[0].name. It returns the source fragment as written, without re-quoting or canonicalization. noyalib_set accepts a YAML fragment as the replacement value and rewrites the document through the lossless CST, limiting changes to the selected span while retaining comments, blank lines, and sibling formatting.

noyalib_parse and noyalib_edit operate on supplied YAML strings and do not access disk. The former returns the JSON data model; the latter replaces one path-selected value and returns the complete edited text. noyalib_validate reports either a parse error with line and column information or all JSON Schema violations with their paths.

Setup and configuration

Install the Rust binary with cargo install noyalib-mcp --locked, run the npm wrapper with npx @sebastienrousseau/noyalib-mcp, or start the published container image. Building from source requires Rust 1.88.0 or newer. Linux, macOS, and Windows are tested by CI.

Start the default stdio server with noyalib-mcp. For network transports, use flags such as --transport streamable-http --host 127.0.0.1 --port 8000 or select SSE with --transport sse. No environment variables are documented as required; configuration is provided through command-line options.

Tools and capabilities

  • Extract raw YAML source at a dotted or indexed path.
  • Replace a selected file value using a YAML fragment.
  • Parse YAML into a JSON-compatible data model.
  • Edit one value in an in-memory YAML string while preserving unrelated text.
  • Validate YAML syntax and supplied JSON Schema constraints.
  • Return typed MCP results through declared output schemas and structured content.

Limitations and notes

The noyalib-mcp MCP server does not fetch remote schemas. Callers must provide trusted schema content when schema validation is needed. HTTP deployments should have authentication and authorization in front of them before exposure to an untrusted network.

Use the underlying noyalib library directly when MCP is not needed, or use noya-cli for shell pipelines and repository-wide validation. Treat YAML, file content, schemas, and MCP metadata as untrusted input. The server is distributed under Apache-2.0 OR MIT licensing.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Noyalib MCP

noyalib-mcp is an MCP server that connects MCP clients to noyalib’s lossless YAML parser, CST editor, and schema validator. Its main tools read and replace path-selected values, parse YAML into a JSON data model, edit YAML text without rewriting unrelated formatting, and report parse or JSON Schema validation errors.

Install it with Cargo, npx, or Docker. Use `cargo install noyalib-mcp --locked`, run `npx @sebastienrousseau/noyalib-mcp`, or start `ghcr.io/sebastienrousseau/noyalib-mcp:latest`. Building from source requires Rust 1.88.0 or newer.

Yes, Cursor can use it as a standard MCP server because it supports stdio and HTTP-based MCP transports and has no client-specific requirement documented here. Configure Cursor to launch the binary over stdio or connect to the configured HTTP endpoint.

Run `noyalib-mcp --transport streamable-http --host 127.0.0.1 --port 8000` for the `/mcp` endpoint. The server also supports `--transport sse`, which exposes `/sse` and `/messages/`. Add authentication and authorization before exposing either transport to an untrusted network.

Yes, its lossless edit operations preserve comments, blank lines, and unaffected sibling formatting. File updates through `noyalib_set` change only the selected span, while `noyalib_edit` returns the edited in-memory YAML text.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewNoyalib MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/noyalib-mcp?style=directory)](https://allmcps.com/mcp/noyalib-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/noyalib-mcp"><img src="https://allmcps.com/api/badge/noyalib-mcp?style=directory" alt="Noyalib MCP on AllMCPs" /></a>