danvega/beehiiv-mcp-server
If you are the rightful owner of beehiiv-mcp-server 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 Beehiiv MCP Server allows users to manage their Beehiiv newsletters through Claude Desktop and other AI assistants using natural language commands.
beehiiv_create_subscription
Tool to add a new subscriber to a newsletter
beehiiv_get_posts
Tool to fetch and display recent newsletter posts
beehiiv_list_publications
Tool to list all available publications
Beehiiv MCP Server
š Super Quick Start: Get Beehiiv newsletter management working in Claude Desktop in under 2 minutes - no Java required!
Connect your Beehiiv newsletter to Claude Desktop and other AI assistants. Add subscribers, fetch posts, and manage publications using natural language.
šÆ Choose Your Setup Method
Method | Time | Requirements | Best For |
---|---|---|---|
š¦ Native Binary | 2 min | None! | Most users |
ā Java Build | 5 min | Java 24+ | Developers |
What You Can Do
Once set up, you can ask Claude Desktop things like:
- "Add to my newsletter"
- "Show me my latest 5 newsletter posts"
- "Create a subscriber with custom fields: name John, company Tech Corp"
- "List all my publications"
š¦ Native Binary (No Java)
Perfect for most users - Single file download, no installation required!
1. Get Your API Credentials
- Go to Beehiiv API Settings
- Copy your API Key (starts with
bh-
) - Copy your Publication ID (starts with
pub_
)
2. Download Binary
Option A: One-Command Install (Linux/macOS)
curl -fsSL https://raw.githubusercontent.com/danvega/beehiiv-mcp-server/main/scripts/install.sh | bash
Option B: Manual Download
Go to Latest Release and download:
- Linux:
beehiiv-mcp-server-linux
- macOS:
beehiiv-mcp-server-macos
- Windows:
beehiiv-mcp-server-windows.exe
Make executable (Linux/macOS only):
chmod +x beehiiv-mcp-server-*
3. Configure Claude Desktop
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"beehiiv": {
"command": "/full/path/to/beehiiv-mcp-server-linux",
"env": {
"BEEHIIV_API": "bh-your-api-key-here",
"BEEHIIV_PUBLICATION_ID": "pub-your-publication-id-here"
}
}
}
}
ā ļø Use the full path to your downloaded binary file.
4. Test It Works
- Restart Claude Desktop
- Look for the š§ icon in a new conversation
- Try: "Add subscriber to my newsletter"
ā
Success: You should see Claude use the beehiiv_create_subscription
tool!
ā Java Build (Traditional)
For developers who want to build from source
Prerequisites
- Java 21+ (Download here)
- Maven (included via
./mvnw
)
Steps
git clone <this-repo>
cd beehiiv-mcp-server
./mvnw clean package -DskipTests
Then configure Claude Desktop with:
{
"mcpServers": {
"beehiiv": {
"command": "java",
"args": [
"-jar",
"/FULL/PATH/TO/target/beehiiv-mcp-server-0.0.3-SNAPSHOT.jar"
],
"env": {
"BEEHIIV_API": "bh-your-api-key-here",
"BEEHIIV_PUBLICATION_ID": "pub-your-publication-id-here"
}
}
}
}
š„ Native Image Build (Advanced)
For developers who want to create optimized native binaries
Native image compilation creates fast-starting, low-memory executables that don't require Java to run.
Prerequisites
- Java 21+ with GraalVM (Download GraalVM)
- Maven (included via
./mvnw
)
Build Native Image
git clone <this-repo>
cd beehiiv-mcp-server
./mvnw clean package -Pnative -DskipTests
This creates platform-specific binaries in target/
:
- Linux:
beehiiv-mcp-server-linux
- macOS:
beehiiv-mcp-server-macos
- Windows:
beehiiv-mcp-server-windows.exe
Configure Claude Desktop
Use the native binary directly without Java:
{
"mcpServers": {
"beehiiv": {
"command": "/full/path/to/beehiiv-mcp-server-linux",
"env": {
"BEEHIIV_API": "bh-your-api-key-here",
"BEEHIIV_PUBLICATION_ID": "pub-your-publication-id-here"
}
}
}
}
Benefits
- Fast startup: ~50ms vs ~2s for Java
- Low memory: ~20MB vs ~100MB for Java
- No Java required: Self-contained executable
- Better for production: Optimized runtime performance
Prerequisites
- Java 21+ (Download here)
- Maven (included via
./mvnw
) - Beehiiv account with API access
- Claude Desktop (Download here)
Available Tools
š§ Subscription Management
- Add subscribers: Create new subscriptions with custom fields
- Find subscribers: Look up by email or ID
- Custom fields: Add structured data to subscribers
š Content Management
- Get posts: Fetch your published newsletters
- Single post: Get detailed content for specific posts
- Filtering: Search by tags, date, audience type
š¢ Publication Management
- List publications: See all your newsletters
- Publication details: Get stats and settings
- Multi-publication: Work with multiple newsletters
Example Usage
Basic Subscriber
Add john.doe@company.com to my newsletter
Subscriber with Custom Data
Create a subscription for sarah@startup.com with custom fields:
name "Sarah Johnson", role "CEO", company "TechStart"
Get Recent Posts
Show me my last 10 newsletter posts with their titles and publish dates
UTM Tracking
Add marketing@bigcorp.com with UTM source "website",
medium "signup", campaign "q4-growth"
Advanced Configuration
Multiple Publications
Don't set BEEHIIV_PUBLICATION_ID
to work with multiple newsletters:
{
"env": {
"BEEHIIV_API": "bh-your-api-key-here"
}
}
Then specify the publication in your requests:
Add user@example.com to publication pub_specific123
HTTP Mode (Alternative)
For testing or development, you can run as a web server:
java -jar target/beehiiv-mcp-server-0.0.2-SNAPSHOT.jar
Then use: "httpUrl": "http://localhost:8080/mcp"
in Claude Desktop config.
Troubleshooting
"Tool not found" in Claude Desktop
- Check the JAR path is correct and absolute
- Verify environment variables are set
- Restart Claude Desktop completely
- Check Claude Desktop's logs/console for errors
"Invalid API key" errors
- Verify your API key starts with
bh-
- Check it's copied completely (no extra spaces)
- Ensure your Beehiiv account has API access enabled
"Publication not found"
- Verify your Publication ID starts with
pub_
- Check you have access to this publication
- Try without
BEEHIIV_PUBLICATION_ID
and specify it per request
Enable Debug Logging
Set environment variable: LOGGING_LEVEL_ROOT=DEBUG
Test Connection Manually
# Test the server directly
curl -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "id": "1", "method": "tools/list"}'
Development
Run Tests
./mvnw test
Build from Source
./mvnw clean package
Project Structure
src/main/java/dev/danvega/beehiiv/
āāā Application.java # Main Spring Boot app
āāā core/ # Configuration & utilities
āāā post/ # Newsletter post management
āāā publication/ # Publication management
āāā subscription/ # Subscriber management
API Reference
For detailed Beehiiv API documentation: developers.beehiiv.com
Contributing
- Fork the repository
- Create a feature branch
- Add tests for new functionality
- Submit a pull request
Support
- Issues: GitHub Issues
- Beehiiv API: Official Documentation
- MCP Protocol: Model Context Protocol