{"name":"io.github.vince-gonzalez/saydo","slug":"vince-gonzalez-saydo","title":"SayDo","description":"Does the tool do what it says? Conformance receipts for MCP servers, and unknown when unchecked.","url":"https://mcp.market/server/vince-gonzalez-saydo","rating":null,"grade":"B","score":82,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":18,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-09-03T04:25:37.000Z","license":"Apache-2.0"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/vince-gonzalez/saydo","website":"https://github.com/vince-gonzalez/saydo","version":"0.1.1","remotes":[],"packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"saydo","version":"0.1.1","runtimeHint":"uvx","transport":{"type":"stdio"},"runtimeArguments":[{"description":"The MCP server sits behind an optional dependency so the library and harness stay installable without the SDK.","isRequired":true,"value":"saydo[mcp]","type":"named","name":"--from"},{"description":"The stdio server entry point. Full command: uvx --from 'saydo[mcp]' saydo-mcp","isRequired":true,"value":"saydo-mcp","type":"positional"}]}],"tools":[{"name":"check_now","description":"Actually run a package in a sandbox and report what","write_action":false,"price_micros":0,"input_schema":null},{"name":"inspect_definition","description":"Hash a tool definition and read its wording. Takes","write_action":false,"price_micros":0,"input_schema":null},{"name":"scope","description":"What SayDo can and cannot settle. CALL THIS FIRST.","write_action":false,"price_micros":0,"input_schema":null},{"name":"status","description":"Whether a package has a SayDo conformance receipt.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":82,"grade":"B","scanned_at":"2026-09-20T20:56:39.511Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T20:56:39.450Z","components":{"code":{"score":20,"max":25,"notes":["30 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 18 days ago"]},"identity":{"score":6,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[{"id":"obf.hex-density","severity":"medium","component":"code","title":"Heavily hex-escaped string (obfuscation)","evidence":"saydo-0.1.1/tools/plans.py: …x00\\x00\\x00\" b\"\\x01\\x00\\x01\\x00\\x44\\xac\\x00\\x00\\x88\\x58\\x01\\x00\" b\"\\x02\\x00\\x1…"}],"inputs":{"packages":[{"registryType":"pypi","identifier":"saydo","version":"0.1.1","found":true,"license":"Apache-2.0","dependencyCount":3,"publishedAt":"2026-08-31T04:10:42.619744Z","repositoryUrl":"https://github.com/vince-gonzalez/saydo"}],"repo":{"found":true,"owner":"vince-gonzalez","repo":"saydo","archived":false,"pushedAt":"2026-09-03T04:25:37Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/313483756?v=4","ownerCreatedAt":"2026-08-05T15:30:46Z","license":"Apache-2.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/313483756?v=4&s=128","source":"github"},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"Apache-2.0","lastPushAt":"2026-09-03T04:25:37.000Z","score":18}}}},"grade_history":[],"reviews":[]}