{"name":"io.github.06ketan/substack-ops","slug":"06ketan-substack-ops","title":"substack-ops","description":"Substack CLI + 26-tool MCP server. Your IDE drafts replies via propose_reply. No API keys.","url":"https://mcp.market/server/06ketan-substack-ops","rating":null,"grade":"B","score":72,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":12,"stars":1,"forks":1,"downloads_week":null,"last_push_at":"2026-05-24T13:38:21.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/06ketan/substack-ops","website":"https://substack-ops.chavan.in","version":"0.3.5","remotes":[],"packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"substack-ops","version":"0.3.5","runtimeHint":"uvx","transport":{"type":"stdio"},"packageArguments":[{"value":"mcp","type":"positional"},{"value":"serve","type":"positional"}],"environmentVariables":[{"description":"Your Substack publication URL (e.g. https://you.substack.com/). Optional if set in ~/.cursor/mcp.json's mcpServers.substack-api.env.","name":"SUBSTACK_PUBLICATION_URL"},{"description":"Your Substack numeric user id. Optional if set in ~/.cursor/mcp.json.","name":"SUBSTACK_USER_ID"},{"description":"Your Substack session cookie value (the s%3A... string). Required for authenticated calls. Easier path: run `substack-ops auth login --browser chrome` and the cookie is auto-grabbed.","isSecret":true,"name":"SUBSTACK_SESSION_TOKEN"},{"description":"Override path to the mcp.json file the auth layer reads. Defaults to ~/.cursor/mcp.json.","name":"SUBSTACK_OPS_MCP_PATH"},{"description":"Optional: override the host CLI used by the unattended daemon path (default: auto-detect claude / cursor-agent / codex on PATH). Use {prompt} placeholder if your CLI takes the prompt as an arg.","name":"SUBSTACK_OPS_LLM_CMD"}]}],"tools":[],"scan":{"score":72,"grade":"B","scanned_at":"2026-09-27T21:49:08.462Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T21:49:08.425Z","components":{"code":{"score":25,"max":25,"notes":["33 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":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":8,"max":15,"notes":["last push 126 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"substack-ops","version":"0.3.5","found":true,"dependencyCount":14,"publishedAt":"2026-05-03T06:30:18.302980Z"}],"repo":{"found":true,"owner":"06ketan","repo":"substack-ops","archived":false,"pushedAt":"2026-05-24T13:38:21Z","stars":1,"forks":1,"openIssues":2,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/57368152?v=4","ownerCreatedAt":"2019-11-04T18:18:28Z","license":"MIT"},"icon":{"url":"https://substack-ops.chavan.in/favicon.ico?favicon.0x3dzn~oxb6tn.ico","source":"site","width":256,"height":256},"presence":{"stars":1,"forks":1,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-05-24T13:38:21.000Z","score":12}}}},"grade_history":[],"reviews":[]}