# io.github.sebastienrousseau/noyalib-mcp (oci · ghcr.io/sebastienrousseau/noyalib-mcp:0.0.18)

MCP server for lossless YAML 1.2 parsing, formatting, and validation (pure Rust).

- Trust score: 39/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- oci · `ghcr.io/sebastienrousseau/noyalib-mcp:0.0.18`: 39/100 (this document), [markdown](https://verifymcp.io/servers/sebastienrousseau-noyalib-mcp/ghcr-io-sebastienrousseau-noyalib-mcp-0-0-18.md), [page](https://verifymcp.io/servers/sebastienrousseau-noyalib-mcp/ghcr-io-sebastienrousseau-noyalib-mcp-0-0-18)

## Channel facts

- Registry: `oci`
- Package: `ghcr.io/sebastienrousseau/noyalib-mcp:0.0.18`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 0/100
  - Malware scan not yet available for this package.
  - CVE data not yet available for this package.
  - Install-script risk not yet assessed.
  - Dependency-health data not yet available.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT OR Apache-2.0).
  - Actively maintained (last published 2 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 85/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 517 tokens (~103/item across 5 items; 3 tools + 2 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

**Unverified: 2 categories.** Categories scored 0 because we could not verify them: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add sebastienrousseau-noyalib-mcp -- docker run --rm -i ghcr.io/sebastienrousseau/noyalib-mcp:0.0.18
```

### Codex

```bash
codex mcp add sebastienrousseau-noyalib-mcp -- docker run --rm -i ghcr.io/sebastienrousseau/noyalib-mcp:0.0.18
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sebastienrousseau-noyalib-mcp": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "--rm",
        "-i",
        "ghcr.io/sebastienrousseau/noyalib-mcp:0.0.18"
      ],
      "enabled": true
    }
  }
}
```

### Hermes

```yaml
mcp_servers:
  sebastienrousseau-noyalib-mcp:
    command: "docker"
    args: ["run", "--rm", "-i", "ghcr.io/sebastienrousseau/noyalib-mcp:0.0.18"]
```

### Other

```json
{
  "mcpServers": {
    "sebastienrousseau-noyalib-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/sebastienrousseau/noyalib-mcp:0.0.18"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 39, +30)

- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional regression] MCP protocol: unverified → fail
- [functional improvement] Schema quality: unverified → 100
- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Tool coverage: 100
- [functional] First check of Schema quality: pass
- [functional] First check of Schema quality: excellent
- [functional] First check of Schema quality: fail

### 2026-08-01 (score 9)

First indexed and scored.

## MCP tools (3)

### `noyalib_get` (~115 tokens)

Read a YAML value (lossless)

Read the YAML value at a dotted/indexed path in the given file and return the source slice exactly — no re-quoting, no canonicalisation, comments and formatting preserved. Use this to inspect a value before changing it; use `noyalib_set` to write a value back losslessly.

Input parameters:

- `file` (string, required): Path to the YAML file on disk.
- `path` (string, required): Dotted/indexed path into the YAML, e.g. `server.host` or `items[0].name`.

### `noyalib_set` (~172 tokens)

Write a YAML value (lossless)

Set the YAML value at a dotted/indexed path in the given file, rewriting only the touched span so every comment, blank line, and sibling entry is preserved byte-for-byte (written atomically). Use this for Renovate-style version bumps and config patches; use `noyalib_get` first when you need to read the current value. On a parse error the document is left unchanged.

Input parameters:

- `file` (string, required): Path to the YAML file on disk.
- `path` (string, required): Dotted/indexed path into the YAML.
- `value` (string, required): Replacement value as a YAML fragment (e.g. `0.0.2`, `\"hello\"`, `[1, 2, 3]`). Must parse in the target position; the document is left unchanged on parse error.

### `noyalib_set_multidoc` (~193 tokens)

Write a YAML value in one document of a multi-doc stream (lossless)

Set the YAML value at a dotted/indexed path within a single document of a multi-document (`---`-separated) YAML stream, selected by zero-based document index. Only the touched span of that one document is rewritten; every other document, comment, blank line and separator is preserved byte-for-byte (written atomically). Use `noyalib_set` for a single-document file. On a parse error or out-of-range index the file is left unchanged.

Input parameters:

- `doc_index` (integer, required): Zero-based index of the document within the `---`-separated stream to modify.
- `file` (string, required): Path to the multi-document YAML file on disk.
- `path` (string, required): Dotted/indexed path into the selected document.
- `value` (string, required): Replacement value as a YAML fragment. Must parse in the target position; the file is left unchanged on parse error.

## Diagnostics

Captured diagnostic sections: Provenance. The full working is on the page: https://verifymcp.io/servers/sebastienrousseau-noyalib-mcp/ghcr-io-sebastienrousseau-noyalib-mcp-0-0-18#diagnostics

## Score history

- 2026-08-03: 39
- 2026-08-02: 39
- 2026-08-01: 9

## Links

- Repository: https://github.com/sebastienrousseau/noyalib-mcp
- Changelog RSS feed: https://verifymcp.io/servers/sebastienrousseau-noyalib-mcp/ghcr-io-sebastienrousseau-noyalib-mcp-0-0-18/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/sebastienrousseau-noyalib-mcp/ghcr-io-sebastienrousseau-noyalib-mcp-0-0-18/changelog.json
- HTML version of this page: https://verifymcp.io/servers/sebastienrousseau-noyalib-mcp/ghcr-io-sebastienrousseau-noyalib-mcp-0-0-18
