{"name":"io.github.polygraphso/litmus","slug":"polygraphso-litmus","title":null,"description":"Grade MCP servers A to F with the open behavioral litmus. npm: full toolset; hosted: lookups only.","url":"https://mcp.market/server/polygraphso-litmus","rating":null,"grade":"C","score":61,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":31,"stars":8,"forks":1,"downloads_week":36,"last_push_at":"2026-07-20T15:52:52.000Z","license":"Apache-2.0"},"uptime":{"percent":25,"checks":28,"ok":7,"last_checked_at":"2026-11-04T09:40:46.924Z","last_ok_at":"2026-10-27T15:01:48.662Z","latency_ms":754},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/polygraphso/litmus","website":"https://polygraph.so","version":"0.36.0","remotes":[{"type":"streamable-http","url":"https://polygraph.so/api/mcp"}],"packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"@polygraphso/litmus","version":"0.36.0","transport":{"type":"stdio"},"packageArguments":[{"value":"polygraphso-litmus-mcp","type":"positional"}],"environmentVariables":[{"description":"Base URL for published-grade lookups (check_server, list_servers, request_grade) and attestation resolution.","default":"https://polygraph.so","name":"POLYGRAPH_API_URL"},{"description":"Which network to read attestations from: 'base' (mainnet, default) or 'base-sepolia' (testnet).","default":"base","name":"NEXT_PUBLIC_POLYGRAPH_NETWORK"}]}],"tools":[{"name":"check_server","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"server_ref":{"type":"string","minLength":1,"maxLength":512,"description":"Registry-prefixed server ref: npm/<name>, npm/@scope/<name>, pypi/<name>, or github/<owner>/<repo>, with an optional @version. Example: npm/@modelcontextprotocol/server-filesystem"}},"required":["server_ref"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_servers","description":"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`.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"grade":{"type":"string","enum":["A","B","C","D","F"],"description":"Restrict to servers with this grade."},"limit":{"type":"integer","exclusiveMinimum":0,"description":"Rows to return. Default 25, capped at 100 per call."},"offset":{"type":"integer","minimum":0,"description":"Rows to skip before taking `limit`, for paging past the first page."}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"request_grade","description":"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>.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"server_ref":{"type":"string","minLength":1,"maxLength":512,"description":"Registry-prefixed server ref: npm/<name>, npm/@scope/<name>, pypi/<name>, or github/<owner>/<repo>, with an optional @version. Example: npm/@modelcontextprotocol/server-filesystem"}},"required":["server_ref"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":61,"grade":"C","scanned_at":"2026-10-29T05:59:50.784Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-29T05:59:50.677Z","components":{"code":{"score":25,"max":25,"notes":["16 source files scanned"]},"reliability":{"score":0,"max":20,"notes":["remote unreachable: Streamable HTTP error: Error POSTing to endpoint: {\"error\": {\"code\": \"404\", \"message\": \"The deployment could not be found on Vercel.\"}}"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (endpoint requires auth); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":8,"max":15,"notes":["last push 101 days ago"]},"identity":{"score":7,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[{"id":"reliability.unreachable","severity":"high","component":"reliability","title":"Remote endpoint did not respond","detail":"Streamable HTTP error: Error POSTing to endpoint: {\"error\": {\"code\": \"404\", \"message\": \"The deployment could not be found on Vercel.\"}}"}],"inputs":{"probes":[{"url":"https://polygraph.so/api/mcp","reachable":false,"authRequired":false,"latencyMs":177,"error":"Streamable HTTP error: Error POSTing to endpoint: {\"error\": {\"code\": \"404\", \"message\": \"The deployment could not be found on Vercel.\"}}"}],"packages":[{"registryType":"npm","identifier":"@polygraphso/litmus","version":"0.36.0","found":true,"license":"Apache-2.0","hasInstallScripts":false,"dependencyCount":4,"publishedAt":"2026-07-20T15:51:36.676Z","repositoryUrl":"git+https://github.com/polygraphso/litmus.git","weeklyDownloads":36}],"repo":{"found":true,"owner":"polygraphso","repo":"litmus","archived":false,"pushedAt":"2026-07-20T15:52:52Z","stars":8,"forks":1,"openIssues":2,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/285698848?v=4","ownerCreatedAt":"2026-05-18T13:16:22Z","license":"Apache-2.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/285698848?v=4&s=128","source":"registry","width":128,"height":128},"presence":{"stars":8,"forks":1,"downloadsWeek":36,"license":"Apache-2.0","lastPushAt":"2026-07-20T15:52:52.000Z","score":31}}}},"grade_history":[{"kind":"downgrade","fromGrade":"A","toGrade":"C","reason":"score 61: Remote endpoint did not respond","createdAt":"2026-10-29T05:59:51.286Z"}],"reviews":[]}