Skip to content

classifier.dev

by classifier.dev · remote · no sign-in to list tools · v1.0.0 · published by dev.classifier

Sort up to 1,000 texts into your own labels with a calibrated confidence per answer. No API key.

Changes · 5

5 tools: 5 change things.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http classifier https://classifier.dev/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "count_labels" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "count_labels" says "count": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

5 tools

Changes things 5Claude Code: ask
  • classify_dimensionsClassify each text by several named dimensions, such as team, urgency and kind, in one request.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Classify each text by several named dimensions, such as team, urgency and kind, in one request. Returns a label, confidence, scores and model for each field. At most 1,000 item × dimension decisions; every field counts toward the quota. Use per-dimension instructions to define ambiguous categories.

    Annotations the server declares

    • title: Classify several dimensions per text
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • classify_multi_labelLike classify_texts, but each text gets every label that applies (possibly none), with an independent 0-1 score per label.No findings

    Why it is in this group

    • The name "classify_multi_label" says "label": a word for a change.
    Description, as the server wrote it
    Like classify_texts, but each text gets every label that applies (possibly none), with an independent 0-1 score per label. Use this for tagging — topics of an article, components touched by a ticket — where one answer is not enough. Set max_labels to cap how many come back per text. Labels scoring >= 0.7 are kept.

    Annotations the server declares

    • title: Tag texts with every label that applies
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • classify_textsSort up to 1,000 texts into exactly one of your own labels each, with confidence per answer.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Sort up to 1,000 texts into exactly one of your own labels each, with confidence per answer. Use this when you have many items to triage, route, filter or bucket and do not want to read them all: search results before opening them, tickets, log lines, changed files, feedback. Do not use it for fewer than about five items you can already see — just decide. For default Jev, confidence is calibrated (answers >= 0.9 are right ~82-92% of the time; < 0.5 about 30-60%); these measurements do not apply to experimental Laya. so act on the sure ones and look at the rest yourself, or pass tier "smart" to have the unsure ones re-asked of a reasoning model.

    Annotations the server declares

    • title: Classify texts into one label each
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • count_labelsClassify up to 1,000 texts and return only a histogram: how many landed on each label, and how many the model was unsure about.1 finding

    Why it is in this group

    • The name "count_labels" says "count": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "count_labels" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "count_labels" says "count": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Classify up to 1,000 texts and return only a histogram: how many landed on each label, and how many the model was unsure about. Use this when you want the shape of a corpus — what share of feedback is bugs vs praise, how many search results are relevant — without pulling a thousand individual answers into context. Use classify_texts when you need the answer per item.

    Annotations the server declares

    • title: Count how many texts fall under each label
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • review_uncertainClassify up to 1,000 texts and return only the ones whose confidence fell under a threshold (default 0.7), each with its two most likely labels.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Classify up to 1,000 texts and return only the ones whose confidence fell under a threshold (default 0.7), each with its two most likely labels. Use this after a bulk classification to decide which items deserve your own attention: the confident answers can be trusted, these are the ones to read. Returns the index of each item so you can map back to your list.

    Annotations the server declares

    • title: Find the texts the classifier was unsure about
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http classifier https://classifier.dev/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [],
    "ask": [
      "mcp__classifier__classify_texts",
      "mcp__classifier__classify_dimensions",
      "mcp__classifier__classify_multi_label",
      "mcp__classifier__count_labels",
      "mcp__classifier__review_uncertain"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as classifier. Review it before you use it.