MCP server for Medium API — publish posts, manage publications, RSS feeds, upload images
Project description
MCP Server Medium
MCP (Model Context Protocol) server for interacting with the Medium API. Allows AI agents to publish posts, manage publications, upload images, and parse RSS feeds to JSON.
Quick Start
# Run with uvx (no install needed) — uses MEDIUM_API_KEY env var
MEDIUM_API_KEY=your_token_here uvx mcp-server-medium
# Or use a config file instead
mkdir -p ~/.medium
echo 'api_key: your_token_here' > ~/.medium/config.yaml
uvx mcp-server-medium
# Or install and run
uv tool install mcp-server-medium
mcp-server-medium
Authentication
The server resolves your API key in this order:
MEDIUM_API_KEYenvironment variable — best for MCP clients~/.medium/config.yaml— persistent local config
Create ~/.medium/config.yaml:
api_key: your_integration_token_here
Get your token at medium.com/me/settings (look for "Integration Tokens").
Tools
| Tool | Description |
|---|---|
get_profile |
Get the authenticated user's Medium profile |
list_publications |
List all publications the user is related to |
list_contributors |
List contributors for a publication |
create_post |
Create a post on the user's Medium profile |
create_publication_post |
Create a post under a specific publication |
upload_image |
Upload an image to Medium from a URL |
get_rss_feed |
Fetch and parse Medium RSS feeds into JSON |
RSS Feed Shorthands
The get_rss_feed tool accepts flexible input:
| Shorthand | Resolves to |
|---|---|
@username |
https://medium.com/feed/@username |
publication-name |
https://medium.com/feed/publication-name |
tag/tag-name |
https://medium.com/feed/tag/tag-name |
pub-name/tagged/tag |
https://medium.com/feed/pub-name/tagged/tag |
| Full URL | Used as-is |
Development
# Clone and setup
git clone https://github.com/afikrim/medium-mcp-server
cd medium-mcp-server
uv sync
# Run locally
MEDIUM_API_KEY=your_key uv run medium-mcp-server
# Use with MCP inspector
MEDIUM_API_KEY=your_key npx @modelcontextprotocol/inspector uv run medium-mcp-server
Configuration
Configure in your MCP client (e.g., Claude Desktop, Cursor):
{
"mcpServers": {
"medium": {
"command": "uvx",
"args": ["mcp-server-medium"],
"env": {
"MEDIUM_API_KEY": "your_token_here"
}
}
}
}
Or using the config file (no env needed):
{
"mcpServers": {
"medium": {
"command": "uvx",
"args": ["mcp-server-medium"]
}
}
}
With ~/.medium/config.yaml:
api_key: your_token_here
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcp_server_medium-0.4.1.tar.gz.
File metadata
- Download URL: mcp_server_medium-0.4.1.tar.gz
- Upload date:
- Size: 15.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22bf543bfa2399d4f6e773e5c825bc2c671e2cfeeab2d4967d3ac418bb3ef1b5
|
|
| MD5 |
3884ec053d6d416e66d905d097f081e1
|
|
| BLAKE2b-256 |
9f975fd220862ca9613f8ce5a0b0710577bf035f6c34cc0da8cc00cd37169cda
|
File details
Details for the file mcp_server_medium-0.4.1-py3-none-any.whl.
File metadata
- Download URL: mcp_server_medium-0.4.1-py3-none-any.whl
- Upload date:
- Size: 17.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69a45c30a65891f14fbdd9e29f05e1813f0e066be5256ddcf16ef72ac7a5b723
|
|
| MD5 |
8aba35b0bb8560e38fe158fc535837c2
|
|
| BLAKE2b-256 |
22117e2873a123d9dea91493e8789b8628439c894126ffb7b2643389e32ae23c
|