Writio MCP Server
AI-native LinkedIn content creation, scheduling, and analytics — powered by Model Context Protocol.
Connect Writio to Claude Desktop, Cursor, Windsurf, or any MCP-compatible AI client to manage your entire LinkedIn workflow through natural language.
What You Can Do
- Draft posts — "Write a LinkedIn post about remote work trends"
- Generate hooks — "Give me 5 hooks for a post about AI in marketing"
- Generate hashtags — "What hashtags should I use for my startup funding post?"
- Build carousels — "Create a carousel about 5 leadership lessons" (Pro)
- Enhance posts — "Make this post more conversational and add a CTA"
- Get AI feedback — "Analyze my draft and tell me how to improve it"
- Schedule posts — "Schedule my latest draft for the next available slot"
- Publish instantly — "Post this to LinkedIn right now"
- Check analytics — "How did my posts perform this week?"
- Manage company pages — "List my organizations" / "Post this as my company page"
- Get inspirations — "Show me trending content ideas for my niche"
Quick Start
1. Create a Writio account
Sign up for free at writio.ai and connect your LinkedIn account.
2. Get your API token
Go to Writio → Settings → API Access to generate a token.
3. Configure in Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"writio": {
"command": "npx",
"args": ["-y", "@writio/mcp-server"],
"env": {
"WRITIO_API_TOKEN": "your-token-here"
}
}
}
}
4. Configure in Cursor
Add to your .cursor/mcp.json:
{
"mcpServers": {
"writio": {
"command": "npx",
"args": ["-y", "@writio/mcp-server"],
"env": {
"WRITIO_API_TOKEN": "your-token-here"
}
}
}
}
5. Configure in Windsurf / Other Clients
Any MCP-compatible client can connect using:
{
"command": "npx",
"args": ["-y", "@writio/mcp-server"],
"env": {
"WRITIO_API_TOKEN": "your-token-here"
}
}
Available Tools (23)
Content Creation
| Tool | Description | |------|-------------| | create_draft | Create a new LinkedIn post draft (supports personal & company pages) | | generate_hooks | Generate 5 attention-grabbing hooks for a topic | | generate_hashtags | Generate 20-30 relevant hashtags optimized for reach | | generate_carousel | Generate a complete carousel structure (Pro) | | enhance_post | Remix/rewrite a post with tone, style, and formatting improvements | | get_post_feedback | Get AI feedback on hook quality, clarity, hashtags, and more |
Post Management
| Tool | Description | |------|-------------| | list_posts | List posts filtered by status (draft/scheduled/published) | | get_post | Get full details of a specific post |
Scheduling & Queue
| Tool | Description | |------|-------------| | schedule_post | Schedule a post for the next available time slot | | post_now | Immediately publish a post to LinkedIn | | list_queue | List upcoming scheduled posts in the queue | | get_next_slot | Get the next available posting time | | get_schedule | View your weekly posting schedule | | retry_failed_post | Retry a failed scheduled post |
Analytics
| Tool | Description | |------|-------------| | get_dashboard | Overview of posts, usage, and LinkedIn connection status | | get_analytics | Detailed engagement metrics (impressions, likes, comments, reshares) and best posting times | | get_followers | Current LinkedIn follower count | | get_usage | Account tier and usage limits |
Company Page Posting
| Tool | Description | |------|-------------| | list_organizations | List LinkedIn company pages you can post as | | get_org_analytics | Get analytics for a company page (share stats, follower counts, top posts) |
Inspirations
| Tool | Description | |------|-------------| | get_inspirations | Curated news-based LinkedIn post ideas tailored to your topics | | use_inspiration_as_draft | Convert an inspiration into a draft post |
Example Workflows
Morning content routine: > "Check my analytics, generate 3 hooks about AI productivity, pick the best one, write a full post, and schedule it for next available slot"
Company page management: > "List my organizations, then create a product announcement draft and schedule it as my company page"
Content repurposing: > "Get my top performing post from this week, remix it with a different angle, and save as draft"
Environment Variables
| Variable | Required | Default | Description | |----------|----------|---------|-------------| | WRITIO_API_TOKEN | Yes | — | API token from Writio Settings | | WRITIO_API_URL | No | https://app.writio.ai | Base URL for the Writio API |
Requirements
- Node.js 18+
- A Writio account (free tier available)
- LinkedIn account connected in Writio
Architecture
@writio/mcp-server
├── src/
│ ├── index.ts # MCP server — tool definitions and handlers
│ └── api-client.ts # Typed Writio REST API client
├── package.json
├── tsconfig.json
└── README.md
The server uses stdio transport (standard for MCP) and authenticates against Writio's REST API using a Bearer token. All tools map directly to existing Writio API endpoints.
Links
- Website: writio.ai
- App: app.writio.ai
- Support: app.writio.ai/settings/feedback
License
MIT






