# com.rubrkit/rubrkit

> MCP-native AI evaluation: rubric audits, eval suites, and proof reports for AI/LLM output.

- name: com.rubrkit/rubrkit
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 89/100
- quality: 63/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.rubrkit%2Frubrkit
- tools: https://api.protogrid.dev/v1/servers/com.rubrkit%2Frubrkit/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "rubrkit": {
      "type": "http",
      "url": "https://www.rubrkit.com/api/v1/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 65
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% ~updated-113d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 63/100 (needs work)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 71 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: rubrkit_list_golden_cases (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); rubrkit_search_api_docs (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); rubrkit_create_artifact_bundle (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 4,074 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 9 tool changes in 30 days
- fail `stability.rug_pull`: 1 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 41, about 4,074 tokens to load them all
- tool set hash: 74fe90df8cad27d15cedf1d5dab413c8
- tools last changed: 2026-10-02T21:33:05.789Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.rubrkit/rubrkit.svg)](https://protogrid.dev/servers/com.rubrkit/rubrkit)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-02 `rubrkit_apply_deep_compaction` added
  - Save a succeeded deep compaction job's verified result as a new version of the file. Refused if the file changed since the job started. Requires files:write for API keys.
- 2026-10-02 `rubrkit_estimate_deep_compaction` added
  - Estimate the credit cost of a deep compaction of one file before starting it. Requires compactions:run for API keys.
- 2026-10-02 `rubrkit_compact_artifact_file` changed (description, inputSchema) **meaning changed**
  - before: Deterministically shorten a markdown or text prompt without losing instructions (free, no credits). Saves a new version unless dryRun is true. Requires files:write for API keys.
  - after: Shorten a markdown or text prompt without losing instructions. mode standard (default) is a free deterministic pass that saves a new version unless dryRun is true; requires files:write for API keys. mode deep starts an AI compaction job that uses credits, verifies every instruction was kept, and never saves on its own: poll the returned job, then call rubrkit_apply_deep_compaction; requires compactions:run for API keys.
- 2026-09-29 `rubrkit_compress_artifact_file` removed
  - Deterministically shorten a markdown or text prompt without losing instructions (free, no credits). Saves a new version unless dryRun is true. Requires files:write for API keys.
- 2026-09-29 `rubrkit_compact_artifact_file` added
  - Deterministically shorten a markdown or text prompt without losing instructions (free, no credits). Saves a new version unless dryRun is true. Requires files:write for API keys.
- 2026-09-24 `rubrkit_list_rubr_flow_conversions` removed
  - List conversion history. Requires artifact_bundles:read for API keys.
- 2026-09-24 `rubrkit_convert_to_rubr_flow` removed
  - Start an async rubr_flow conversion job. Requires rubr_flow:convert for API keys.
- 2026-09-24 `rubrkit_read_rubr_flow_conversion` removed
  - Read one conversion report. Requires artifact_bundles:read for API keys.
- 2026-09-24 `rubrkit_compress_artifact_file` added
  - Deterministically shorten a markdown or text prompt without losing instructions (free, no credits). Saves a new version unless dryRun is true. Requires files:write for API keys.

Full history: https://api.protogrid.dev/v1/servers/com.rubrkit%2Frubrkit/changes

## Remotes

- https://www.rubrkit.com/api/v1/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (41)

- `rubrkit_add_golden_case`: Add a golden case (a real edge-case input with a confirmed-correct output) to an artifact bundle via POST /api/v1/artifact-bundles/{artifactBundleId}/golden-cases. Requires artifact_bundles:write for API keys.
- `rubrkit_apply_audit_rewrite`: Apply a completed audit's AI rewrite to the bundle files (a new version per changed file). Requires audits:run for API keys.
- `rubrkit_apply_deep_compaction`: Save a succeeded deep compaction job's verified result as a new version of the file. Refused if the file changed since the job started. Requires files:write for API keys.
- `rubrkit_compact_artifact_file`: Shorten a markdown or text prompt without losing instructions. mode standard (default) is a free deterministic pass that saves a new version unless dryRun is true; requires files:write for API keys. mode deep starts an AI compaction job that uses credits, verifies every instruction was kept, and never saves on its own: poll the returned job, then call rubrkit_apply_deep_compaction; requires compactions:run for API keys.
- `rubrkit_create_artifact_bundle`: Create an artifact bundle through /api/v1/artifact-bundles. Requires artifact_bundles:write for API keys.
- `rubrkit_create_drift_monitor`: Create a drift monitor pinned to a file version via POST /api/v1/artifact-bundles/{artifactBundleId}/drift-monitors. Requires artifact_bundles:write for API keys.
- `rubrkit_delete_artifact_bundle`: Archive an artifact bundle (soft delete) through DELETE /api/v1/artifact-bundles/{artifactBundleId}. The bundle moves to the archived state and can be restored or permanently deleted later. Requires artifact_bundles:write for API keys.
- `rubrkit_estimate_deep_compaction`: Estimate the credit cost of a deep compaction of one file before starting it. Requires compactions:run for API keys.
- `rubrkit_export_proof_report`: Start an async proof report job with export storage enabled by default. Requires evals:run for API keys.
- `rubrkit_hard_delete_artifact_bundle`: Permanently delete an archived artifact bundle and all of its files, versions, and run history through DELETE /api/v1/artifact-bundles/{artifactBundleId}/permanent. This is irreversible and only works on bundles that are already archived. Requires artifact_bundles:write for API keys.
- `rubrkit_list_artifact_bundles`: List artifact bundles through /api/v1/artifact-bundles. Requires artifact_bundles:read for API keys.
- `rubrkit_list_artifact_bundle_versions`: List bundle-level version events. Requires artifact_bundles:read for API keys.
- `rubrkit_list_artifact_files`: List files in an artifact bundle. Requires files:read for API keys.
- `rubrkit_list_audits`: List persisted audit history. Requires artifact_bundles:read for API keys.
- `rubrkit_list_drift_monitors`: List the drift monitors for an artifact bundle via /api/v1/artifact-bundles/{artifactBundleId}/drift-monitors. Requires artifact_bundles:read (or artifacts:pull) for API keys.
- `rubrkit_list_evals`: List eval history. Requires artifact_bundles:read for API keys.
- `rubrkit_list_file_versions`: List immutable versions for a file. Requires files:read for API keys.
- `rubrkit_list_golden_cases`: List the golden cases for an artifact bundle via /api/v1/artifact-bundles/{artifactBundleId}/golden-cases. Requires artifact_bundles:read (or artifacts:pull) for API keys.
- `rubrkit_list_job_events`: Read append-only job progress events. Requires jobs:read for API keys.
- `rubrkit_poll_job`: Read async job progress. Requires jobs:read for API keys.
- `rubrkit_read_api_doc`: Read a docs/api Markdown guide or OpenAPI source by slug, file name, or docs/api path.
- `rubrkit_read_artifact_bundle`: Read artifact bundle details, files, and file tree. Requires artifact_bundles:read for API keys.
- `rubrkit_read_artifact_file`: Read the latest file metadata and content. Requires files:read for API keys.
- `rubrkit_read_audit`: Read a single audit run. Requires artifact_bundles:read for API keys.
- `rubrkit_read_drift_observations`: List the recorded observations for a drift monitor via /api/v1/drift-monitors/{driftMonitorId}/observations. Requires artifact_bundles:read (or artifacts:pull) for API keys.
- `rubrkit_read_eval`: Read one eval run, including the `stats` statistical verdict on advanced-mode runs (empty for standard runs). Requires artifact_bundles:read for API keys.
- `rubrkit_read_input_drift`: Compare recent production inputs against a prior reference window (population stability index) for an artifact bundle via GET /api/v1/artifact-bundles/{artifactBundleId}/drift/input. Requires artifact_bundles:read (or artifacts:pull) for API keys.
- `rubrkit_read_openapi_contract`: Read the canonical docs/api/openapi.yaml contract.
- `rubrkit_read_proof_report`: Read one proof report. Requires artifact_bundles:read for API keys.
- `rubrkit_read_validity_drift`: Correlate rubric scores against recorded outcome metrics for an artifact bundle to check whether the rubric is still predictive via GET /api/v1/artifact-bundles/{artifactBundleId}/drift/validity. Requires artifact_bundles:read (or artifacts:pull) for API keys.
- `rubrkit_record_outcome`: Record a production outcome event (input feature, metric, and/or label) for an artifact bundle via POST /api/v1/artifact-bundles/{artifactBundleId}/outcomes. Requires artifact_bundles:write for API keys.
- `rubrkit_restore_artifact_bundle_version`: Restore files from a prior artifact-bundle version by creating new file versions. Requires artifact_bundles:write and files:write for API keys.
- `rubrkit_restore_file_version`: Restore a prior file version by creating a new version. Requires files:write for API keys.
- `rubrkit_retire_golden_case`: Retire a golden case via DELETE /api/v1/golden-cases/{goldenCaseId}. Requires artifact_bundles:write for API keys.
- `rubrkit_run_drift_check`: Queue a drift check immediately instead of waiting for the monitor's schedule, via POST /api/v1/drift-monitors/{driftMonitorId}/check. The first check on a new monitor calibrates its baseline. Costs one audit per repeat. Requires artifact_bundles:write for API keys.
- `rubrkit_run_evals`: Start an async eval run. Requires evals:run for API keys. Set mode: "advanced" with baselineVersionId and candidateVersionId to run a statistically-backed A/B (repeats defaults to 3, max 5).
- `rubrkit_search_api_docs`: Search the canonical docs/api Markdown guides and OpenAPI operation summaries.
- `rubrkit_set_drift_monitor_status`: Pause or resume a drift monitor via PATCH /api/v1/drift-monitors/{driftMonitorId}. Requires artifact_bundles:write for API keys.
- `rubrkit_start_audit`: Start an async audit job. Audit results are cached per account by a content hash of their inputs; pass force: true to bypass the cache and run a fresh audit (the same as the CLI's --no-cache flag). Requires audits:run for API keys.
- `rubrkit_update_artifact_file`: Write a new editable version for a file. Requires files:write for API keys.
- `rubrkit_upload_artifact_files`: Upload one or more text files into an artifact bundle. Requires files:write for API keys.
