Skip to main content

PyPI License: MIT Python 3.10+

linkedin-mcp-scheduler

Schedule and manage LinkedIn posts through conversation with an AI agent. Posts publish reliably on time — locally or in a container.

User Story

You're chatting with your AI agent. You say:

"Schedule that post for tomorrow at 9am"

Done. Then later:

"Show me my queue"

You see everything — what's pending, what published, what failed. You say:

"Actually push that one to Thursday and change the second paragraph"

The agent edits it in-place and reschedules. No cancelling, no re-creating, no UUIDs to copy-paste.

"That failed post from yesterday — retry it now"

Retried. Published. You never opened LinkedIn.

This is what linkedin-mcp-scheduler provides: a standalone MCP server with a reliable publishing daemon, full CRUD on your post queue, and a conversational UX designed for AI agents to manage your LinkedIn presence.

Why a Separate Project

linkedin-mcp wraps the LinkedIn API as MCP tools — posting, engagement, auth. It has basic scheduling, but scheduling is a different problem:

  • It needs a daemon that runs continuously and publishes due posts. The API wrapper doesn't.
  • It needs persistent state (a database) with its own lifecycle. The API wrapper is stateless.
  • It needs to be containerizable — running in k8s with a volume-backed DB, HTTP transport, and env-based credentials. The API wrapper runs fine as a local stdio MCP.
  • The UX surface area is large enough to be its own product: queue management, editing, rescheduling, retries, media scheduling, recurring posts.

Architecture

┌──────────────────────────────────────┐
│  Container (or local)                │
│                                      │
│  MCP Server (HTTP/SSE)               │
│    - schedule, list, edit, cancel     │
│    - reschedule, retry, queue summary │
│     ↕ reads/writes                   │
│  SQLite DB  ← persistent volume      │
│     ↕ reads/writes                   │
│  Publisher Daemon (poll loop)         │
│    - publishes due posts via SDK      │
│    - retries failures                 │
│                                      │
└──────────────────────────────────────┘

Both processes share one SQLite database. In a container, the DB lives on a persistent volume. Locally, it defaults to ~/.linkedin-mcp-scheduler/scheduled.db.

Deployment Modes

  • Local: uv run linkedin-mcp-scheduler — stdio MCP for Claude Code, daemon as a background process or launchd job
  • Container: docker-compose with HTTP transport, volume-mounted DB, env-var credentials — ready to lift into k8s

MCP Tools

Core (from linkedin-mcp, to be extracted)

Tool Description
schedule_post Schedule a text post (+ optional URL) for future publication
list_scheduled_posts List scheduled posts, filterable by status
get_scheduled_post Get details of a specific scheduled post
cancel_scheduled_post Cancel a pending scheduled post

Planned

Tool Description
update_scheduled_post Edit content, URL, or visibility of a pending post in-place
reschedule_post Change the scheduled time of a pending post
retry_failed_post Retry a failed post, optionally at a new time
queue_summary Formatted overview: counts by status, next due, recent failures
schedule_post_with_image Schedule a post with an image attachment
schedule_post_with_document Schedule a post with a document attachment
schedule_post_with_poll Schedule a post with a poll

Status

Early stage — establishing scope, setting up the project, and creating issues for the build-out.

Metadata

Release files for linkedin-mcp-scheduler-ldraney 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for linkedin-mcp-scheduler-ldraney 0.1.2
File Size Uploaded
linkedin_mcp_scheduler_ldraney-0.1.2.tar.gz 19.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for linkedin-mcp-scheduler-ldraney 0.1.2
File Interpreter ABI Platform
linkedin_mcp_scheduler_ldraney-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 33.1 kB

Release files / linkedin_mcp_scheduler_ldraney-0.1.2.tar.gz

Download URL linkedin_mcp_scheduler_ldraney-0.1.2.tar.gz
Size 19.8 kB
Tags Source
SHA-256 checksum
How to use checksums
65a8873170c1d1fda551e8bbc2847284146bdf6a01e00a55eb2484dea10f60b6
BLAKE2b-256 checksum
How to use checksums
9a068f2a345ed49470fb733b4566acb1c448736253028c652b072420ef4b5e91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 17, 2026.

Transparency log

Release files / linkedin_mcp_scheduler_ldraney-0.1.2-py3-none-any.whl

Download URL linkedin_mcp_scheduler_ldraney-0.1.2-py3-none-any.whl
Size 13.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ebb565daf996e37b4a3afde284ee6d643a26d841d37e412520e7ec37b8c1beaa
BLAKE2b-256 checksum
How to use checksums
27b3879a979a1ad5228c1ca180de535fa57ff8ee41377d3b9dba850c8e46d8a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page