Crivum

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

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
80%
Naming quality
95%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~936Tokens (tool definitions)
~1.2 KBTypical response size
Moderate attention impact (0.73% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "crivum": {
      "url": "https://crivum.org/mcp"
    }
  }
}

Remote endpoints

https://crivum.org/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢screen_text(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".

Input Schema

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 20,
      "maxLength": 400000,
      "description": "Draft to screen, in the original language. Long texts are trimmed, never refused."
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false
}
evaluate_text(text, title, work_type, academic_level, evaluation_id)

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".

Input Schema

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "description": "Full text to score, in the original language."
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 300,
      "description": "Work title."
    },
    "work_type": {
      "type": "string",
      "enum": [
        "pesquisa",
        "revisao",
        "teorico",
        "relato",
        "ensaio",
        "resumo"
      ],
      "description": "Work type key from get_criteria."
    },
    "academic_level": {
      "type": "string",
      "enum": [
        "T",
        "G",
        "E",
        "M",
        "D",
        "P",
        "auto"
      ],
      "description": "Academic level (T, G, E, M, D, P) or 'auto' to let Crivum infer it."
    },
    "evaluation_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Caller-chosen id for idempotent re-calls. A new one is generated when omitted."
    }
  },
  "required": [
    "text",
    "title",
    "work_type"
  ],
  "additionalProperties": false
}
🟢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".

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢verify_record(slug, doi, codigo, cursor, limit)

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".

Input Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "description": "Publication slug, e.g. from a crivum.org/p/ URL."
    },
    "doi": {
      "type": "string",
      "minLength": 1,
      "description": "Registered Crossref DOI."
    },
    "codigo": {
      "type": "string",
      "minLength": 1,
      "description": "Compact code shown on the record, e.g. 'Crivum MB74'."
    },
    "cursor": {
      "type": "string",
      "minLength": 1,
      "description": "Opaque pagination cursor from a previous call."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Page size when browsing (default 20)."
    }
  },
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools