原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Jarroba Tools

作者:Invarato版本 0.3.0i★ –i在你的电脑上运行
注册名称io.github.Invarato/jarroba-tools

安装

概览

作者提供的说明(英文原文)

140 deterministic tools for your AI: logs, tests, SQL, diagrams, SPARQL. Local, no network.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 数据库与数据集

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: JARROBA_MCP_DOMAINS

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "jarroba-tools": {
      "command": "npx",
      "args": [
        "-y",
        "@jarroba/mcp"
      ],
      "env": {
        "JARROBA_MCP_DOMAINS": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add jarroba-tools --env JARROBA_MCP_DOMAINS=your-value -- npx -y @jarroba/mcp

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "jarroba-tools": {
      "command": "npx",
      "args": [
        "-y",
        "@jarroba/mcp"
      ],
      "env": {
        "JARROBA_MCP_DOMAINS": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "jarroba-tools": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@jarroba/mcp"
      ],
      "env": {
        "JARROBA_MCP_DOMAINS": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • JARROBA_MCP_DOMAINS env
    Which tool domains to publish, comma-separated. Defaults to what this package is for. Valid: core, calc, diagram, kg, db, ai, logs, queue, project, tests, api, chip, chem, access, archsim, security,…

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 Invarato 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“数据库与数据集”中的其他服务器比较i

  • 星标数多于此分类中其他 955 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 955 个服务器的 80% 更新
  • 基础检查结果等于或优于此分类中其他 955 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Jarroba Tools 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.3.0)于12天前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:Supabase, MongoDB MCP Server, Elasticsearch MCP Server

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Supabase

作者:supabase

MCP server for interacting with the Supabase platform

电脑或云端★ 2,993Apache-2.0昨天更新
安装

MongoDB MCP Server

作者:mongodb-js

MongoDB Model Context Protocol Server

在你的电脑上运行★ 1,157Apache-2.03天前更新
安装

MCP server for interacting with Elasticsearch

在你的电脑上运行★ 315Apache-2.014个月前更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

Jarroba Tools MCP

Local MCP servers (stdio) that give an AI the deterministic tools of Jarroba Tools so it computes answers instead of inventing them. Everything runs on your machine: the host launches the server as a subprocess and talks over stdin/stdout. There is no network, no endpoint, no account.

The tools reuse the same logic as the web app — the services, without Angular — so there is no second implementation to drift.

Four packages, because context is not free

Loading all 140 tools costs ~53,800 tokens of context before you type anything, in a client that loads every tool definition up front (Cursor and most others; Claude Code with Tool Search turned off). That is Claude Code's own count: measured with /context on 0.1.7 (120 tools: 41,996 tokens) and extrapolated with npm run tokens. Claude Code's Tool Search, on by default, only loads a definition when it is about to be used: there the whole catalogue costs a few hundred tokens. GitHub's official MCP server is the usual example of the problem; Cursor caps out around 40 tools. A catalogue of 140 is not "more complete", it is more expensive — and the model also *chooses* worse, because the usual failure of a big catalogue is not a missing tool, it is calling the one next to it.

So pick the one you actually want:

PackageToolsContextFor
`@jarroba/mcp-logs`12~5,500 tokReading logs that do not fit in your context
`@jarroba/mcp-tests`4~1,700 tokAuditing tests — including your own
`@jarroba/mcp-calc`5~1,600 tokMaths with units, equations and sheets
@jarroba/mcp140~53,800 tokEverything

All four come from the same source. The filter is the JARROBA_MCP_DOMAINS environment variable and each binary sets its own as a default, not a cage: install mcp-logs and add JARROBA_MCP_DOMAINS=logs,core if you want the general-purpose tools too. Domains: core, calc, diagram, kg, db, ai, logs, queue, project, tests, api, chip, chem, access, archsim, security, experiments, payroll.

A newer complement, not a replacement: Tool Search

Since January 2026 Claude Code defers full tool schemas by default and loads them only when the model decides to search for them — Anthropic reports large context savings on big catalogues in their own benchmarks. That does not make the package split above pointless: under deferral, tool *names* and the server's own instructions still load at session start, so a 103-tool server still costs more baseline than an 11-tool one, and not every MCP client defers automatically (some require the caller to opt a tool in explicitly; older or other clients load everything upfront regardless). It is also why every server here now sets a concise instructions field — under deferral, that field is the only text that tells the model *when* to search here at all.

Install

// Claude Desktop (claude_desktop_config.json), Cursor, Cline, VS Code…

{ "mcpServers": { "jarroba-logs": { "command": "npx", "args": ["-y", "@jarroba/mcp-logs"] }, "jarroba-tests": { "command": "npx", "args": ["-y", "@jarroba/mcp-tests"] } } }

# Claude Code

claude mcp add jarroba-logs -- npx -y @jarroba/mcp-logs

npx downloads the package to your machine and runs it there. Nothing is uploaded.


What is actually different here

Most of this catalogue is arithmetic a model gets wrong. Two parts of it are something else.

Reading a log that does not fit in your context

The log tools accept a file path, not just pasted text. That is the whole point: a production or CI log is tens or hundreds of MB and will never fit in a tool call — but the server runs in Node, so it can open the file itself and hand back only what fits. An agent debugging a red CI run cannot read the log; it can ask questions about it.

  • `log_analyze` — format, number of events (a 40-line stack trace counts as one), levels, time range, errors with their root cause resolved, most frequent patterns.
  • `log_reduce` — cut to a character budget keeping errors with their full trace, the window before, and whatever appears only once. Repeats collapse to [xN].
  • `log_patterns` — group lines into templates (Drain): "connected to 10.0.0.1" and "connected to 10.0.0.7" are one message. Also returns the rare ones, which is usually what you wanted.
  • `log_trends` — answers *when did it start*, comparing each pattern against itself rather than total volume. Returns what spiked, what is new, and what stopped appearing — the last one raises no counter anywhere and is often the worse news.
  • `log_around` — what else clustered around a moment. What started before is a candidate explanation; what came after is usually a consequence.
  • `log_distinguish` — what sets a group of events (the errors, by default) apart from the rest: the field=value pairs over-represented in it, like the version all the failures share.
  • `log_stacktrace` — Java/JVM, Python, Node, Go, .NET, Rust, Ruby, PHP: the Caused by chain, the root cause, and the first frame of your code.
  • `log_lint` — whether the log is *well written*: secrets printed, one line flooding the file, timestamps with no time zone, the clock going backwards, no request id.
  • `log_convert` — JSON / logfmt / syslog 5424 / CSV / OpenTelemetry / ECS, saying up front what the conversion loses.
  • `log_rotation` — put rotated logs in time order. Rotation numbering runs backwards against time, and alphabetically app.log.10 sorts before app.log.9. Use it first, or you read them backwards.
  • `log_profile_check` / `log_profile_suggest` — a reusable profile describing how your team's logs look. check returns every error with its exact field so a model can correct itself.
Tools that contradict the caller

Told to *"make the tests pass"*, an agent has two roads: diagnose the bug, or widen the matcher / drop the assertion / skip the case. The second is cheaper. A better model does not fix that and neither does asking nicely in a prompt — it needs a judge outside the model. This is the only part of the catalogue that exists to disagree with whoever calls it. Run it on your own work.

  • `test_audit` — case by case, what a test file *actually* asserts: which assert about a value, which only check that something exists, which assert nothing, which are disabled — with the evidence for each verdict. TypeScript, JavaScript, Python, Java, Go.
  • `test_diff_audit` — compare two versions and say whether the change weakened the safety net: widened matchers, vanished assertions, cases that stopped running.
  • `test_cases` — from a type to the cases worth writing, saying which technique applies and why (boundary values mean nothing without an ordering, so a boolean does not get them), plus the five that matter most if you only have time for five.
  • `test_debt` — every disabled test with its age, from git blame. None of these appears in a coverage report, because for the runner they do not exist.

It does not accuse lightly: a matcher it does not recognize comes back as "indeterminate", never as "asserts nothing". If your team has a home-made expect(), declare it in dialects.


The rest of the catalogue

Available in @jarroba/mcp, or by widening JARROBA_MCP_DOMAINS.

Diagrams (`diagram`, 8) — JTD is a JSON format for an AI to author a diagram. diagram_svg renders it in plain Node so the model can actually see the drawing; the incremental builder (diagram_new / _add / _preview) lets it build in pieces and look in a loop, which is the only way it can judge its own output. mermaid_validate runs Mermaid's own parser (the version the web uses) on Mermaid code and returns the error with its line, column and expected tokens — models write Mermaid that does not render (unquoted parentheses, end as an id, a % in a pie) and fix it on their own once they see the parser's error. It parses only; the parser ships as a separate file loaded on first use, so it costs nothing until then.

Databases (`db`, 9) — SQL text becomes a real schema by executing the DDL in an ephemeral PostgreSQL (pglite), not by guessing with regular expressions: translate a dump from MySQL/SQLite/SQL Server/Oracle, review the design, generate docs or entity classes. Three of them look at the data, not the structure: which join path actually returns rows, which foreign keys the data supports (counted, not guessed), and row-level-security checks that catch the silent failures — plus a simulation of what a given role can really see, inside a transaction that is rolled back. db_query_check runs a query against your schema — does it run, which columns and types it returns — and, given compareWith, finds the smallest data where two queries disagree (the NOT IN with a NULL), with its INSERTs. db_migration_measure runs a migration on top of your schema and measures the lock each statement actually takes (pg_locks), whether it rewrites or fully scans the table, and writes the safer version (CONCURRENTLY, NOT VALID + VALIDATE, lock_timeout…) — instead of guessing lock levels. Pass your application's queries and it also says which ones the migration breaks or changes.

Knowledge graphs (`kg`, 4) — SPARQL 1.1, SHACL and a "semantics as code" layer over Oxigraph (WASM, no server), so a metric like "revenue" is computed from the agreed definition rather than a query someone invented.

AI about AI (`ai`, 6) — deterministic and model-free, which is what makes them useful here: an AI can review its own system prompt, prepare a RAG corpus, run its own answer through a claim/source check, verify the eval suite it just wrote, or audit the catalogue of an MCP server it is deciding whether to install — and, given the tools/list it approved earlier, catch a "rug pull" (tools that changed after approval) — without spending a model call. And before recommending a practice it learned in training, practice_check tells it whether that practice still holds — superseded by what, since when, how sure — from a dated register; given its knowledge cutoff, only what changed after it.

Project workshop (`project`, 10) — simulate make without running it and say why each target rebuilds; compare a real make log against that prediction (a target rebuilt when the simulation said "cached" is the signature of an undeclared dependency); git check-ignore -v without git, including where git and Docker disagree about the same file; and which Docker layers a change invalidates. dora_metrics computes the four DORA metrics from gh run list JSON (and git log for lead time), says why each failed deploy counts as failed, and classifies the team against every State of DevOps report 2019-2024 — saying "ambiguous" when a report's table does not decide. maven_plan says what mvn runs in a project without running Maven — reactor order, phase by phase, and where each goal comes from (packaging, your pom, the parent, a profile) — verified goal by goal against real mvn logs; gradle_plan reads a --dry-run output and gives each task's Maven equivalent.

Chemistry and solid state (`chem`, 12) — the textbook case for this whole server. A model invents chromium's electron configuration, removes electrons from the wrong orbital when ionizing, and confuses bond energy (D0) with well depth (De). Here that comes from services with measured oracles and tests. For solutions: the exact pH of any mix of acids, bases and salts with the textbook formula next to it and how wrong it is (chem_ph), titrations with their equivalence points and the best indicator (`chem_titr

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx