Beehiiv MCP Server
The Beehiiv MCP Server allows interaction with the Beehiiv API v2 for managing publications and posts via standardized tools. You can:
List Publications: Retrieve all publications accessible with your API key
List Posts: View all posts for a given publication (requires
publication_id)Get Post: Retrieve details about a specific post (requires
publication_idandpost_id)Get Post Content: Fetch full HTML content for a post
Create New Post: Create new posts on the Beehiiv platform (enterprise feature only)
Used for managing environment variables, specifically the Beehiiv API key and publication ID stored in the .env file.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Beehiiv MCP Server show me the 5 most recent posts from my newsletter"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Beehiiv MCP Server
A Model Context Protocol (MCP) server that provides tools for interacting with the Beehiiv API v2. This server enables Large Language Models (LLMs) to interact with Beehiiv publications and posts through standardized tools.
Prerequisites
Python 3.10 or higher
uvpackage managerA Beehiiv account with API access
Claude Desktop (or another MCP-compatible client)
Related MCP server: MCP Python Server — API Wrapper
Installation
Install
uvif you haven't already:
curl -LsSf https://astral.sh/uv/install.sh | shIf rebuilding from scratch, create and set up your project:
# Create a new directory and navigate into it
mkdir beehiiv-mcp-server
cd beehiiv-mcp-server
# Create virtual environment and activate it
uv venv
source .venv/bin/activate
# Install dependencies
uv add "mcp[cli]" httpx python-dotenvCreate a
.envfile in the project root:
BEEHIIV_API_KEY=your_api_key_here
BEEHIIV_PUBLICATION_ID=your_publication_id_hereClaude Desktop Configuration
Add the following to your Claude Desktop configuration file (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"beehiiv-mcp-server": {
"command": "<ABSOLUTE_UV_PATH>",
"args": [
"run",
"--with",
"mcp[cli]",
"mcp",
"run",
"<ABSOLUTE_SERVER_PATH>"
]
}
}
}Replace:
<ABSOLUTE_UV_PATH>with the path to youruvexecutable<ABSOLUTE_SERVER_PATH>with the absolute path to yourbeehiiv_server.pyfile
Available Tools
This MCP server currently exposes the following tools (more will be added):
list_publications
Lists all publications accessible with your API key.
list_posts
Lists the 5 most recent confirmed posts for a given publication.
list_posts(publication_id: str)get_post
Retrieves detailed information about a specific post.
get_post(publication_id: str, post_id: str)get_post_content
Retrieves full HTML content for a post
create_new_post
Creates new post on beehiiv platform (enterprise only)
How It Works
When you interact with this server through Claude Desktop:
The client sends your question to Claude
Claude analyzes the available Beehiiv tools and decides which one(s) to use
The client executes the chosen tool(s) through this MCP server
The results are sent back to Claude
Claude formulates a natural language response
The response is displayed to you
(video coming soon)
Troubleshooting
Server Not Showing Up in Claude
Check your
claude_desktop_config.jsonfile syntaxEnsure all paths are absolute, not relative
Restart Claude Desktop
Viewing Logs
Check Claude's logs for MCP-related issues:
tail -n 20 -f ~/Library/Logs/Claude/mcp*.logLogs are stored in:
~/Library/Logs/Claude/mcp.logfor general MCP connections~/Library/Logs/Claude/mcp-server-beehiiv-mcp-server.logfor server-specific logs
Security
Never commit your
.envfile to version controlKeep your Beehiiv API key secure
Consider implementing rate limiting for API calls
Contributing
hmu on X (https://x.com/reymerekar7)
Available Tools
5 toolscreate_new_postC
Create a new post using provided HTML content.
Args:
publication_id: ID of the publication
title: Title of the new post
subtitle: Subtitle of the new post
html_content: HTML content for the post
Inputs: html_content (required), publication_id (required), subtitle (required), title (required).
get_postC
Retrieve a single post by ID.
Args:
publication_id: ID of the publication
post_id: ID of the post
Inputs: post_id (required), publication_id (required).
get_post_contentA
Retrieve a post's content as JSON to use as a template.
Args:
publication_id: ID of the publication
post_id: ID of the post
Returns:
dict: JSON object containing post title, subtitle, and HTML content template
Inputs: post_id (required), publication_id (required).
list_postsB
List all posts for a given publication.
Args:
publication_id: e.g. 'pub_00000000-0000-0000-0000-000000000000'
Inputs: publication_id (required).
list_publicationsB
List all publications accessible with this API key.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Most tools have distinct purposes, but get_post and get_post_content have overlapping functionality that could cause confusion. Both retrieve posts by ID, with get_post_content specifically extracting content as a template, but the distinction may not be clear to an agent without careful reading of descriptions.
All tool names follow a consistent verb_noun pattern (create_new_post, get_post, get_post_content, list_posts, list_publications). The naming is predictable and readable throughout the set, with no deviations in style.
With 5 tools, the count is reasonable for a Beehiiv MCP server focused on post and publication management. It covers core operations but feels slightly thin, as it lacks update or delete functionality for posts, which are common in such domains.
The toolset covers creation, retrieval, and listing for posts and publications, but has notable gaps. There are no tools for updating or deleting posts, which are essential for a full CRUD lifecycle, and no publication-specific management beyond listing, which could lead to agent workarounds.
Maintenance
Related MCP Connectors
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
A Model Context Protocol server for Wix AI tools
Managed cloud RSS and Atom feed reader with a remote Model Context Protocol (MCP) endpoint. Zero server setup required — enables AI agents like Claude to instantly subscribe to feeds, search full-text articles, extract readable content, and access curated AI editions ("Your Newspaper") over secure streamable HTTP.
The official Model Context Protocol server for Ambee. It gives any MCP-compatible AI assistant — Claude, ChatGPT, Cursor, VS Code, Ollama, and more direct access to live air quality, pollen, and weather data. To get started, including information on signing up and obtaining your Ambee key, check out the Ambee documentation on https://docs.ambeedata.com
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceThis server implements the Model Context Protocol to facilitate meaningful interaction and understanding development between humans and AI through structured tools and progressive interaction patterns.57-
- FlicenseNot gradedqualityDmaintenanceA Python server implementing the Model Context Protocol that exposes tools for querying external APIs, compatible with Claude Desktop and ChatGPT Desktop.-
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI assistants to programmatically interact with the Hashnode API for creating, updating, searching, and retrieving blog content.7MIT
- AlicenseAqualityDmaintenanceA Model Context Protocol server providing tools for DB queries, API calls, file I/O, and text transformations, enabling AI agents like Claude to perform real-world actions.10MIT