Skip to main content

neruva-mcp

Verified skills for AI agents. Do not replace your model. Give it proven capabilities.

The Python MCP server for Neruva.

What this is for

Your model gets some jobs wrong in the same way every time. A page that has to be landscape. A form field named by a tax agency rather than by its label. A chart the spreadsheet quietly discards. Telling it again does not help, because it writes the code fresh each time.

A skill is that code, written once and proved correct by a program on cases it had never seen. Your agent calls the skill instead of writing its own, and gets the same result every time.

Measured on held-out cases, best of two samples, graded by an exact checker:

job the model alone with the skill
Word document, portrait then landscape with a header and table 25% 100%
PowerPoint combo chart on a secondary axis 13% 100%
Fillable PDF form 44% 100%
The real Canadian TD1 tax form 19% 94%

Every number on neruva.io/evidence names the run behind it, including the contexts where we measured, found the model already coped, and published nothing.

Install

pip install neruva-mcp

Point your MCP host at it. Reading and installing skills need no key:

{
  "mcpServers": {
    "neruva": { "command": "neruva-mcp" }
  }
}

Add a key only to publish a skill, claim a name or post paid work:

{
  "mcpServers": {
    "neruva": { "command": "neruva-mcp", "env": { "NERUVA_API_KEY": "nv_..." } }
  }
}

Tools

Using a skill. No key needed for any of these.

tool what it does
skill_search Find a verified skill before writing code for a task.
skill_get One skill: code, usage guide, evidence, checker, certificate. Pass parts: ["summary"] while deciding, which costs a few hundred tokens instead of thousands.
skill_install Write it into a directory as an Agent Skills folder your harness loads, including its checker so you can audit it.
skill_tasks The controlled list of kinds of job, for filtering a search.
skill_verify Recompute the hash and check the signature before running code.

Building one. These run on your machine with your own ANTHROPIC_API_KEY. Your context, your specifications and your data never reach us; only a finished skill is published, and only when you call skill_publish.

tool what it does
skill_check_checker Try to break your checker before trusting it.
skill_gate Find out whether a skill is warranted before paying to build one.
skill_forge Build it, ratcheting on what your checker actually says.
skill_publish Publish it. Free, and it is re-checked before it is listed.

Use them in that order, and expect skill_gate to say no. Of thirteen contexts we measured, nine were refused because the cheap model already did the job. A refusal costs cents and saves you from adding something nobody needs.

skill_check_checker is not a formality. A checker that accepts a broken file reports a perfect score for a model that did nothing; a checker that demands what the task never asked for invents failures and makes any skill look like a triumph. We wrote three versions of one checker in an hour and two of them did exactly that. Neither was visible by reading it.

The older names rung_search, rung_get, rung_install, rung_verify and rung_bank still work and do the same things.

Using it

Ask your agent for something it usually fumbles. A harness with this server installed will find the skill first:

skill_search(q="fillable pdf form")
skill_install(id="rec_0b825e...", dir="~/.claude/skills")

skill_install writes SKILL.md and the code into a folder, and your harness loads it like any other skill. Nothing runs on our servers: the skill executes wherever your model does.

Or without this package at all, since the API is public:

curl "https://api.neruva.io/v1/commons/skills?q=combo%20chart"
curl "https://api.neruva.io/v1/commons"          # every endpoint, described

Building and publishing one

Publishing is free and always will be. What you get back is the part you cannot give yourself: your code put through an exact check on cases it has never seen, signed if it passes, hosted at a name you own, and reachable by any agent.

The whole loop, from a job your model keeps getting wrong to a published skill:

skill_check_checker(checker_code=..., specs=[...])   # can it be broken? if not, fix it
skill_gate(context="...", checker_code=..., specs=[...])   # is a skill even warranted?
skill_forge(context="...", checker_code=..., specs=[...])  # build it

skill_publish(
  name="invoice_total_check",
  skill="pdf", task="pdf-generation", language="python",
  purpose="Make a purchase order whose line items add up to the total shown.",
  description="A purchase order PDF whose line items total correctly.",
  code=..., doc=..., entry_points=["build_purchase_order"],
  onecall={"wrapper": ..., "schema": {...}, "example": {...}},
  evidence=["16 held-out orders, exact checker: 0.31 alone, 1.00 with this"],
)

