mcpField
P
Perspective API Alternative (Toxicity Detection)

Perspective API Alternative (Toxicity Detection)

Remote
apify.comSecurity0Updated 2w ago

About Perspective API Alternative (Toxicity Detection)

Perspective API Alternative is a stdio MCP server that scores English text for toxicity using the Detoxify model rather than an LLM. It offers Perspective API-compatible results for agents checking text before publication.

Key features

  1. 01Six toxicity attribute scores
  2. 02Per-text flagged result
  3. 03Batch analysis of English text
  4. 04Configurable attributes and threshold
  5. 05Perspective API-compatible format
  6. 06Detoxify model, not an LLM

Use cases

  1. 01Screen comments before an agent posts them
  2. 02Review batches of English text
  3. 03Flag text using a chosen toxicity threshold

MCP support

The stdio MCP server exposes the analyze_toxicity tool, which sends text to the Apify toxicity API and returns scores and flagged results. An optional streamable HTTP MCP endpoint is also available.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://koyourmoon--perspective-api-alternative.apify.actor/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

All endpoints
Streamable HTTPhttps://koyourmoon--perspective-api-alternative.apify.actor/mcpAuth required

Tools

Details

From the project README

Perspective API Alternative: Toxicity Detection MCP Server

This repository contains an MCP server for the stdio transport. The server gives AI agents one tool, analyze_toxicity. Use the tool to examine text before an agent publishes it.

The tool returns six scores from 0 to 1 and a flagged value for each text:

  • TOXICITY, SEVERE_TOXICITY, INSULT, PROFANITY, THREAT, IDENTITY_ATTACK

The scores come from the open-source Detoxify model. The model is not an LLM. Thus, the same text always gets the same score. English only.

The request and response format is the same as the format of the Google Perspective API. Google stops the Perspective API on December 31, 2026.

How the server operates

The server implementation is server.py in this repository. It uses only the Python standard library (Python 3.9 or later).

  • The server reads JSON-RPC messages from stdin and writes the responses to stdout.
  • The server answers initialize, ping and tools/list itself. These messages do not need a token.
  • For tools/call, the server sends the texts to the toxicity API on Apify, and returns the scores.
  • The toxicity API runs the Detoxify model. You pay for each call through your Apify account.

Requirements

  • Python 3.9 or later, or Docker
  • An Apify API token in the APIFY_TOKEN environment variable

To get a token, open the Apify Console. Then go to Settings > API & Integrations.

Installation

Python
  1. Clone the repository:

    git clone https://github.com/koyourmoon/perspective-api-alternative-mcp.git
    
  2. Add the server to the configuration of your MCP client:

    {
      "mcpServers": {
        "perspective-api-alternative": {
          "command": "python",
          "args": ["/path/to/perspective-api-alternative-mcp/server.py"],
          "env": { "APIFY_TOKEN": "<APIFY_TOKEN>" }
        }
      }
    }
    
Docker
  1. Build the image:

    docker build -t perspective-api-alternative-mcp .
    
  2. Add the server to the configuration of your MCP client:

    {
      "mcpServers": {
        "perspective-api-alternative": {
          "command": "docker",
          "args": ["run", "-i", "--rm", "-e", "APIFY_TOKEN", "perspective-api-alternative-mcp"],
          "env": { "APIFY_TOKEN": "<APIFY_TOKEN>" }
        }
      }
    }
    

Tool: analyze_toxicity

ParameterTypeDescription
textsarray of strings, required1 to 100 English texts to score
attributesarray of stringsAttributes to return. The default is all six.
thresholdnumberTOXICITY score at which a text is flagged. The default is 0.5.

Example result for one text:

{
  "results": [
    {
      "text": "You are an idiot.",
      "scores": { "TOXICITY": 0.98, "INSULT": 0.95, "PROFANITY": 0.62 },
      "flagged": true,
      "billed_units": 1
    }
  ]
}

If a text looks non-English, the result has a warning field. The scores for that text are not reliable.

Environment variables

NameRequiredDescription
APIFY_TOKENYes, for tools/callYour Apify API token
PERSPECTIVE_ALT_URLNoA different URL for the toxicity API

Prices

  • $0.50 for 1,000 text units. A text unit is each started 1,000 characters of a text. Most comments are 1 unit.
  • Lower prices for Apify Bronze, Silver and Gold plans.
  • The first call after an idle period of 60 seconds can take 10 to 30 seconds (cold start).

Remote connection (optional)

You can also connect your MCP client directly to the toxicity API. This connection does not use server.py.

ItemValue
TransportStreamable HTTP
URLhttps://koyourmoon--perspective-api-alternative.apify.actor/mcp
AuthenticationAuthorization: Bearer <APIFY_TOKEN>

Files

FileContent
server.pyThe MCP server
DockerfileThe container image for the server
glama.jsonThe maintainer data for Glama
server.jsonThe entry for the official MCP Registry

Links

License

MIT. This project is not affiliated with Google or Jigsaw. "Perspective API" is a trademark of Google LLC.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.