beehiiv_get_posts
Get posts from Beehiiv newsletter with comprehensive filtering options.
Run a beehiiv newsletter by asking — add subscribers with custom fields, pull recent posts, work across publications.
LABSCO SUMMARY
The work it takes off you is the clicking: add a subscriber with the custom fields and campaign tags already attached, or pull the last ten posts with their titles and publish dates, in the same conversation where you were writing about them.
A connector between an AI client and the beehiiv API, covering the three things a newsletter operator touches daily: who is subscribed, what has been published, and which publication you are working in.
beehiiv_create_subscription)A beehiiv account with API access. BEEHIIV_API holds the key, which starts with bh-, and BEEHIIV_PUBLICATION_ID pins a publication, which starts with pub_ — leave that one unset to work across newsletters and name the publication in each request instead. The prebuilt binary from the Releases page needs nothing else installed; building from source needs Java 21+ and the bundled ./mvnw. Set LOGGING_LEVEL_ROOT=DEBUG when a call fails and you need to see why.
One command plus credentials — curl -fsSL https://raw.githubusercontent.com/danvega/beehiiv-mcp-server/main/scripts/install.sh | bash, then supply credentials
USE CASES
Create the subscription with their name, role and company as custom fields in one sentence, instead of opening the dashboard and filling a form.
Attach UTM source, medium and campaign at creation time so the subscriber arrives already tagged to the channel that brought them.
Pull your recent posts with titles and publish dates, filtered by tag or audience type, to see what the last stretch actually looked like.
Leave BEEHIIV_PUBLICATION_ID unset and name the publication per request, so a single connection covers every newsletter you own.
Look a subscriber up by email or ID before adding them, so a duplicate signup does not become a duplicate record.
Listed in project code.
beehiiv_get_postsGet posts from Beehiiv newsletter with comprehensive filtering options.
beehiiv_get_postGet a single post from the Beehiiv Newsletter API by post ID.
beehiiv_get_posts_by_statusGet posts filtered by status.
beehiiv_get_posts_by_platformGet posts filtered by platform.
beehiiv_get_posts_by_tagsGet posts filtered by content tags.
beehiiv_get_publicationsGet a list of all publications with filtering options.
beehiiv_get_publicationGet detailed information about a specific publication by ID.
beehiiv_get_current_publicationGet information about the currently configured publication
beehiiv_search_publicationsSearch publications by name using case-insensitive partial matching.
beehiiv_list_accessible_publicationsList all publications accessible with the current API key
beehiiv_create_subscriptionCreate a new subscription/subscriber for a publication.
beehiiv_get_subscription_by_emailRetrieve a subscription by email address.
beehiiv_get_subscription_by_idRetrieve a subscription by ID.
beehiiv_list_custom_fieldsList all custom fields for a publication.
beehiiv_get_custom_fieldGet details of a specific custom field.
beehiiv_get_custom_field_by_nameFind a custom field by name.
beehiiv_validate_custom_field_valueValidate a value against a custom field's type and constraints.
BEFORE YOU INSTALL
17 tools registered in the project's code.
BEEHIIV_PUBLICATION_ID in your environment
INSTALLATION
Go to Beehiiv API Settings and copy your API Key (starts with bh-) and your Publication ID (starts with pub_)
Download the binary: curl -fsSL https://raw.githubusercontent.com/danvega/beehiiv-mcp-server/main/scripts/install.sh | bash (or download the release asset for your OS manually)
chmod +x beehiiv-mcp-server-*Add the mcpServers block to claude_desktop_config.json with the full path to that binary and your API key; set the Publication ID too only if you want to pin one newsletter
Restart Claude Desktop
{
"mcpServers": {
"beehiiv": {
"command": "<YOUR_PATH_TO_BEEHIIV_MCP_SERVER_LINUX>",
"env": {
"BEEHIIV_API": "<YOUR_BEEHIIV_API>",
"BEEHIIV_PUBLICATION_ID": "<YOUR_BEEHIIV_PUBLICATION_ID>"
}
}
}
}git clone https://github.com/danvega/beehiiv-mcp-server.git
cd beehiiv-mcp-server
./mvnw clean package -DskipTests{
"mcpServers": {
"beehiiv": {
"command": "java",
"args": [
"-jar",
"<YOUR_PATH_TO_TARGET>/beehiiv-mcp-server-0.0.3-SNAPSHOT.jar"
],
"env": {
"BEEHIIV_API": "<YOUR_BEEHIIV_API>",
"BEEHIIV_PUBLICATION_ID": "<YOUR_BEEHIIV_PUBLICATION_ID>"
}
}
}
}This route needs Java 21 or newer. <YOUR_PATH_TO_TARGET> is the target/ folder in your clone; check the jar name there, since its version may differ from 0.0.3-SNAPSHOT.