Skip to main content
Glama

originality-mcp

MCP server for Originality.ai — 5 tools covering AI detection, plagiarism checking, fact verification, readability analysis, grammar/spelling, and SEO optimization.

Tools

Tool

Description

originality_scan

Run a comprehensive content scan (AI, plagiarism, facts, readability, grammar, SEO)

originality_batch_scan

Process multiple content scans in a single request

originality_scan_url

Scan content from a URL instead of raw text

originality_get_scan_results

Retrieve previously stored scan results by ID

originality_get_credit_balance

Check account credit balance

Related MCP server: HumanizeMCP

Setup

1. Get an API Key

Get your API key from the Originality.ai API Token Dashboard.

2. Configure your MCP client

Option A: npx (no installation)

{
  "mcpServers": {
    "originality": {
      "command": "npx",
      "args": ["originality-mcp"],
      "env": {
        "ORIGINALITY_API_KEY": "your-api-key"
      }
    }
  }
}

Option B: Local install

git clone https://github.com/Eyalm321/originality-mcp.git
cd originality-mcp
npm install
npm run build

Then configure your MCP client:

{
  "mcpServers": {
    "originality": {
      "command": "node",
      "args": ["/absolute/path/to/originality-mcp/dist/index.js"],
      "env": {
        "ORIGINALITY_API_KEY": "your-api-key"
      }
    }
  }
}

AI Detection Models

Model

ID

Description

Lite

lite

<1% false positive rate, allows minor AI editing

Turbo

turbo

Strictest detection, <5% false positive rate

Multi-Language

multilang

Supports 15+ languages

Lite Beta

lite-102

Latest experimental version

Academic

academic

Designed for teachers and students

Development

npm install
npm run build
npm test

License

MIT

Available Tools

5 tools
originality_batch_scanA

Process multiple content scans in a single request. Each item uses the same scan options. More efficient than individual scans for bulk content.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesArray of content items to scan
check_aiYesEnable AI detection for all items
check_plagiarismYesEnable plagiarism detection for all items
check_factsYesEnable fact checking for all items
check_readabilityYesEnable readability analysis for all items
check_grammarYesEnable grammar checking for all items
check_contentOptimizerYesEnable SEO optimization for all items
aiModelVersionYesAI detection model to use
storeScanNoWhether to persist results for later retrieval

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided; description merely mentions 'same scan options' and efficiency, but omits critical behavioral details like batch size limits, credit consumption, error handling, and result ordering.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise: two sentences that front-load purpose and efficiency benefit. No superfluous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema; description fails to explain return values, error handling, or how to interpret batch results. Lacks credit cost or rate limit context essential for a batch operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions. The tool description adds minimal extra meaning beyond stating that options apply uniformly across items, which is already implied.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb 'process' and resource 'multiple content scans'. It distinguishes from siblings by explicitly noting efficiency for bulk content compared to individual scans.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies usage for bulk scanning with efficiency benefit, but lacks explicit exclusion criteria or comparison with sibling tools like originality_scan for different options per item.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

originality_get_credit_balanceA

Retrieve the current account credit balance. Use this to check how many credits are available before running scans.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must convey behavioral traits. It correctly implies a read-only operation ('Retrieve') and states the result (credit balance). However, it does not specify any rate limits or authentication requirements, but for a simple balance check this is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no extraneous information. The most important information (what it does and when to use it) is front-loaded. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the tool is simple, the description lacks information about the return value format (e.g., number, object). Since there is no output schema, the description should clarify what the response contains. This is a notable gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so schema description coverage is 100%. Per guidelines, a baseline of 4 is appropriate. The description adds no parameter details, which is fine since there are none.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Retrieve') and the resource ('current account credit balance'). It distinguishes from sibling tools, which are all scanning-related, making this a unique and specific function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly recommends using this tool before running scans to check credit availability. This provides good contextual guidance, though it does not mention any exceptions or alternative use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

originality_get_scan_resultsA

Retrieve previously stored scan results by scan ID. Only works for scans that had storeScan set to true.

ParametersJSON Schema
NameRequiredDescriptionDefault
scanIdYesThe privateID of the scan to retrieve results for

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses the critical behavioral condition (storeScan required) beyond the schema. With no annotations, this adds transparency. Could mention error handling or auth needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no wasted words. Information is front-loaded and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose and condition. Lacks output format or error cases, but given single param and no output schema, it's minimally adequate. Could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes scanId as 'The privateID'. Description adds no further meaning to the parameter itself, just the condition. Baseline 3 due to 100% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves stored scan results by scan ID, with a key condition (storeScan=true). It distinguishes from siblings like originality_scan which likely creates scans, and originality_batch_scan.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says only works for scans that had storeScan set to true, guiding when to use. Could further indicate when to use alternatives like originality_scan if not stored.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

