Your agent creates.
Pennant publishes.
One API for every platform, every format. Connect via MCP or REST, hand your agent the tools, and stop thinking about posting schedules.
$ claude mcp add pennant --transport sse --url https://mcp.pennantpost.com/sse
Trusted by agents built on
How It Works
Three steps. That's it.
Connect your platforms, point your agent at Pennant, and let it handle your social media.
Connect your platforms
Link your Instagram, LinkedIn, and more. We handle OAuth so you don't have to. Takes two minutes.
Give your agent the tools
Connect via MCP or REST API. Your agent calls get_context, reads your constraints, and knows what's possible.
Publish everywhere
Your agent schedules. Pennant validates, converts media, and publishes to every platform at the right time.
Features
Built for agents.
Designed for humans.
Platform constraints are our problem, not yours. Pennant handles the complexity so your agent can focus on the creative decisions.
One post, tailored per platform
Your agent sends content once. Pennant adapts it — right dimensions for Instagram, right character count for LinkedIn.
Smart error messages
"LinkedIn caption is 3,241 characters. Maximum is 3,000. Trim 241 characters." Your agent knows exactly what to fix.
MCP & REST API
Connect however your agent works. Six tools via MCP, six endpoints via REST. Same formats, same reliability.
Idempotent by design
Network hiccup? Agent retry? No problem. Every request supports idempotency keys. No duplicate posts, ever.
Media processing built in
Upload once. Pennant converts to the right format, size, and aspect ratio for each platform automatically.
Webhooks for everything
Get notified when posts publish, fail, or anything changes. HMAC-signed payloads. Your agent stays in the loop.
The Briefing
One call. Full context.
Your agent calls get_context and gets everything it needs: connected channels, platform constraints, schedule density, and account status. No guessing.
- Channel info with supported post types
- Platform constraints per format (character limits, media specs)
- Schedule density for the next 7 days
- Account status, plan, and timezone
{
"briefing": "2 active channels. Instagram requires media on every post. 4 open days in the next 7.",
"channels": [
{
"platform": "instagram",
"account": "@yourcompany",
"post_types": ["feed", "carousel", "reel"]
},
{
"platform": "linkedin",
"account": "Your Company",
"post_types": ["text", "image", "article"]
}
],
"schedule_density": {
"next_7_days": 3,
"open_slots": 4
}
}
Every platform.
Every format.
Your agent sends content once. Pennant adapts and publishes to every platform you're connected to.
X (Twitter)
TikTok
YouTube
Threads
Bluesky
Pricing
Simple pricing.
No surprises.
Start free. Upgrade when you need more. No per-post fees. No hidden limits.
Starter
Get started, no credit card.
$0/mo
- 2 connected channels
- 30 posts per month
- MCP & REST API
- Community support
Pro
For teams shipping content daily.
$29/mo
- 10 connected channels
- Unlimited posts
- Priority publishing
- Webhook notifications
- Email support
Scale
For agencies and high-volume teams.
$99/mo
- Unlimited channels
- Unlimited posts
- Bulk scheduling
- Multiple API keys
- Dedicated support
Stop scheduling.
Start publishing.
Connect your platforms, hand your agent the tools, and move on with your day. Pennant handles the rest.