MCP.Market

Nonobench MCP server

online · 100% uptime
by mauricekleine·io.github.mauricekleine/nonobench·v1.1.0·6 stars

An open-source benchmark of how well LLMs solve nonogram puzzles, from 5x5 to 20x20.

A91/100grade A
What users say
No reviews yet
Be the first
Safety scan
A91/100

full report

Adoption
Growing

6 stars

Reviews

Write one

Nobody has reviewed Nonobench yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Nonobench tools (11)

write = sends, deletes, buys or posts
  • check_solutionFree

    Check a grid against a puzzle's clues, using the same rule as the benchmark grader. Reports which rows and columns do not match.

  • compare_modelsFree

    Side-by-side core overall and per-size accuracy, cost, latency and token results for model or family names.

  • get_leaderboardFree

    Models ranked by accuracy; defaults to all effort levels for compatibility.

  • get_model_puzzlesFree

    Which puzzles one model solved, missed, timed out on, or has not run.

  • get_model_resultsFree

    Accuracy, cost, latency and token use for one model, broken down by grid size.

  • get_puzzleFree

    One puzzle, including the clue text models were prompted with. The reference solution is only included on request; some puzzles have several valid solutions.

  • get_puzzle_resultsFree

    Per-model outcomes for one puzzle. Answers are omitted unless requested.

  • list_familiesFree

    Model families, available efforts and best variants.

  • list_providersFree

    Provider ids, names, families and variant counts.

  • list_puzzlesFree

    The benchmark puzzles with their ids and row/column clues.

  • list_runsFree

    Individual benchmark runs (one model on one puzzle), optionally with the raw prompt and model output.

Public scan report

scanner v0.1.10 · 2026-10-01 · same rubric, same numbers if you re-run it

no findings
  • –Code scanremote-only server, no package to scann/a
  • Live reliabilityremote reachable in 1029ms20/20
  • Tool poisoning11 tool descriptions checked15/15
  • Auth qualityopen endpoint, read-only tools10/15
  • Maintenancelast push 1 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 91/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Nonobench compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
91/100
higher than 85% of 48,255 servers
Tools
11
the typical server has 7
Tools that change things
0%
typical: 0%. Fewer write tools means less an agent can break
Uptime
100%
of our recent checks; the typical remote server answers 100%
Response time
260 ms
faster than 54% of 30,031 servers
GitHub stars
6
more than 85% of 28,688 servers

What its tools let an agent do: 11 read

Install Nonobench in Claude Code, Cursor or VS Code

claude mcp add --transport http nonobench https://www.nonobench.com/mcp
Add to Cursor

What the publisher says

From the Nonobench repository's README, as published. We do not edit it. Read it on GitHub

Nonobench

A benchmark suite for evaluating LLM reasoning capabilities on Nonogram (Picross) puzzle solving across different grid sizes. Results are published at nonobench.com.

Built by Maurice Kleine.

What is a Nonogram?

Nonograms (also known as Picross, Griddlers, or Paint by Numbers) are logic puzzles where you fill in cells on a grid based on numeric clues for each row and column. The clues indicate consecutive groups of filled cells, separated by at least one empty cell. Solving these puzzles requires logical deduction and constraint satisfaction - making them an excellent test of LLM reasoning abilities.

Project Structure

nonobench/
├── bench/          # Benchmark runner, results database and exporter
└── visualizer/     # TanStack Start dashboard on Cloudflare Workers (nonobench.com), also home of the puzzle set

Prerequisites

  • Bun runtime (v1.4+)
  • Node.js v24+ (for the visualizer)
  • OpenRouter API key

Quick Start

1. Clone the Repository

git clone https://github.com/mauricekleine/nonobench.git
cd nonobench

2. Set Up Environment Variables

Create a .env file in the bench/ directory (see bench/.env.example):

OPENROUTER_API_KEY=your_openrouter_api_key_here

This is the only variable needed. The visualizer builds without any.

3. Running Benchmarks

cd bench
bun install
bun run bench                       # prints the plan and exits, no API calls
bun run bench --model <name>        # run one model (repeat --model for more)
bun run bench --all-missing         # run every configured model with missing work
bun run bench --model <name> --sizes 20x20  # opt in to the extended tier

Runs are incremental and append-only: a model/puzzle pair that already has a successful result is never run again, and the database refuses to overwrite it. Failed runs are retried on the next invocation. Results are stored in bench/results.db (SQLite).

Useful flags:

  • --max-cost stops launching new puzzles once this session's spend reaches the amount. Requests already in flight still finish, so a session can overshoot by up to --parallel requests per selected model. Use the OpenRouter key's own limit as the hard ceiling.
  • --parallel sets concurrent requests per model (default 10); lower it for rate-limited providers.
  • --limit runs only the first n puzzles of each size, for pilots against a scratch database (NONOBENCH_DB=/tmp/copy.db).

Output modes

New runs ask for the answer as strict structured output (a JSON schema, only routed to endpoints that enforce it), so models cannot wrap the grid in prose. For a few models the schema-enforcing endpoints measurably hurt answers; those run in text mode instead (outputMode: "text" in bench/constants.ts, chosen by a 5x5 A/B with the benchmark prompt). Every run records its mode, and grading is identical for both: the answer must satisfy every clue. The runner also stops a model that solves none of the 5x5 puzzles with structured output, and one whose early runs mostly report zero reasoning tokens, since both point at the harness rather than the model.

After benchmarking, export results for the visualizer:

bun run export

This writes visualizer/app/results.json (aggregates) and visualizer/public/results-raw.json (every run, including prompts and outputs).

Other scripts:

  • bun test - parser, grader, database-policy and puzzle checks
  • bun run typecheck - TypeScript check
  • bun run regrade - read-only comparison of stored grades against the current grader

Running Against a Local Model

The runner can benchmark a model that you serve yourself. Any server with an OpenAI-compatible /v1 endpoint works: vLLM, SGLang, llama.cpp, LM Studio, and Ollama.

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Nonobench: common questions

Is Nonobench MCP server safe?
Yes, by our scan: it is graded A (91/100). Read the Nonobench safety report
How do I install Nonobench?
It runs remotely at www.nonobench.com. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
Does Nonobench need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Nonobench maintained?
The last commit was 35 days ago (2026-09-30). The latest release is v1.1.0.
Is Nonobench up?
100% of our last 28 checks got an answer. We check remote servers about four times a day.
How does Nonobench compare with other MCP servers?
safety score 91/100 (higher than 85% of 48,255 servers); tools 11 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.