npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@writio/mcp-server

v0.1.3

Published

MCP server for Writio — AI-native LinkedIn content creation, scheduling, and analytics for Claude Desktop, Cursor, and other MCP clients

Downloads

30

Readme

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

License

MIT