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. No key is needed: you are already talking to a model, so the generative steps are handed back to it and the tool does the deterministic part, which is the grading. Call skill_gate with no key and it returns the prompt per spec; you attempt them and call again with attempts. Call skill_forge with your own candidate and usage and it grades both. Set ANTHROPIC_API_KEY if you would rather a model be called for you; either way 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_requirements Turn a spec in words into named, checkable clauses; taste words are refused.
skill_check_checker Try to break your checker before trusting it.
skill_gate Find out whether a skill is warranted before building one.
skill_forge Build it, ratcheting on what your checker actually says.
skill_certify The whole protocol in one call: gate the checker, grade the skill on held-out specs, write a certificate that says what was and was not checked.
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

# or, once you have code and a guide, everything above in one call:
skill_certify(context="...", checker_code=..., specs=[...], code=..., doc=...,
              usage=[{"spec_id": "s3", "code": "..."}, ...])   # your own scripts using 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"],
)

The certificate skill_certify returns has two lists, checked and not_checked. Read the second before quoting the first. A checker gated on spoilers alone is known to reject broken output and not known to accept correct output built another way; three held-out specs is a smoke test, not a rate. The certificate says so instead of leaving you to find out.

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.69.2.tar.gz (66.1 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.69.2-py3-none-any.whl (66.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: neruva_mcp-0.69.2.tar.gz
  • Upload date:
  • Size: 66.1 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.69.2.tar.gz
Algorithm Hash digest
SHA256 692408a7d1e48afeb57caa29ca8fc30fe51901e97de199e60f37a4712c8c8f44
MD5 0e6d92d8c173db112e5a7e508d9ff611
BLAKE2b-256 3568d3d130df1959ca0aa7b0c93133b195cf458aaaa4748d45a68bee2ce8820b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: neruva_mcp-0.69.2-py3-none-any.whl
  • Upload date:
  • Size: 66.0 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.69.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cdf05878651409eff4e40624c649dfc01e62c4bf8f2ace6710d1316f3b14726e
MD5 d6b16f99af37106c8c26b5c39f8ea5f6
BLAKE2b-256 a6fe45aaf6781bb9c8005153fe4f3334050ad294101761d162623f99aead3de9

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.69.2 This release

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

0.66.0

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