mcpField
W
Winston Ai Mcp

Winston Ai Mcp

Local
github.com/gowinston-aiSecurity10Updated 2d ago

About Winston Ai Mcp

Winston Ai Mcp exposes Winston AI tools for detecting AI-generated text and images, checking plagiarism, and comparing texts. It supports OAuth 2.1 sign-in as well as API-key authentication.

Key features

  1. 01Detect AI-written text with a confidence score
  2. 02Detect AI-generated images
  3. 03Check plagiarism and list source pages
  4. 04Compare text similarity and word-level matches

Use cases

  1. 01Check whether an article contains AI-written text
  2. 02Assess whether an image was AI-generated
  3. 03Review text against web sources for plagiarism
  4. 04Compare overlapping content across document drafts

MCP support

It exposes tools for text detection, image detection, plagiarism checking, and text comparison through a remote MCP server. MCP clients can sign in with OAuth 2.1 or provide an API key in the Authorization header; the server can also run locally over stdio.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"winston-ai": {
"command": "npx",
"args": [
"-y",
"winston-ai-mcp"
],
"env": {
"WINSTONAI_API_KEY": "<WINSTONAI_API_KEY>"
}
}
}
}
Run commandnpx -y winston-ai-mcp
Environment variables to set
WINSTONAI_API_KEYSecret

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmwinston-ai-mcp

Tools

4

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
textstringYesThe text to scan. Texts under 600 characters may produce unreliable results and should be avoided. Maximum 150 000 characters per request.
filestringNoA file to scan. If you supply a file, the API will scan the content of the file. The file must be in plain .pdf, .doc or .docx format. The file has priority over the text, so if you give a text and a file, it's the file that will be scanned.
websitestringNoA website URL to scan. If you supply a website, the API will fetch the content of the website and scan it. The website must be publicly accessible. It's important to know that the website has priority over the text and the file, so if you give a text, a file and a website, it's the website that will be scanned.

Details

From the project README

Winston AI MCP Server ⚡️

npm version License: MIT Node.js CI TypeScript

Model Context Protocol (MCP) Server for Winston AI - the most accurate AI Detector. Detect AI-generated content, plagiarism, and compare texts with ease.

🚀 Quick Start

Add this URL to your MCP client and sign in with your Winston AI account:

https://api.gowinston.ai/mcp/v1

That's it. No API key, no install. Credits are taken from your app.gowinston.ai account.

🔌 Connect your MCP client

Your client signs you in with OAuth 2.1 the first time you connect.

Claude

Go to Customize > Connectors, click +, then Add custom connector. Enter Winston AI as the name and https://api.gowinston.ai/mcp/v1 as the URL, then sign in.

ChatGPT

Turn on Developer mode in ChatGPT settings, then add a custom connector with the URL https://api.gowinston.ai/mcp/v1 and OAuth as the authentication. Custom connectors require a paid ChatGPT plan.

Claude Code
claude mcp add --transport http winston-ai https://api.gowinston.ai/mcp/v1
Cursor

Add to your mcp.json:

{
  "mcpServers": {
    "winston-ai": {
      "url": "https://api.gowinston.ai/mcp/v1"
    }
  }
}
VS Code

Add to your .vscode/mcp.json:

{
  "servers": {
    "winston-ai": {
      "type": "http",
      "url": "https://api.gowinston.ai/mcp/v1"
    }
  }
}
Other MCP clients

Use the URL https://api.gowinston.ai/mcp/v1 with the Streamable HTTP transport. Any client that supports MCP authorization will sign you in automatically.

Using an API key instead

If you want, you can also use a standard API key from dev.gowinston.ai by passing it in the Authorization header:

{
  "mcpServers": {
    "winston-ai": {
      "url": "https://api.gowinston.ai/mcp/v1",
      "headers": {
        "Authorization": "Bearer your-winston-ai-api-key"
      }
    }
  }
}

🧰 Tools

ToolWhat it doesInputsCredit cost
ai-text-detectionDetects whether text was written by a human or AI, with a confidence score and the most AI-like sentencestext (required, 300 to 150,000 characters, 600+ recommended), file (optional, .pdf, .doc or .docx), website (optional, public URL)1 credit per word
ai-image-detectionDetects AI-generated images using metadata, watermark detection, and a machine learning modelurl (required, public JPG, JPEG, PNG or WEBP image, at least 256x256 pixels)300 credits per image
plagiarism-detectionChecks text against billions of web pages and lists the original sourcestext (required, 100 to 120,000 characters), language (optional, default en), country (optional, default us)2 credits per word
text-compareCompares two texts and returns a similarity score with word-level matchesfirst_text (required, up to 120,000 characters), second_text (required, up to 120,000 characters)0.5 credit per total word in both texts

