# Crivum

> Score academic and professional writing against published criteria with three reference models.

- name: org.crivum/crivum
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 79/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/org.crivum%2Fcrivum
- tools: https://api.protogrid.dev/v1/servers/org.crivum%2Fcrivum/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "crivum": {
      "type": "http",
      "url": "https://crivum.org/mcp",
      "headers": {
        "Authorization": "Bearer ${CRIVUM_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${CRIVUM_TOKEN}`.

## Trust

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

## Quality 79/100 (good)

### 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: evaluate_text (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); screen_text (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_criteria (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 947 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

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

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

- tools: 4, about 947 tokens to load them all
- tool set hash: b5b0aea0eafc94e533f3c10e42aa10f1
- badge: [![protogrid quality](https://protogrid.dev/badge/org.crivum/crivum.svg)](https://protogrid.dev/servers/org.crivum/crivum)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://crivum.org/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (4)

- `evaluate_text`: Score a text against published academic criteria. Use when a user wants to know how strong a paper, case report, thesis chapter or teaching material is, or wants a reviewable score before submitting it somewhere. Returns a 0 to 100 score, a per criterion breakdown, the divergence between three reference models and whether the work qualifies for a citable DOI record. Does not accept recipes, operational legal documents, workout plans or other how to instructions. This is not peer review and the score is not an accreditation. Crivum reads any language and answers in the language of the text, and the criteria were calibrated in Portuguese and English, so comparing results across languages is a reading nobody has measured yet. Requires an API key. Gatilho em português: "quero saber a nota do meu texto antes de submeter".
- `get_criteria`: Return Crivum's public rubric by work type, the tier ladder, the thresholds, the minimum score for a citable record and what Crivum accepts and refuses, each with a version number. No API key required. Use before calling evaluate_text, or to show a user what a score decomposes into. Gatilho em português: "quais são os critérios da Crivum".
- `screen_text`: Check whether a draft is ready before spending anything on it. Returns a 0 to 100 readiness reading, the suggested work type and up to six objective questions about what is still missing. Runs on a single cheap model and needs no API key, so it is the right first call when a user asks if a paper, case report, thesis chapter or teaching material is good enough yet. For the score that counts, with three reference models and eligibility for a citable record, call evaluate_text afterwards. Gatilho em português: "meu texto já está bom o suficiente".
- `verify_record`: List Crivum's published, citable records (title, authors, DOI when registered, tier and score). Pass exactly one of slug, doi or codigo to check one specific record, or omit all three to browse recent registrations. Rejects calls that pass more than one identifier at once, instead of matching either. No API key required. Gatilho em português: "esse trabalho já tem registro na Crivum".
