ZeroTrue MCP Server
Enables detection of AI-generated content in text, images, video, and audio via the ZeroTrue API, supporting multiple analysis tools and MCP-compatible clients.
README
ZeroTrue MCP Server
Official Model Context Protocol server for the ZeroTrue AI Detection API. Detect AI-generated text, images, video, and audio from any MCP-compatible agent or IDE.
Quick Start
Requires a ZeroTrue API key. Get one at zerotrue.app.
ZEROTRUE_API_KEY=zt_your_key npx -y @zerotrue/mcp stdio
Tools
| Tool | Description |
|---|---|
zerotrue_analyze_text |
Detect AI-generated content in plain text |
zerotrue_analyze_url |
Analyze media or text at a direct HTTP(S) URL |
zerotrue_analyze_local_file |
Analyze a local file by path (preferred for desktop/CLI clients) |
zerotrue_analyze_file |
Analyze a Base64-encoded file |
zerotrue_get_result |
Retrieve a previous analysis result by ID |
zerotrue_get_api_info |
Return API metadata and supported formats |
All tools accept optional isDeepScan and isPrivateScan flags where applicable.
zerotrue_analyze_local_file
The recommended tool for local MCP clients. Pass an absolute path: the server validates the file, detects its MIME type, and uploads it as a multipart form to ZeroTrue. No manual Base64 encoding needed.
{ "path": "/Users/alex/Downloads/photo.png", "isPrivateScan": true }
zerotrue_analyze_text
{ "text": "Paste the content here...", "isDeepScan": false }
zerotrue_analyze_url
{ "url": "https://example.com/video.mp4", "isPrivateScan": true }
zerotrue_get_result
{ "id": "246c6522-195d-45d3-af96-0f2360d2e0bc" }
Response Format
Every tool returns a consistent JSON envelope:
{
"ok": true,
"data": {
"id": "246c6522-195d-45d3-af96-0f2360d2e0bc",
"status": "completed",
"result": {
"ai_probability": 0.998,
"human_probability": 0.002,
"result_type": "ai_generated",
"feedback": "High probability of AI generation detected"
}
}
}
Errors use the same shape with ok: false:
{
"ok": false,
"error": {
"statusCode": 401,
"message": "ZeroTrue API key is required.",
"code": "ZEROTRUE_API_ERROR"
}
}
Client Setup
<details> <summary><strong>Codex</strong></summary>
[mcp_servers.zerotrue]
command = "npx"
args = ["-y", "@zerotrue/mcp", "stdio"]
[mcp_servers.zerotrue.env]
ZEROTRUE_API_KEY = "zt_your_key"
</details>
<details> <summary><strong>Claude Desktop / Claude Code</strong></summary>
Add to claude_desktop_config.json:
{
"mcpServers": {
"zerotrue": {
"command": "npx",
"args": ["-y", "@zerotrue/mcp", "stdio"],
"env": {
"ZEROTRUE_API_KEY": "zt_your_key"
}
}
}
}
</details>
<details> <summary><strong>GitHub Copilot CLI</strong></summary>
copilot mcp add zerotrue \
--transport stdio \
--env ZEROTRUE_API_KEY=zt_your_key \
--tools '*' \
--timeout 310000 \
-- npx -y @zerotrue/mcp stdio
</details>
<details> <summary><strong>VS Code</strong></summary>
Or add manually to your workspace .vscode/mcp.json:
{
"inputs": [
{
"id": "zerotrue-api-key",
"type": "promptString",
"description": "ZeroTrue API key",
"password": true
}
],
"servers": {
"zerotrue": {
"command": "npx",
"args": ["-y", "@zerotrue/mcp", "stdio"],
"env": {
"ZEROTRUE_API_KEY": "${input:zerotrue-api-key}"
}
}
}
}
</details>
<details> <summary><strong>Cursor</strong></summary>
Add to your Cursor MCP settings:
{
"mcpServers": {
"zerotrue": {
"command": "npx",
"args": ["-y", "@zerotrue/mcp", "stdio"],
"env": {
"ZEROTRUE_API_KEY": "zt_your_key"
}
}
}
}
</details>
<details> <summary><strong>JetBrains / IntelliJ</strong></summary>
Use the IDE MCP settings panel with a local stdio server:
{
"mcpServers": {
"zerotrue": {
"command": "npx",
"args": ["-y", "@zerotrue/mcp", "stdio"],
"env": {
"ZEROTRUE_API_KEY": "zt_your_key"
}
}
}
}
</details>
<details> <summary><strong>Remote / self-hosted (Streamable HTTP)</strong></summary>
Run the HTTP server:
ZEROTRUE_API_KEY=zt_your_key \
ZEROTRUE_MCP_PORT=8787 \
npx -y @zerotrue/mcp http
Or with Docker:
docker run -p 8787:8787 \
-e ZEROTRUE_API_KEY=zt_your_key \
zerotrue/mcp
MCP endpoint: http://localhost:8787/mcp
Health check: http://localhost:8787/healthz
Point your MCP client to the endpoint above. For production, place the server behind HTTPS and add authentication.
</details>
Configuration
| Variable | Default | Description |
|---|---|---|
ZEROTRUE_API_KEY |
(required) | ZeroTrue API key (zt_...). Required for all analysis tools. |
ZEROTRUE_API_BASE_URL |
https://api.zerotrue.app |
ZeroTrue API base URL |
ZEROTRUE_API_TIMEOUT_MS |
310000 |
Request timeout in milliseconds |
ZEROTRUE_MAX_FILE_BYTES |
104857600 |
Max local file size (default 100 MB) |
ZEROTRUE_MCP_TRANSPORT |
stdio |
Transport mode: stdio or http |
ZEROTRUE_MCP_HOST |
0.0.0.0 |
HTTP bind host |
ZEROTRUE_MCP_PORT |
8787 |
HTTP bind port |
ZEROTRUE_MCP_ENDPOINT |
/mcp |
HTTP MCP path |
Example Prompts
Is this text AI-generated? "The quantum entanglement of..."
Analyze https://example.com/profile.jpg with ZeroTrue and summarize the result.
Use ZeroTrue to check /Downloads/video.mp4. Keep the scan private.
Get ZeroTrue result 246c6522-195d-45d3-af96-0f2360d2e0bc and explain the verdict.
Security
- Store
ZEROTRUE_API_KEYin your MCP client config, never in source control. - Prefer
stdiomode for personal use: your key never leaves your machine. zerotrue_analyze_local_filecan only access files readable by the MCP server process.- For HTTP deployments, do not expose the
/mcpendpoint publicly without authentication and rate limiting.
Troubleshooting
ZeroTrue API key is required - Set ZEROTRUE_API_KEY in the environment where the MCP server starts.
File is not readable or does not exist - Use an absolute path and confirm the MCP server process has read access.
fetch failed - Check connectivity: curl https://api.zerotrue.app/api/v1/info. If details.cause.code is present, use it to diagnose DNS, TLS, or proxy issues.
Stale tool behavior after an update - Restart the MCP client. Most clients keep MCP subprocesses alive between tool calls.
Requirements
- Node.js
>= 20.11
License
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.