@linwheel/mcp-server
v0.1.0
Published
MCP server for LinWheel — AI-powered LinkedIn content engine. Draft, schedule, and publish posts from Claude Code.
Maintainers
Readme
@linwheel/mcp-server
Draft, schedule, and publish LinkedIn posts from Claude.
Your LinkedIn publishing workflow, inside your editor.
Quick Start · Tools · Configuration · Dashboard
The Problem
You write in your editor. You think in your editor. But to publish on LinkedIn, you context-switch to a browser, reformat everything, schedule manually, and hope you remembered to add that follow-up comment.
The Solution
LinWheel MCP brings LinkedIn publishing into Claude Code. Draft a post, generate a carousel, schedule it for Tuesday at 9:45 AM, attach a follow-up comment — all without leaving your terminal.
"Draft a post about our new API design patterns. Schedule it for tomorrow at 10 AM. Add a carousel. Attach a comment with the docs link at T+30."
One prompt. Four tools. Zero context switches.
⚡ Quick Start
1. Install
npx -y @linwheel/mcp-server2. Get an API key
- Sign up at linwheel.io/login
- Go to Settings
- Click Generate API Key — copy the
lw_sk_...key (shown once)
3. Configure Claude Code
claude mcp add linwheel -- npx -y @linwheel/mcp-serverThen add your key to .mcp.json:
{
"mcpServers": {
"linwheel": {
"command": "npx",
"args": ["-y", "@linwheel/mcp-server"],
"env": {
"LINWHEEL_API_KEY": "lw_sk_your_key_here"
}
}
}
}4. Verify
Restart Claude Code, then:
"List my LinWheel posts"
If it works, you're in.
🛠️ Tools
22 tools across 5 categories. Claude picks the right one — just describe what you want.
Content Creation
| Tool | What it does |
|------|-------------|
| linwheel_draft | Create a post draft |
| linwheel_analyze | Score text for LinkedIn potential |
| linwheel_reshape | Reshape content through 7 angles (contrarian, field note, etc.) |
| linwheel_refine | Polish text with light / medium / heavy intensity |
| linwheel_split | Break long content into a post series |
| linwheel_bundle | Create post + image + carousel atomically |
Publishing
| Tool | What it does |
|------|-------------|
| linwheel_posts_list | List drafts with filters |
| linwheel_post_get | Get full post details |
| linwheel_post_update | Edit post text and settings |
| linwheel_post_approve | Approve for auto-publish |
| linwheel_post_schedule | Set publication time |
Visual Content
| Tool | What it does |
|------|-------------|
| linwheel_post_image | Generate cover image |
| linwheel_post_carousel | Create typographic carousel slides + PDF |
| linwheel_post_carousel_companion | Auto-generate carousel from post text |
| linwheel_post_carousel_status | Check carousel state |
| linwheel_post_carousel_schedule | Schedule carousel publication |
Engagement
| Tool | What it does |
|------|-------------|
| linwheel_post_comment | Attach auto-firing follow-up comment |
| linwheel_post_comments_list | List queued comments |
| linwheel_post_comment_update | Edit a scheduled comment |
| linwheel_post_comment_delete | Remove a scheduled comment |
Configuration
| Tool | What it does |
|------|-------------|
| linwheel_voice_profiles | Manage writing voice profiles |
| linwheel_brand_styles | Manage brand style templates |
🔧 Configuration
Environment Variables
| Variable | Required | Default | Description |
|----------|:--------:|---------|-------------|
| LINWHEEL_API_KEY | ✅ | — | Your API key (lw_sk_...) |
| LINWHEEL_BASE_URL | | https://www.linwheel.io | API endpoint |
| LINWHEEL_SIGNING_SECRET | | — | HMAC signing secret (optional) |
| LINWHEEL_TIMEOUT_MS | | 60000 | Request timeout in ms |
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"linwheel": {
"command": "npx",
"args": ["-y", "@linwheel/mcp-server"],
"env": {
"LINWHEEL_API_KEY": "lw_sk_your_key_here"
}
}
}
}🚀 No API Key?
Start without a key and the server exposes a single linwheel_setup tool that walks you through setup. Just ask Claude:
"Help me set up LinWheel"
📋 Example Workflows
Daily publishing habit:
"Draft a field note about today's debugging session. Schedule for tomorrow at 9 AM ET. Generate a carousel. Add a comment with the repo link at T+30."
Content planning:
"Show me all scheduled posts for next week. Move the Tuesday post to Thursday. Add a contrarian follow-up for Wednesday."
Batch creation:
"Take this blog post and reshape it into 3 LinkedIn angles. Draft all three. Schedule them for Mon/Wed/Fri at 10 AM."
🏗️ Architecture
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Claude Code │────▶│ MCP Server │────▶│ LinWheel API │
│ (your editor) │◀────│ (stdio) │◀────│ (linwheel.io) │
└─────────────────┘ └──────────────────┘ └────────┬────────┘
│
┌────────▼────────┐
│ LinkedIn │
│ (publish) │
└─────────────────┘The MCP server is a thin client. All heavy lifting (LLM calls, image generation, PDF compilation, LinkedIn API) happens server-side on LinWheel.
📖 Links
| Resource | URL | |----------|-----| | Dashboard | linwheel.io/dashboard | | Full Setup Guide | docs/mcp-setup.md | | Agent API Reference | docs/agent-api-setup.md | | GitHub | github.com/Peleke/linwheel |
Built with Model Context Protocol · Powered by Claude
