Blog

Give your AI agent a fact-checker for text: AI detection, grammar and plagiarism over MCP

Probator checks any text for AI generation, grammar and plagiarism in 100+ languages, through a REST API or a remote MCP server your agent can call.

More and more of the text that flows through our apps is written, edited or summarised by a language model. Content platforms want to know before they publish it. Schools want to know before they grade it. And under Article 50 of the EU AI Act, anyone publishing AI-generated text to inform the public will need to label it.

Probator checks a text for three things in one call:

It also reports hidden characters, look-alike letters and AI provenance marks (C2PA, IPTC labels, invisible Unicode tags used for hidden prompts). It works in 100+ languages, and you can call it from your code or let your AI agent call it directly.

For agents: one line of MCP config

Probator runs a remote MCP server. Add it to any client that speaks MCP over HTTP:

{
  "mcpServers": {
    "probator": { "type": "http", "url": "https://probator.ai/mcp" }
  }
}

The first call returns a 401 that points the client to OAuth 2.1. The client registers itself, you sign in and approve, and that's it: no keys to copy around. If your agent prefers a key, add "headers": { "Authorization": "Bearer pb_live_…" } instead.

Your agent gets five tools:

ToolWhat it does
check_aiAI-text detection with evidence and provenance marks
check_grammarcorrections, with explanations in 6 languages
check_plagiarismoriginality score and matching sources
check_allall three in one call
get_creditsplan and remaining credits (free)

Agents that can't run an OAuth client can still register: they send the person's email, the person signs in, and types a 6-digit code the agent shows them. The details are in auth.md.

For your code: a plain REST API

curl https://probator.ai/v1/detect \
  -H "Authorization: Bearer $PROBATOR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Paste the text you want to check here..."}'
{
  "verdict": { "key": "likely_ai", "p_ai": 0.94, "confidence": "high", "guards": [] },
  "sentences": [ … ],
  "evidence": [ … ],
  "provenance": { "declared": null, "marks": [] },
  "credits": { "used": 142, "remaining": 499858 }
}

How the detection works (and why you can trust a "no")

Most AI detectors give you one opaque number. Probator combines four independent signals:

  1. Its own detection model: a classifier over multilingual sentence embeddings, trained on human and AI-written text in six languages, including AI-polished and "humanized" text.
  2. An expert reading by a language model that quotes the passages it finds suspicious.
  3. A rewrite test: machine text changes little when a model polishes it again.
  4. Forensic evidence: chatbot leftovers, invisible characters, look-alike letters, file metadata.

A false positive costs much more than a miss, so the engine is built to avoid them:

When a guard changes a result, the report tells you which one, in verdict.guards.

On held-out test documents the model scores 98.4% accuracy and an AUROC of 0.998. Results by language are published on the accuracy page.

Results are probabilities with reasons, not proof. Use them to decide what a person should review, not to decide about a person.

What people build with it

Privacy, briefly

Saved documents and the account database stay in the EU. Texts are never used to train models, and the language models it uses are called with no retention and no training. Probator reports hidden marks and AI labels but never removes them.

Try it

Check your own text