Typefully: Social Media Infrastructure for AI Agents
For the full content of this gist, refer to https://gist.github.com/linuz90/55a666a181b23d8ab19552c0d3c1b2fe
co-founder typefully.com mailbrew.com (sold) lofi.cafe
For the full content of this gist, refer to https://gist.github.com/linuz90/55a666a181b23d8ab19552c0d3c1b2fe
co-founder typefully.com mailbrew.com (sold) lofi.cafe
20 rows
| Platform | Post Type | Impressions | Engagement Rate | Clicks | Reposts | Replies | Best Time | Week |
|---|---|---|---|---|---|---|---|---|
| X | Thread | 48200 | 5.8% | 1240 | 312 | 87 | 09:00 | Feb 17 |
| X | Single Post | 12400 | 3.2% | 380 | 64 | 23 | 13:00 | Feb 17 |
| X | Quote Post | 18900 | 4.1% | 520 | 145 | 41 | 10:00 | Feb 17 |
| Article | 8200 | 6.4% | 640 | 42 | 38 | 10:00 | Feb 17 | |
| Short Post | 5400 | 4.9% | 290 | 28 | 15 | 09:00 | Feb 17 | |
| Threads | Post | 3200 | 7.1% | 180 | 45 | 62 | 15:00 | Feb 17 |
| Bluesky | Thread | 2800 | 8.3% | 210 | 88 | 34 | 09:00 | Feb 17 |
| Bluesky | Post | 1600 | 6.2% | 95 | 41 | 18 | 14:00 | Feb 17 |
| Mastodon | Post | 1200 | 9.1% | 78 | 32 | 27 | 16:00 | Feb 17 |
| X | Thread | 52100 | 6.1% | 1380 | 340 | 95 | 09:00 | Feb 24 |
| X | Single Post | 14200 | 3.5% | 410 | 72 | 28 | 13:00 | Feb 24 |
| X | Image Post | 22400 | 5.4% | 680 | 198 | 52 | 10:00 | Feb 24 |
| Carousel | 9800 | 7.2% | 780 | 56 | 44 | 10:00 | Feb 24 | |
| Short Post | 6100 | 5.1% | 320 | 31 | 19 | 09:00 | Feb 24 | |
| Threads | Thread | 4100 | 7.8% | 240 | 58 | 71 | 15:00 | Feb 24 |
| Bluesky | Thread | 3400 | 8.9% | 260 | 102 | 42 | 09:00 | Feb 24 |
| Mastodon | Thread | 1500 | 9.4% | 92 | 38 | 31 | 16:00 | Feb 24 |
| X | Thread | 45800 | 5.5% | 1180 | 298 | 82 | 09:00 | Mar 3 |
| Article | 7600 | 6.0% | 580 | 38 | 35 | 10:00 | Mar 3 | |
| Threads | Post | 3600 | 7.4% | 195 | 51 | 58 | 13:00 | Mar 3 |
4 events
Join us for the live launch of Typefully API v2. We will walk through the new endpoints, demo the MCP integration, and show how AI agents can publish to five platforms from a single interface. Agend...
Open office hours for developers building on Typefully's MCP server. Bring your questions, share what you've built, and get live debugging help from the team. No registration needed. Just show up.
Hands-on workshop: build an AI agent that researches a topic, writes a thread, and schedules it across platforms. You will need: - A Typefully account with API access - Claude or another MCP-compatib...
Our first in-person meetup. Drinks, demos, and conversations about the future of AI-powered content. Open to creators, developers, and anyone curious about where social media tooling is heading. RSV...
/**
* publish.ts - Create and schedule a Typefully draft from the command line
*
* Usage:
* npx tsx publish.ts "Your post content here"
* npx tsx publish.ts "Your post content here" --now
* npx tsx publish.ts "Your post content here" --schedule 2026-03-15T09:00:00Z
*
* Environment:
* TYPEFULLY_API_KEY - your Typefully API key
* TYPEFULLY_SOCIAL_SET_ID - your social set ID (find it via the API)
*/
const API_BASE = "https://api.typefully.com/v1";
const apiKey = process.env.TYPEFULLY_API_KEY;
const socialSetId = process.env.TYPEFULLY_SOCIAL_SET_ID;
if (!apiKey) {
console.error("Error: TYPEFULLY_API_KEY is not set");
process.exit(1);
}
if (!socialSetId) {
console.error("Error: TYPEFULLY_SOCIAL_SET_ID is not set");
process.exit(1);
}
// Parse CLI arguments
const [content, action, scheduleDate] = process.argv.slice(2);
if (!content) {
console.error('Usage: npx tsx publish.ts "content" [--now|--schedule ISO_DATE]');
process.exit(1);
}
// Determine publish timing
let publishAt: string | null = null;
if (action === "--now") {
publishAt = "now";
} else if (action === "--schedule") {
if (!scheduleDate) {
console.error("--schedule requires an ISO 8601 date");
process.exit(1);
}
publishAt = scheduleDate;
}
// Create the draft
const response = await fetch(
`${API_BASE}/social-sets/${socialSetId}/drafts`,
{
method: "POST",
headers: {
Authorization: `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
platforms: {
x: {
enabled: true,
posts: [{ text: content }],
},
linkedin: {
enabled: true,
posts: [{ text: content }],
},
},
...(publishAt && { publish_at: publishAt }),
}),
},
);
if (!response.ok) {
const error = await response.text();
console.error(`Error (${response.status}):`, error);
process.exit(1);
}
const draft = (await response.json()) as { id: string };
console.log(`Draft created: #${draft.id}`);
if (publishAt === "now") {
console.log("Status: Publishing immediately");
} else if (publishAt) {
console.log(`Status: Scheduled for ${publishAt}`);
} else {
console.log("Status: Saved as draft");
}
console.log(`View: https://typefully.com/drafts/${draft.id}`);
Typefully is a writing and scheduling tool for social media, supporting X (Twitter), LinkedIn, Threads, Bluesky, and Mastodon from a single dashboard.
What makes it interesting for developers: Typefully exposes a full API and an MCP server, so AI agents can draft, schedule, and publish social content autonomously. Think of it as the "Stripe for social posting." Your agent handles the content, Typefully handles the delivery.
NOTE
This is a sample gist showcasing how gists.sh renders different file types. Click through the tabs to see Markdown, JSON, YAML, CSV, ICS, and code highlighting in action.
Most AI agents can generate great content. Few can actually publish it. The gap between "here's a draft" and "it's live on 5 platforms" is surprisingly wide: character limits differ, media handling varies, scheduling rules change, and rate limits apply.
Typefully's API abstracts all of that into a single interface.
Typefully ships an MCP server that works with Claude, Claude Code, and other MCP-compatible agents. Install it once, and your agent can post to social media without any custom API code.
npx typefully-mcp
Or add it to your Claude Code MCP config directly.
| mcp |
|---|
| typefully |
This is a simplified sample. The real, installable skill is at typefully.com/agent-skills.
When the user asks to create, schedule, or manage social media content, use the Typefully MCP tools.
typefully_list_social_sets to find available accountstypefully_get_queue to see existing scheduled posts and open slotstypefully_create_draft, configuring each platform appropriately@[Company Name](urn:li:organization:ID)."next-free-slot" to let Typefully pick the optimal time"2026-03-15T14:00:00Z""now" for immediate publishingpublish_at: "now")publish_at) unless the user says "publish" or "post now"share: true flag when the user wants a preview link