If you provide several inputs to ai-text-detection, website takes priority over file, and file takes priority over text.

🔐 Authentication

Every request must send a Bearer token in the Authorization header:

Authorization: Bearer <token>

OAuth 2.1 is the easiest way to connect. Sign in with your Winston AI account and your MCP client gets an access token for you. There's no API key to copy or store. Credits are taken from your app.gowinston.ai account, not the API platform.

If you want, you can also use a standard API key from dev.gowinston.ai as the Bearer token.

Never send the token in the request body or URL. Only the Authorization header is supported.

How the OAuth 2.1 flow works

MCP clients that support MCP authorization handle this for you:

  1. A request without a token receives 401 Unauthorized with a WWW-Authenticate header pointing to the protected resource metadata.
  2. The client reads [https://api.gowinston.ai/.well-known/oauth-protected-resource](https://api.gowinston.ai/.well-known/oauth-protected-resource), which lists https://app.gowinston.ai as the authorization server and mcp:use as the required scope.
  3. The client opens your browser so you can sign in to Winston AI and approve access.
  4. The client receives an access token and sends it as Authorization: Bearer <token> on every request.

🧪 Test with cURL

MCP clients get an OAuth token automatically. For quick tests with cURL, the simplest option is a standard API key from dev.gowinston.ai. Replace your-winston-ai-api-key with it.

List tools
curl --location 'https://api.gowinston.ai/mcp/v1' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--header 'Authorization: Bearer your-winston-ai-api-key' \
--data '{
  "jsonrpc": "2.0",
  "method": "tools/list",
  "id": 1
}'
Call a tool: AI Text Detection
curl --location 'https://api.gowinston.ai/mcp/v1' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--header 'Authorization: Bearer your-winston-ai-api-key' \
--data '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "ai-text-detection",
    "arguments": {
      "text": "Your text to analyze (minimum 300 characters)"
    }
  }
}'

To call another tool, change name and arguments using the Tools table. More examples are in the MCP server documentation.

🩺 Troubleshooting

  • 401 Unauthorized: The token is missing, invalid, or expired. Sign in again from your MCP client, or check that the Authorization header is Bearer <token>.
  • 403 Forbidden: The token doesn't have the mcp:use scope. Disconnect and sign in again so your client requests it.
  • Out of credits: Top up your account on app.gowinston.ai. If you use an API key, top up on dev.gowinston.ai.
  • Your client doesn't support OAuth: Use an API key in the Authorization header. See Using an API key instead.

💻 Self-hosting & development

You can also run the server locally over stdio. This requires Node.js 18+ and a Winston AI API key (get one here).

Running with npx 🔋
env WINSTONAI_API_KEY=your-api-key npx -y winston-ai-mcp
Adding the local server to your MCP client

Add it to your MCP client's configuration, such as Cursor (mcp.json), Claude Desktop (claude_desktop_config.json), and others:

{
  "mcpServers": {
    "winston-ai-mcp": {
      "command": "npx",
      "args": ["-y", "winston-ai-mcp"],
      "env": {
        "WINSTONAI_API_KEY": "your-api-key"
      }
    }
  }
}
Running from source 💻

Create a .env file in your project root:

WINSTONAI_API_KEY=your_actual_api_key_here
# Clone the repository
git clone https://github.com/gowinston-ai/winston-ai-mcp-server.git
cd winston-ai-mcp-server

# Install dependencies
npm install

# Build the project and start the server
npm run mcp-start
Docker 📦
# Build the image
docker build -t winston-ai-mcp .

# Run the container
docker run -e WINSTONAI_API_KEY=your_api_key winston-ai-mcp
Available scripts 📋
  • npm run build - Compile TypeScript to JavaScript
  • npm start - Start the MCP server
  • npm run mcp-start - Compile TypeScript to JavaScript and Start the MCP server
  • npm run lint - Run ESLint for code quality
  • npm run format - Format code with Prettier LICENSE) file for details.

🔗 Links

⭐ Support

If you find this project helpful, please give it a star on GitHub!


Made with ❤️ by the Winston AI Team

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.