originality_scanA

Run a comprehensive content scan for AI detection, plagiarism, fact checking, readability, grammar/spelling, and SEO optimization. Requires plain text content. Each enabled check consumes credits.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesIdentifier/label for the scan
contentYesPlain text content to analyze
check_aiYesEnable AI detection
check_plagiarismYesEnable plagiarism detection
check_factsYesEnable factual accuracy verification
check_readabilityYesEnable readability scoring
check_grammarYesEnable grammar/spelling checks
check_contentOptimizerYesEnable SEO optimization analysis
aiModelVersionYesAI detection model to use
optimizerQueryNoTarget keyword/phrase for SEO analysis
optimizerCountryNoCountry for SEO analysis (e.g. "United States")
optimizerDeviceNoDevice type for SEO analysis
optimizerPublishingDomainNoWebsite URL for contextual SEO analysis
storeScanNoWhether to persist results for later retrieval
excludedUrlsNoURLs to exclude from plagiarism checks

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It reveals that enabled checks consume credits and that content must be plain text, but it does not disclose rate limits, whether results are returned synchronously, what happens if credits are insufficient, or how stored results are structured. The storeScan parameter suggests persistence but is not explained.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences. The first sentence front-loads the comprehensive capabilities, and the second adds key constraints. While efficient, it could benefit from a slightly more structured breakdown of the scan types.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 15 parameters (9 required), no output schema, and no annotations, the description covers the core purpose and credit consumption but lacks details on return format, processing model (sync/async), and how to use stored results. It is sufficient for basic understanding but not fully complete for an agent to predict behavior without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds minimal value beyond the schema: it notes that plain text is required and that credits are consumed per check. No deeper semantics are provided for individual parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs a comprehensive content scan and lists all specific checks (AI detection, plagiarism, fact checking, readability, grammar/spelling, SEO). It distinguishes from siblings like originality_scan_url and originality_batch_scan by focusing on plain text content for a single scan.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions the requirement for plain text content and that each enabled check consumes credits, which provides some usage context. However, it does not explicitly guide when to use this tool versus alternatives like originality_scan_url or originality_batch_scan, nor does it specify exclusions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

originality_scan_urlA

Scan content from a URL. The API fetches the content from the provided URL and runs the same checks as a regular scan. Useful for analyzing published web pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL of the page to scan
titleNoIdentifier/label for the scan
check_aiYesEnable AI detection
check_plagiarismYesEnable plagiarism detection
check_factsYesEnable fact checking
check_readabilityYesEnable readability analysis
check_grammarYesEnable grammar checking
check_contentOptimizerYesEnable SEO optimization analysis
aiModelVersionYesAI detection model to use
optimizerQueryNoTarget keyword/phrase for SEO analysis
optimizerCountryNoCountry for SEO analysis (e.g. "United States")
optimizerDeviceNoDevice type for SEO analysis
optimizerPublishingDomainNoWebsite URL for contextual SEO analysis
storeScanNoWhether to persist results for later retrieval
excludedUrlsNoURLs to exclude from plagiarism checks

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description bears full behavioral burden. It discloses that the API fetches content and runs checks, but lacks details on authorization, rate limits, destructiveness, or latency. It adds some value beyond the schema but is not fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded, and no fluff. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite 100% schema coverage, the description omits what the tool returns (e.g., scan ID or result object). Since the sibling 'originality_get_scan_results' exists, it implies this tool submits a scan, but no mention of output format. With 15 parameters and no output schema, more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are well-documented. The description adds no additional meaning beyond the schema; it only mentions the 'URL' parameter implicitly. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it scans content from a URL, fetching and analyzing it like a regular scan. It effectively distinguishes from siblings like originality_scan (direct text) and batch_scan (batch processing).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says it is 'useful for analyzing published web pages,' implying when to use via URL. It mentions 'same checks as a regular scan,' hinting at alternatives, but does not explicitly state when not to use or compare to other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv1.0.0
    • First observedoriginality_batch_scan
    • First observedoriginality_get_credit_balance
    • First observedoriginality_get_scan_results
    • First observedoriginality_scan
    • First observedoriginality_scan_url

TDQS

A4.1/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clear, distinct purpose: scanning text, scanning URLs, batch scanning, retrieving results, and checking credit balance. No ambiguity or overlap.

Naming Consistency5/5

All tools use a consistent snake_case verb_noun pattern with the 'originality_' prefix. The naming is predictable and uniform.

Tool Count5/5

With 5 tools, the set is well-scoped for an originality scanning service. Each tool serves a necessary function without redundancy or excessive specialization.

Completeness4/5

The tools cover the essential workflow: checking credits, scanning text/URLs, batch scanning, and retrieving stored results. Minor gaps like listing or deleting scans do not hinder core functionality.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers