What it does
noyalib-mcp is a Model Context Protocol server. It speaks JSON-RPC over
standard input and output, which is what Claude Desktop, Zed, Continue and
most other clients expect. It exposes three tools:
- noyalib_get reads the value at a dotted path, exactly as written.
- noyalib_set replaces the value at a path and writes the file back.
- noyalib_set_multidoc does the same for one document in a stream.
Every write goes through the lossless editor. The changed span is rewritten and nothing else moves: comments, blank lines, quoting style and indentation stay as they were. An invalid result is refused before the file is touched.
Install
npx @sebastienrousseau/noyalib-mcp
The wrapper downloads the signed binary for your platform and caches it. If
you have a Rust toolchain, cargo install noyalib-mcp builds it instead, and
ghcr.io/sebastienrousseau/noyalib-mcp runs it in a container.
Configure a client
Claude Desktop, in claude_desktop_config.json:
{
"mcpServers": {
"noyalib": { "command": "noyalib-mcp" }
}
}
Zed, in settings.json:
{
"context_servers": {
"noyalib": { "command": { "path": "noyalib-mcp" } }
}
}
Continue, in config.json:
{
"experimental": {
"modelContextProtocolServers": [
{ "transport": { "type": "stdio", "command": "noyalib-mcp" } }
]
}
}
Any other client that starts a stdio server works the same way. The manual lists the tool schemas, the resources and the error codes.
What it does not do
It does not run a network service, so there is nothing to expose or authenticate. It does not read files the client did not name. It does not reformat a file as a side effect of an edit. And it does not accept a change that would leave the file invalid.
Discovery
This site publishes an MCP manifest at /mcp.json and an agents file at
/agents.txt, so an assistant that reads the site can find the server on
its own.