Skip to main content

pangram-mcp

An MCP server for Pangram Labs AI-generated-text detection. Exposes a single analyze tool that classifies text as human-written, AI-generated, or AI-assisted — with an overall verdict, per-class fractions, and a per-segment breakdown.

The API key stays in the server's environment and is sent as the x-api-key header; it is never returned to the model or logged. Callers pass text and receive a classification — they never handle the credential.

Install / run

Requires an API key from Pangram Labs:

export PANGRAM_API_KEY="your-key"
uvx pangram-mcp

MCP client config

{
  "mcpServers": {
    "pangram": {
      "command": "uvx",
      "args": ["pangram-mcp"],
      "env": { "PANGRAM_API_KEY": "your-key" }
    }
  }
}

Configuration

Env var Required Default Purpose
PANGRAM_API_KEY yes Pangram Labs API key.
PANGRAM_API_BASE no https://text.api.pangram.com/v3 Endpoint override.
PANGRAM_TIMEOUT no 60 Request timeout (seconds).

Tool: analyze

Detect AI-generated text.

Parameter Type Description
text string Text to classify (required).
public_dashboard_link bool Request a public shareable Pangram dashboard link (default false; only for non-sensitive text).

The tool takes inline text only — not a file path. Reading files server-side would let a caller exfiltrate any file the process can read, bypassing the harness's permission-gated file tools. Read files with your own tools and pass the text.

Returns structured output: prediction, prediction_short, headline, fraction_ai / fraction_ai_assisted / fraction_human (0.0–1.0), num_ai_segments / num_ai_assisted_segments / num_human_segments, a windows array (per-segment label, ai_assistance_score, confidence, indices), and an optional dashboard_link.

Development

uv sync --extra dev
uv run pytest
uv run ruff check .
uv run mypy src

License

MIT — see LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pangram_mcp-0.1.3.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pangram_mcp-0.1.3-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file pangram_mcp-0.1.3.tar.gz.

File metadata

  • Download URL: pangram_mcp-0.1.3.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pangram_mcp-0.1.3.tar.gz
Algorithm Hash digest
SHA256 1f77c662cc9cea1a8d8c01edb8549b5878b13c8c083e7cbd85dfe1804cc2fbce
MD5 f49529b34e12613208c1aeb9c75967d0
BLAKE2b-256 f114316dac59dea64668cf10b4fc9f04be224149f9e1b472a535d22cc535d609

See more details on using hashes here.

Provenance

The following attestation bundles were made for pangram_mcp-0.1.3.tar.gz:

Publisher: release.yml on Consiliency/pangram-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pangram_mcp-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: pangram_mcp-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 6.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pangram_mcp-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c28136cb6ead07ce798bc03cf70ed3629216da0fb03690d9b0de807be24e65bf
MD5 026dadd3272f938cc3587bb90d050b87
BLAKE2b-256 95e3cc1e697da791f98d128b9a394d2fd2ce5790de35af299be3de4e90881c3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pangram_mcp-0.1.3-py3-none-any.whl:

Publisher: release.yml on Consiliency/pangram-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page