{"servers":[{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.06ketan/medium-ops","description":"Medium CLI + 23-tool MCP server. Your IDE drafts replies. No API keys.","title":"medium-ops","repository":{"url":"https://github.com/06ketan/medium-ops","source":"github"},"version":"0.1.0","websiteUrl":"https://medium-ops.chavan.in","packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"medium-ops","version":"0.1.0","runtimeHint":"uvx","transport":{"type":"stdio"},"packageArguments":[{"value":"mcp","type":"positional"},{"value":"serve","type":"positional"}],"environmentVariables":[{"description":"Legacy Medium Integration Token (api.medium.com/v1/*). Optional. Generate at medium.com/me/settings → 'Integration tokens' (note: Medium stopped issuing new tokens in 2023).","isSecret":true,"name":"MEDIUM_INTEGRATION_TOKEN"},{"description":"Medium 'sid' cookie value from medium.com (Application → Cookies). Used for authenticated reads + dashboard GraphQL.","isSecret":true,"name":"MEDIUM_SID"},{"description":"Medium 'uid' cookie value. Required alongside sid for some authenticated endpoints.","name":"MEDIUM_UID"},{"description":"Medium 'xsrf' cookie value. Required for any dashboard write (post_response, publish_post, delete_post, draft updates).","isSecret":true,"name":"MEDIUM_XSRF"},{"description":"Cloudflare 'cf_clearance' cookie. Only required when Cloudflare challenges your IP for dashboard write calls.","isSecret":true,"name":"MEDIUM_CF_CLEARANCE"},{"description":"Your Medium handle (without the @). Required for the public RSS read path so the client knows whose feed to fetch.","name":"MEDIUM_USERNAME"},{"description":"Override path to the mcp.json file the auth layer reads. Defaults to ~/.cursor/mcp.json.","name":"MEDIUM_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":"MEDIUM_OPS_LLM_CMD"}]}],"_meta":{"io.modelcontextprotocol.registry/publisher-provided":{"tool":"manual","version":"0.1.0"}}},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-04-21T18:34:02.556235Z","publishedAt":"2026-04-21T18:34:02.556235Z","updatedAt":"2026-04-21T18:34:02.556235Z","isLatest":true}}}],"metadata":{"count":1}}
