06ketan avatar

medium-ops

06ketan/medium-ops

If you're managing a Medium presence from Cursor, Claude Desktop, or OpenCode, this server wires up 23 tools for reading stories via RSS and GraphQL, posting responses, clapping, checking stats, and publishing drafts. The reply engine is clever: your IDE's LLM drafts the comment using propose_reply and confirm_reply tools, so you skip separate API keys. Install is one uvx command that drops config into your MCP host. Auth uses Medium's integration token for writes and a session cookie for dashboard reads. Everything defaults to dry-run with audit logs and dedup checks in SQLite. Includes a standalone CLI if you want to script feed pulls or bulk reply workflows outside the MCP flow.

tools
7
auth
Secret needed
transport
STDIO
env vars
8
last updated
May 3, 2026

Tools

7 tools

Public tool metadata for what this MCP can expose to an agent.

get_unanswered_responsesWorklist — responses where you haven't replied.

Worklist — responses where you haven't replied.

No parameter schema in public metadata yet.

propose_replyDry-run only. Returns a token + payload preview.

Dry-run only. Returns a token + payload preview.

No parameter schema in public metadata yet.

confirm_replyPosts the staged reply by token. Idempotent via dedup DB. Token TTL 5 min.

Posts the staged reply by token. Idempotent via dedup DB. Token TTL 5 min.

No parameter schema in public metadata yet.

bulk_draft_repliesFile-based offline review loop.

File-based offline review loop.

No parameter schema in public metadata yet.

send_approved_draftsFile-based offline review loop.

File-based offline review loop.

No parameter schema in public metadata yet.

audit_searchRead the audit log + dedup counts.

Read the audit log + dedup counts.

No parameter schema in public metadata yet.

dedup_statusRead the audit log + dedup counts.

Read the audit log + dedup counts.

No parameter schema in public metadata yet.

Sponsors

Configuration

MEDIUM_INTEGRATION_TOKENsecret

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).

MEDIUM_SIDsecret

Medium 'sid' cookie value from medium.com (Application → Cookies). Used for authenticated reads + dashboard GraphQL.

MEDIUM_UID

Medium 'uid' cookie value. Required alongside sid for some authenticated endpoints.

MEDIUM_XSRFsecret

Medium 'xsrf' cookie value. Required for any dashboard write (post_response, publish_post, delete_post, draft updates).

MEDIUM_CF_CLEARANCEsecret

Cloudflare 'cf_clearance' cookie. Only required when Cloudflare challenges your IP for dashboard write calls.

MEDIUM_USERNAME

Your Medium handle (without the @). Required for the public RSS read path so the client knows whose feed to fetch.

MEDIUM_OPS_MCP_PATH

Override path to the mcp.json file the auth layer reads. Defaults to ~/.cursor/mcp.json.

MEDIUM_OPS_LLM_CMD

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.

Readme

Details

Repository
github.com/06ketan/medium-ops
Website
medium-ops.chavan.in
Package
medium-ops
Transport
STDIO
Auth
Required
Registry
MCP registry, active

More from 06ketan