Search / io.github.polygraphso/litmus
litmus
R0· no sign-inGrade MCP servers A to F with the open behavioral litmus. npm: full toolset; hosted: lookups only.
v0.36.0 · active · repository · website · descriptor JSON · versions
Search / io.github.polygraphso/litmus
R0· no sign-inGrade MCP servers A to F with the open behavioral litmus. npm: full toolset; hosted: lookups only.
v0.36.0 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"litmus": {
"type": "http",
"url": "https://polygraph.so/api/mcp"
}
}
}claude mcp add --transport http litmus https://polygraph.so/api/mcp[mcp_servers.litmus]
url = "https://polygraph.so/api/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"litmus": {
"type": "remote",
"url": "https://polygraph.so/api/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"litmus": {
"type": "http",
"url": "https://polygraph.so/api/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=litmus&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vcG9seWdyYXBoLnNvL2FwaS9tY3AifQ%3D%3D"
}{
"servers": {
"litmus": {
"type": "http",
"url": "https://polygraph.so/api/mcp"
}
}
}{
"mcpServers": {
"litmus": {
"httpUrl": "https://polygraph.so/api/mcp"
}
}
}extensions:
"litmus":
enabled: true
name: "litmus"
type: streamable_http
uri: "https://polygraph.so/api/mcp"
timeout: 300
protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations3 of 3 tools declare readOnlyHint or destructiveHinttools.directory_hints1 of 3 tools declare all four hints; missing: check_server (destructiveHint, idempotentHint); list_servers (destructiveHint, idempotentHint)tools.token_costabout 574 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changesno tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulnsno known advisory in 136 resolved packagesdeps.mcp_sdk_version@modelcontextprotocol/sdk 1.30.1 has 1 known advisory (GHSA-6qxp-vccf-f47h); update @modelcontextprotocol/sdk to 1.31.0 or laterdeps.resolvable@polygraphso/[email protected] resolved: 136 packagesNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +website +reachable +uptime-100% ~updated-91d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
@polygraphso/[email protected] npm135 dependencies, resolved · MCP SDK @modelcontextprotocol/sdk 1.30.1 · advisories checked 2026-10-19
| advisory | severity | package | fixed in |
|---|---|---|---|
| GHSA-6qxp-vccf-f47hMCP TypeScript SDK: OAuth client could send credentials to an authorization server chosen by the MCP server | high | @modelcontextprotocol/[email protected]MCP SDK, direct | fixed in 1.31.0 |
Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://polygraph.so/api/mcp streamable-http | none | yes | 100% | 377 ms | 2025-11-25 | 2026-10-19 |
| package | registry | version | runtime | secrets |
|---|---|---|---|---|
@polygraphso/litmus | npm | 0.36.0 | – |
check_serverread-only | Read a server's published behavioral grade (A-F) from polygraph.so in under a second; no execution. The pre-flight check before recommending or installing an MCP server. On a miss it returns not_available (unevaluated: neither safe nor unsafe) with next steps. |
list_serversread-only | Servers with a published polygraph grade, sorted A-first then by ref. Returns up to `limit` rows starting at `offset` (default limit 25, capped at 100 per call); `grade` restricts to one letter. `summary` always covers the full graded corpus (a total plus a count per grade), regardless of `grade`, `limit`, or `offset`. |
request_grade | Hosted grading is discontinued. This tool returns gone. Existing published grades remain available via check_server / list_servers. To grade a server yourself, run the open harness: npx -y -p @polygraphso/litmus polygraphso-litmus litmus <server_ref>. |
Schemas: list_tools.
{
"name": "io.github.polygraphso/litmus",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://polygraph.so/api/mcp",
"type": "streamable-http"
}
],
"version": "0.36.0",
"packages": [
{
"version": "0.36.0",
"transport": {
"type": "stdio"
},
"identifier": "@polygraphso/litmus",
"registryType": "npm",
"registryBaseUrl": "https://registry.npmjs.org",
"packageArguments": [
{
"type": "positional",
"value": "polygraphso-litmus-mcp"
}
],
"environmentVariables": [
{
"name": "POLYGRAPH_API_URL",
"default": "https://polygraph.so",
"description": "Base URL for published-grade lookups (check_server, list_servers, request_grade) and attestation resolution."
},
{
"name": "NEXT_PUBLIC_POLYGRAPH_NETWORK",
"default": "base",
"description": "Which network to read attestations from: 'base' (mainnet, default) or 'base-sepolia' (testnet)."
}
]
}
],
"repository": {
"url": "https://github.com/polygraphso/litmus",
"source": "github"
},
"websiteUrl": "https://polygraph.so",
"description": "Grade MCP servers A to F with the open behavioral litmus. npm: full toolset; hosted: lookups only."
}