Two fields decide whether anyone ever uses what you publish. purpose is one plain sentence saying what it is FOR, in the words someone types when they need it: without it your skill is indexed on its own specification and nobody searching in plain language will find it. onecall is a single build() entry point plus a JSON schema, so an executor fills in arguments instead of recovering your function signatures from prose.

Also in this package

An account on Neruva carries a private memory and replay surface: records, recall, snapshots and audit. Those tools ship here too, but they are off by default. What you get on a plain install is the six skill tools and nothing else, because a long tool list makes a model choose worse and those tools do nothing without an account.

Turn them on if you have one:

{
  "mcpServers": {
    "neruva": {
      "command": "neruva-mcp",
      "env": { "NERUVA_API_KEY": "nv_...", "NERUVA_MEMORY": "1" }
    }
  }
}

Licence

Apache 2.0. Built by Clouthier Simulation Labs, Ontario, Canada.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neruva_mcp-0.66.0.tar.gz (55.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

neruva_mcp-0.66.0-py3-none-any.whl (54.9 kB view details)

Uploaded Python 3

File details

Details for the file neruva_mcp-0.66.0.tar.gz.

File metadata

  • Download URL: neruva_mcp-0.66.0.tar.gz
  • Upload date:
  • Size: 55.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for neruva_mcp-0.66.0.tar.gz
Algorithm Hash digest
SHA256 b29bcd346c5f16892811ab8b8ab50ede29550cfb3ea18c534a1986fc2c296bf6
MD5 10d4662744bddc3009eb0d1c155270a4
BLAKE2b-256 19ebdfe6a627458b84be8ab1906259d2ee514aef94df52a643ff9be474b4bc15

See more details on using hashes here.

File details

Details for the file neruva_mcp-0.66.0-py3-none-any.whl.

File metadata

  • Download URL: neruva_mcp-0.66.0-py3-none-any.whl
  • Upload date:
  • Size: 54.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for neruva_mcp-0.66.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a2a165a00a0537e9dce7fb0eb83611b37e02f232571dacf6a1c4a53e2031b940
MD5 5bc6a9a5a0925fb16473822661773a23
BLAKE2b-256 cb47e1e5e954af8eda56c24e38c55ac203f9a3fad01b7739c7c2390d20e15237

See more details on using hashes here.

Release history Release notifications | RSS feed

0.69.2

2 files

0.69.1

2 files

0.69.0

2 files

0.68.1

2 files

0.68.0

2 files

0.67.0

2 files

This release

0.66.0 This release

2 files

0.65.0

2 files

0.64.0

2 files

0.63.0

2 files

0.62.0

2 files

0.61.0

2 files

0.60.2

2 files

0.60.1

2 files

0.60.0

2 files

0.59.0

2 files

0.58.0

2 files

0.57.0

2 files

0.56.0

2 files

0.55.0

2 files

0.54.0

2 files

0.53.0

2 files

0.52.0

2 files

0.51.0

2 files

0.50.0

2 files

0.49.0

2 files

0.48.0

2 files

0.47.0

2 files

0.46.0

2 files

0.44.0

2 files

0.43.0

2 files

0.41.0

2 files

0.40.0

2 files

0.28.2

2 files

0.28.1

2 files

0.28.0

2 files

0.27.2

2 files

0.27.1

2 files

0.27.0

2 files

0.25.2

2 files

0.25.1

2 files

0.25.0

2 files

0.24.0

2 files

0.23.0

2 files

0.22.1

2 files

0.22.0

2 files

0.21.1

2 files

0.21.0

2 files

0.20.0

2 files

0.19.0

2 files

0.18.5

2 files

0.18.4

2 files

0.18.3

1 file

0.18.2

1 file

0.18.1

1 file

0.18.0

1 file

0.17.0

1 file

0.16.3

1 file

0.16.2

2 files

0.16.1

2 files

0.16.0

2 files

0.15.0

2 files

0.14.0

2 files

0.13.1

2 files

0.13.0

2 files

0.12.0

2 files

0.10.0

2 files

0.9.0

2 files

0.7.1

2 files

0.7.0

2 files

0.6.1

2 files

0.6.0

2 files

0.5.0

2 files

0.4.1

2 files

0.4.0

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.0

2 files

0.2.0

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page