Nonobench
概要
作者による説明(英語の原文)
An open-source benchmark of how well LLMs solve nonogram puzzles, from 5x5 to 20x20.
PopNx MCPの3つの柱
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
- 利用者の声iレビューはまだありませんレビューは今後のステップで、アカウント機能と一緒に始まります
- 私たちの基本チェックi3項目中3項目に合格公開情報からチェック。コードはまだスキャンしていません
- 利用状況iとても新しい★ –
できること
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
- 接続方法: クラウドで動く
- トランスポート: Streamable HTTP
- カテゴリ: 検索・AIの記憶
インストール
使っているAIアプリを選んで、設定をコピーしてください。
インストールの前に
- 基本チェック:3項目中3項目に合格
- 作者のサーバーで動きます。あなたが頼んだ内容は、作者のサーバーを通ります。
- できること:11件(ツール) get_leaderboard, list_providers, list_families, compare_models …
- レジストリには、入力が必要なキーは載っていません。
必要なもの
- クラウドで動くインストール不要。インターネット経由でつながります
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
ウェブ、デスクトップ、モバイルのClaudeで使えます:
- Settings → Connectors を開く
- Add custom connector を押す
- 下のアドレスを貼り付けて Add を押す
- サインインを求められたら、作者のサービスにサインインする
https://www.nonobench.com/mcpターミナルでこれを実行します
claude mcp add --transport http nonobench https://www.nonobench.com/mcpまたは、設定を自分でコピーする
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"nonobench": {
"url": "https://www.nonobench.com/mcp"
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
または、設定を自分でコピーする
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"nonobench": {
"type": "http",
"url": "https://www.nonobench.com/mcp"
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
ChatGPTがつなげるのは、インターネット上のサーバーだけです:
- ウェブ版のChatGPTを開き → Settings → Connectors (Apps)
- Create または Add を押す(プランによっては、先に Advanced で Developer mode をオンにする必要があります)
- 下のアドレスを貼り付け、名前を付けて保存する
- サインインを求められたら、作者のサービスにサインインする
https://www.nonobench.com/mcpメニューの名前は、プランや時期によって少し違うことがあります。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
できること
ツールの名前と説明は、サーバーが2026年11月8日に返したそのままの内容です。書いたのは作者で、私たちではありません。プレーンテキストとして表示しています。
get_leaderboardModels ranked by accuracy; defaults to all effort levels for compatibility.
list_providersProvider ids, names, families and variant counts.
list_familiesModel families, available efforts and best variants.
compare_modelsSide-by-side core overall and per-size accuracy, cost, latency and token results for model or family names.
get_model_resultsAccuracy, cost, latency and token use for one model, broken down by grid size.
list_puzzlesThe benchmark puzzles with their ids and row/column clues.
get_puzzleOne puzzle, including the clue text models were prompted with. The reference solution is only included on request; some puzzles have several valid solutions.
check_solutionCheck a grid against a puzzle's clues, using the same rule as the benchmark grader. Reports which rows and columns do not match.
get_puzzle_resultsPer-model outcomes for one puzzle. Answers are omitted unless requested.
get_model_puzzlesWhich puzzles one model solved, missed, timed out on, or has not run.
list_runsIndividual benchmark runs (one model on one puzzle), optionally with the raw prompt and model output.
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名は、リポジトリを所有するGitHubアカウント mauricekleine で確認済みです
- … 未チェック
今もメンテナンスされている
このリポジトリはまだGitHubから読み取っていません
- … 未チェック
ライセンスがある
このリポジトリはまだGitHubから読み取っていません
- ✓ 合格
エンドポイントが応答する
187ミリ秒で応答(HTTP 200)
- – 対象外
OAuthでサインイン
サインイン不要
- ✓ 合格
ツールの説明に隠れた指示がない
11件のツールの説明を読み、AIへの隠れた指示は見つかりませんでした
検索・AIの記憶のほかのサーバーとの比較i
- このカテゴリのほかの5717件のうち0%よりスターが多い
- このカテゴリのほかの5717件のうち50%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの5717件のうち100%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
Nonobenchは安全ですか?
当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
パソコンで動きますか、それともクラウドですか?
作者のクラウドで動きます。インストール不要でインターネット経由でつながりますが、送った内容は作者のサーバーを通ります。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は–、最新バージョン(1.1.0)がレジストリに届いたのは40 日前です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。
代わりに使えるものは?
同じカテゴリには:Context7, Codebase Memory, Exa
代わりの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
作者のREADME
READMEを開く
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
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 # run one model (repeat --model for more) bun run bench --all-missing # run every configured model with missing work bun run bench --model --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-coststops 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--parallelrequests per selected model. Use the OpenRouter key's own limit as the hard ceiling.--parallelsets concurrent requests per model (default 10); lower it for rate-limited providers.--limitruns 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 checksbun run typecheck- TypeScript checkbun 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.
This setup uses two machines. The model server is the workstation that serves the model. The bench machine is the laptop that runs the benchmark.
1. Serve the model on the workstation
Bind the server to all interfaces. The default bind address, 127.0.0.1, accepts connections only from the model server itself.
vLLM:
vllm serve Qwen/Qwen3-32B --host 0.0.0.0 --port 8000
Ollama:
ollama pull qwen3:32b
OLLAMA_HOST=0.0.0.0:11434 ollama serve
llama.cpp:
llama-server -m ./qwen3-32b-Q4_K_M.gguf --host 0.0.0.0 --port 8080
SGLang:
python -m sglang.launch_server --model-path Qwen/Qwen3-32B --host 0.0.0.0 --port 30000
LM Studio: open the Developer tab, then select Start Server. Turn on the Network Server switch, so the server listens on all interfaces.
CAUTION: Do not expose the port to the internet. Most local servers have no authentication, so anyone who reaches the port can run the model.
2. Open the port on the model server
Restrict the rule to your own subnet. Allow TCP traffic from your local network to the port:
sudo ufw allow from 192.168.1.0/24 to any port 8000 proto tcp
On macOS, allow incoming connections for the server app in System Settings.
3. Verify the connection from the laptop
Find the LAN address of the model server. On Linux, run ip -4 addr show. On macOS, run ipconfig getifaddr en0.
From the laptop, request the model list:
curl http://192.168.1.20:8000/v1/models
Make sure that the answer lists your model. Copy the exact id value. You need that value for NONOBENCH_LOCAL_MODEL.
If the request fails, check the bind address from step 1. Then check the firewall rule, the address, and the port.
If the model server is not reachable on your network, create an SSH tunnel to it instead. Then use the address http://127.0.0.1:8000/v1:
ssh -N -L 8000:127.0.0.1:8000 user@192.168.1.20
4. Run the benchmark
cd bench
bun install NONOBENCH_LOCAL_BASE_URL=http://192.168.1.20:8000/v1 \ NONOBENCH_LOCAL_MODEL=Qwen3-32B \ bun run bench:local --model Qwen3-32B
Do a pilot first. The next command runs two 5x5 puzzles into a scratch database:
NONOBENCH_LOCAL_BASE_URL=http://192.168.1.20:8000/v1 \
NONOBENCH_LOCAL_MODEL=Qwen3-32B \ NONOBENCH_DB=local-pilot.db \ bun run bench --model Qwen3-32B --sizes 5x5 --limit 2
Make sure that the plan lists your model as [local, text].
Environment variables for a local model
| Variable | Meaning |
|---|---|
NONOBENCH_LOCAL_BASE_URL | The /v1 endpoint of the server. Ollama uses port 11434. |
NONOBENCH_LOCAL_MODEL | The model id that the server returns from GET /v1/models. |
NONOBENCH_LOCAL_NAME | The display name and the value for --model. Defaults to the model id. Must not match a cloud model name. |
NONOBENCH_LOCAL_EFFORT | The reasoning effort your server is configured with (none, low, xhigh, …). Label only — the runner never sends reasoning settings to a local server. Defaults to none. |
NONOBENCH_LOCAL_API_KEY | The bearer token, when the server requires one. Defaults to local. |
The runner adds the local model to the plan only when you set both NONOBENCH_LOCAL_BASE_URL and NONOBENCH_LOCAL_MODEL.
Notes on local runs
- Local runs cost $0. Keep them out of the published dataset: run them with
bun run bench:local, which isbun run benchwithNONOBENCH_DB=local-results.db.bench/results.dbis the shared dataset, and the export-contract test checks it against the committed exports. The runner refuses to write a local model to the shared database. - Before starting, the runner checks the model
idagainst the server'sGET /v1/modelslist. A typo fails with the models the server does serve, and an unreachable server fails before any run is recorded. - Text mode is the default for a local model. Many local servers accept a JSON schema request and then ignore it. If your server enforces the schema, set
NONOBENCH_OUTPUT_MODE=json_schema. - Start with
--parallel 1. One GPU serves fewer requests at the same time than a cloud provider does. - The 20x20 tier asks for 128,000 output tokens. If your server has a smaller context, run only the core sizes.
- The runner does not apply the reasoning-token circuit breaker to a local model. Some local servers report zero reasoning tokens for every run.
- Set the same variables in
bench/.envto avoid the prefix on every command. - A bench run registers the local model in
bench/local-models.json(name, server model id, family, server URL), so a laterbun run exportand the visualizer pick it up without any env vars. To register a model you already benched, add one entry there:" ": { "baseURL": "http://host:port/v1", "modelId": " ", "family": " " }. OmitmodelIdwhen the name is the server's id.
4. Viewing Results
cd visualizer
bun install bun run dev
Then open http://localhost:3000 to view the interactive dashboard.
Your own runs live in a separate database. Serve them with:
cd visualizer
bun run dev:local
dev:local exports bench/local-results.db into the dashboard's data files, starts the dev server, and restores the committed files when you stop it. While it runs, the dashboard shows only the models in that database — your local runs, not the published leaderboard. Set NONOBENCH_LOCAL_DB to serve another database.
While that server runs, bun test in bench fails one test: the export-contract test compares the dashboard's data files against bench/results.db, and dev:local has put your runs in them. Stop the server, let the script restore the committed files, and the suite passes again.
5. Deploying
The visualizer is a Cloudflare Worker (visualizer/wrangler.jsonc). Pages are prerendered at build time and served as static assets; the Worker serves the API, the MCP server and the agent routes, reading the exported JSON through its assets binding. Workers Builds owns production deploys on merge to main: it runs bun install --frozen-lockfile && bun run build, then bunx wrangler deploy, from visualizer/ with Cloudflare credentials. Local deploy scripts and Wrangler logins are retired; agents use cf for Cloudflare access. From visualizer/:
CLOUDFLARE_ENV=beta bun run buildbuilds the beta Worker for local preview. Nothing deploys it.bun run deploy:verifywaits until production runs a build containing that commit onmain. Branch commits fail immediately unlessDEPLOY_VERIFY_URLnames a separately deployed target. The repository root runs the same script, sobun run deploy:verifyworks from either directory.
Agent Access
nonobench.com exposes the benchmark data to agents, with no authentication:
- REST API under
/api/v1(leaderboard, models, puzzles, a solution checker, individual runs). The spec is at/api/openapi.json, and/.well-known/api-catalog(RFC 9727) points to it. - MCP server at
/mcp(stateless Streamable HTTP, MCP 2026-07-28 with 2025 client compatibility), described by/.well-known/mcp/server-card.json. Add it to a client with `claude mcp add --transport http nonobench https://www.nonob
冒頭だけを表示しています。続きはリポジトリで読めます