designly1/mcp-medium
If you are the rightful owner of mcp-medium and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The MCP Medium Server is a Model Context Protocol server designed to facilitate AI assistants in publishing posts to Medium.
MCP Medium Server
A Model Context Protocol (MCP) server that enables AI assistants to publish posts to Medium.
Features
- Publish Posts: Create and publish articles to Medium
- Draft Support: Publish as draft, unlisted, or public
- Tag Management: Add tags to your posts
- Canonical URLs: Set canonical URLs for SEO
- Follower Notifications: Optionally notify followers when publishing
Installation
Via npx (Recommended)
npx mcp-medium
Local Development
git clone <repository-url>
cd mcp-medium
pnpm install
pnpm build
pnpm start
Setup
1. Get Medium API Token
- Go to Medium Settings
- Scroll down to "Integration tokens"
- Generate a new token
- Copy the token for use in your environment
2. Set Environment Variable
export MEDIUM_TOKEN="your_medium_token_here"
3. Configure MCP Client
Add this server to your MCP client configuration:
Claude Desktop (config.json):
{
"mcpServers": {
"medium": {
"command": "npx",
"args": ["mcp-medium"],
"env": {
"MEDIUM_TOKEN": "your_medium_token_here"
}
}
}
}
Other MCP Clients:
npx mcp-medium
Usage
Once configured, you can ask your AI assistant to publish posts to Medium:
"Please publish this article to Medium as a draft with the tags 'programming' and 'typescript'"
"Publish this post to Medium publicly and notify my followers"
Available Parameters
- title (required): The post title
- content (required): The post content (HTML format)
- tags (optional): Array of tags for the post
- canonicalUrl (optional): Canonical URL for SEO
- publishStatus (optional): "draft", "unlisted", or "public" (default: "draft")
Example
// The AI assistant can call this tool:
publishPost({
title: "My First MCP Post",
content: "<h1>Hello World</h1><p>This is my first post via MCP!</p>",
tags: ["mcp", "automation"],
publishStatus: "draft"
})
Development
Build
pnpm build
Development Mode
pnpm dev
Lint
pnpm lint
pnpm fix
Requirements
- Node.js 18+
- Medium account with API access
- Valid Medium integration token
License
MIT
Author
Jay Simons
- Website: https://yaa.bz
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Support
If you encounter any issues or have questions, please file an issue on the repository.