Polygraph
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| run_litmus | Grade an MCP server A–F against the open behavioral litmus (litmus-v5). The harness connects the way an agent would, fingerprints the tool surface, and runs four checks: C-01 tool-output injection, C-02 permission/egress overreach (egress in a hardened default-deny Docker sandbox, plus a declared-permission honesty check), C-03 sensitive-data handling (planted canaries), and C-04 adversarial-input handling (malformed/oversized and jailbreak inputs). This is ACTIVE: it launches the target server's code to exercise it (egress-
sandboxed when Docker is available) and takes ~20–60s. It is not a lookup — for
a server's already-published grade, use server_ref examples: npm/@modelcontextprotocol/server-filesystem ·
https://example.com/mcp · ./build/index.js. For a token-gated https:// target,
pass |
| run_skill_litmusA | Grade a Claude Code / Agent Skill A/B/D/F against the open static safety litmus (litmus-skill-v1). A skill is a SKILL.md (instructions + frontmatter) plus an optional bundle. The litmus scans the bytes for S-01 prompt-injection / context-poisoning in the body, S-03 data-exfiltration instructions, and S-04 dangerous commands in bundled executable scripts. It content-hashes the whole directory (the anti-tamper anchor). The SAFETY letter is a STATIC read: it does NOT execute the skill or its scripts and is fast — therefore NOT behavioral proof. An A means the static checks found no injection, exfil instruction, or dangerous bundled command, not that the skill is safe to run unsupervised. A command a skill constructs or fetches at runtime is not visible to static scanning (a disclosed limit). It also returns a SEPARATE, advisory skill_ref (v1): a LOCAL path to a skill directory containing SKILL.md, e.g. ./skills/my-skill. Remote refs (github//#path, marketplace//) are not yet supported. |
| verify_attestationA | Read a server's already-published polygraph (litmus) grade — without running anything — before an agent trusts or, in agentic commerce, pays it. When a grade is published it returns the behavioral grade (A–F), the attestation UID, the evidence CID, and the graded tool-surface fingerprint. The caller must still recompute the LIVE fingerprint and require it to equal the attested one before paying — a passing attestation can otherwise front for a tool surface the server no longer serves (rug pull). Grade publishing is still rolling out, so this commonly returns not_available
today: that means UNEVALUATED (neither safe nor unsafe), not a failing grade — to
grade the server yourself right now, use Input: server_ref — e.g. npm/@modelcontextprotocol/server-filesystem. |
| verify_skill_attestation | Read a Claude Code / Agent Skill's already-published polygraph grade — without running anything — before an agent installs or trusts it. When a grade is published it returns the letter (A/B/D/F), the attestation UID, the evidence CID, and the attested contentHash. The caller MUST then recompute the skill's content hash (sha256 over every file the SKILL.md can load, including lazily-referenced files) and require it to equal contentHash before installing — a passing attestation can otherwise front for different bytes (a swapped bundled script). The ref/version is advisory; the contentHash is the trust anchor. Grade publishing for skills is rolling out, so this commonly returns not_available:
that means UNEVALUATED (neither safe nor unsafe), not a failing grade — to grade a
local skill yourself, use Input: skill_ref — e.g. github//# or marketplace//. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| grade | Run the open behavioral litmus against an MCP server and report its grade A–F with the evidence. |
| check | Read a server's already-published polygraph grade without running anything. |
| grade-skill | Run the open static safety litmus over a skill (SKILL.md + bundle) and report its grade A/B/D/F with the evidence. |
| check-skill | Read a skill's already-published polygraph grade without running anything. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/polygraphso/litmus'
If you have feedback or need assistance with the MCP directory API, please join our Discord server