Sandbox
@grainulation/grainulator

Evidence and verification MCP server for Claude Code and Codex

Grainulator adds a local evidence ledger to agent-led research and engineering work. It records claims, sources, and support levels, checks for weak or conflicting evidence, and keeps auto and manual next steps separate. You can use it through the CLI, an MCP host, or the bundled Claude Code and Codex plugins.

86 stars6 forksJavaScriptUpdated 9d ago
Who it's for

Builders who want their agent to keep evidence, verify answers, and resume work without re-explaining the task.

What it delivers

You can keep research and implementation tied to evidence instead of scattered across chats and sessions.

What it does

Evidence ledger

Stores typed claims, sources, evidence tiers, and provenance with the task.

Conflict and gap checks

Flags weak support, conflicts, and missing perspectives before you move on.

Auto and manual next steps

Splits follow-up work into what the agent can do and what needs your input.

Session carry-forward

Lets you stop and resume research with reusable context and credential-free exports.

Managed verification loop

Runs a command loop that can use a verifier you provide.

MCP and plugin integration

Works as one MCP server and ships bundled Claude Code and Codex plugin setup.

How to get it

  1. 1Upgrading from 1.x? Follow the migration checklist to update the correct plugin scope,…
    git clone --branch v2.0.2 https://github.com/grainulation/grainulator.git
    cd grainulator
    npm ci --ignore-scripts
    node bin/grainulator.js doctor
    node bin/grainulator.js preview
  2. 2From the project you want Grainulator to access
    node /path/to/grainulator/bin/grainulator.js connect --dir "$PWD"

README

Glitchy — the Grainulator mascot

Grainulator

Evidence and verification for the model you already use.

Keep the evidence. Challenge the answer. Know what to do next.
A shared workflow for research, engineering, and model-assisted work.

Explore the Grainulator playground

Latest GitHub release CI on main Node.js 24 or later MIT license Docs on DeepWiki

Quick start · Installation · Upgrading · Tools · Agent setup · Changelog


What it adds

Good models still need a way to keep track of evidence, revisit assumptions, and verify their work. Grainulator gives them that process, with a local ledger that stays with the task as it moves between models and sessions.

CapabilityWhat it gives you
Evidence that stays with the workTyped claims, sources, evidence tiers, and provenance that survive edits and exports.
A check on the answerConflict detection, weak-support signals, and explicit gaps to investigate.
Clear next actionsTwo lists: what the agent can continue automatically, and what needs your input.
Sessions you can carry forwardConfigurable research, stop/resume, reusable context, and credential-free exports.
Verification for your taskA managed command loop that can use a verifier you provide.

One package, one MCP server. Use the CLI, connect an MCP-compatible agent, or load the bundled Claude Code or Codex plugin. The consolidated components are included; separate ecosystem installations are not required.

Quick start

Requires Node.js 24+. Node 25 is the development default.

Upgrading from 1.x? Follow the migration checklist to update the correct plugin scope, reconnect the single MCP server, and review retired Farmer instructions without changing your research data.

git clone --branch v2.0.2 https://github.com/grainulation/grainulator.git
cd grainulator
npm ci --ignore-scripts
node bin/grainulator.js doctor
node bin/grainulator.js preview

Open localhost:4517/playground/ to choose your model, configure the workflow, and run research with your provider key.

Want to look around first? The public playground lets you explore the controls and export a setup. Model execution happens in your local installation.

Distribution: v2.0.2 is a GitHub release, not an npm registry release. For a separate local installation, follow the archive installation guide.

Connect your agent

From the project you want Grainulator to access:

node /path/to/grainulator/bin/grainulator.js connect --dir "$PWD"

Register the printed MCP configuration in your host, then restart its connection. The command prints configuration; it does not change your host settings.

For bundled skills, agents, and hooks, use the native plugin setup guide. Native Codex needs an explicit workspace: run node /path/to/grainulator/bin/grainulator.js setup --dir /absolute/project once, then restart Codex. A per-launch GRAINULATOR_WORKSPACE overrides that saved default. CLI and direct MCP access remain available to other hosts.

Put it to work

With Grainulator connected, give your agent the outcome you need:

Use Grainulator to investigate whether we should migrate this service. Record the evidence, challenge the assumptions, implement the agreed changes, and verify them. Keep the remaining next steps split into Auto and Manual.

The work follows a simple cycle:

  1. Record findings with their sources and evidence tiers.
  2. Check for conflicts, weak support, and missing perspectives.
  3. Act on the gaps that matter, then verify the requested result.
  4. Continue from the saved ledger or export the session to another workflow.

There are no fixed claim-count or research-pass quotas. Auto lists work the agent can continue within your authorization. Manual lists decisions, access, or actions that need you. When you ask only for next steps, those two lists are the entire response.

Example: record a claim from the terminal
node bin/grainulator.js init --dir ./sprints/migration \
  --question 'Should we migrate this service?' \
  --audience engineers --constraints 'Preserve existing user data' \
  --done 'A verified plan with remaining risks documented'

node bin/grainulator.js add --dir ./sprints/migration \
  --id r001 --type constraint --topic migration \
  --content 'Existing user data must remain readable.' --evidence stated

node bin/grainulator.js compile --dir ./sprints/migration

The equivalent MCP tool is add_claim on the grainulator server. See the tool reference for evidence, memory, export, analytics, and orchestration operations.

Explore the docs

GuideStart here for…
InstallationTagged source, isolated archives, and verified build identity.
Upgrading from 1.xHost updates, renamed tools, existing data, and retired setup instructions.
Agent setupClaude Code, Codex, and actual plugin acceptance checks.
Research sessionsModels, feature controls, credentials, export, and resume.
ToolsThe canonical CLI and MCP interface.
Execution adaptersAttaching a model command and a task-specific verifier.
ArchitectureThe workspace layout and internal modules.
EvaluationWhat has been measured and what remains unproven.
ContributingDevelopment setup, tests, and changes to the project.

Verification and limits

CI checks Node 24 and 25, isolated package installation, plugin contracts, Rust runtime conformance, lint, and the static playground in a browser. Native host and live-provider acceptance have separate verification guides.

The compiler checks the structure and support recorded in the ledger; it does not establish that a source is true. Evaluations do not establish a general accuracy or efficiency gain, and per-pass limits are not a whole-session spending cap. Keep those distinctions when interpreting results.

Run the development checks
npm test
npm run test:install
npm run lint

Browser and runtime prerequisites are in CONTRIBUTING.md. The offline node bin/grainulator.js demo exercises the adapter/verifier protocol without a provider account.


Built by Grainulation · MIT licensed · Issues & ideas

Files in the repo

Repository payload32 top-level entries
  • .claude-plugin
  • .codex-plugin
  • .github
  • agents
  • bin
  • docs
  • evals
  • hooks
  • lib
  • packages
  • scripts
  • site
  • skills
  • templates
  • test
  • .gitignore
  • .mcp.json
  • .node-version
  • .nvmrc
  • AGENTS.md
  • biome.json
  • build-info.json
  • CHANGELOG.md
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md
  • LICENSE
  • mcp.json
  • package-lock.json
  • package.json
  • plugin.json
  • README.md
  • SECURITY.md

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface

86k

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

43k

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
okf-memory/
okf-agent-memory

Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

547
tirth8205/
code-review-graph

Local-first code intelligence graph for MCP and CLI. Builds a persistent map of your codebase so AI coding tools read only what matters, with benchmarked context reductions on reviews and large-repo workflows.

31k
2akouwu/
reverify

Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.

1.1k