Used for securely storing and retrieving API keys, specifically integrating with the Buttondown API by fetching credentials from a specific 1Password path.
Supports creating email content in Markdown format when creating newsletter drafts through the Buttondown API.
Supported as an alternative package manager for installing and managing the Buttondown API integration package.
Recommended package manager for installing and managing the Buttondown API integration package and its dependencies.
Provides full TypeScript support with comprehensive type definitions and real API response-based types for the Buttondown newsletter service integration.
Supported as an alternative package manager for installing and managing the Buttondown API integration package.
Buttondown API Integration
A comprehensive TypeScript integration for the Buttondown newsletter service, providing both a CLI interface and a Model Context Protocol (MCP) server for managing newsletters, drafts, and analytics.
Features
Multiple Interfaces:
Command Line Interface (CLI) for direct interaction
Model Context Protocol (MCP) server for AI/LLM integration
Programmatic TypeScript API for custom integrations
Core Functionality:
Email draft management (create, update, delete)
Email scheduling system
Analytics retrieval and formatting
List management
Tag management
Security:
1Password integration for API key management
Environment variable support
Secure credential handling
Developer Experience:
Full TypeScript support
Comprehensive type definitions
Real API response-based types
Built-in testing utilities
Installation
Configuration
The API key can be provided in two ways:
Environment variable:
export BUTTONDOWN_API_KEY=your_api_key1Password CLI (recommended):
Store your API key in 1Password at
op://Development/Buttondown API/notesPlain
The integration will automatically fetch it when needed
Usage
CLI Interface
MCP Server
Start the server:
pnpm mcp:startStart with inspector (for development):
pnpm mcp:inspect
Available MCP tools:
list_emails
: List all emails with optional status filtering{ "status": "draft" // Optional: "draft", "scheduled", "sent" }create_draft
: Create a new email draft{ "content": "Email content in markdown", "title": "Optional email subject" }get_analytics
: Get analytics for a specific email{ "draftId": "email-id-here" }schedule_draft
: Schedule an email for sending{ "draftId": "email-id-here", "scheduledTime": "2024-03-27T10:00:00Z" }
Programmatic Usage
Development
Testing
The project includes several types of tests:
Unit tests for core functionality
Integration tests for API interactions
CLI command tests
MCP server tests
Run tests with:
Project Structure
Contributing
Fork the repository
Create your feature branch (
git checkout -b feature/amazing-feature
)Commit your changes (
git commit -m 'Add some amazing feature'
)Push to the branch (
git push origin feature/amazing-feature
)Open a Pull Request
License
ISC License - See LICENSE for details
Acknowledgments
Buttondown for their excellent newsletter service
Model Context Protocol for the AI integration framework
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Enables AI and LLM systems to interact with the Buttondown newsletter service, supporting email drafting, scheduling, analytics retrieval, and list management through a Model Context Protocol interface.
Related MCP Servers
- AsecurityAlicenseAqualityAn enhanced Model Context Protocol server that enables AI assistants to interact with ClickUp workspaces, supporting task relationships, comments, checklists, and workspace management through natural language.Last updated -22MIT License
- -securityAlicense-qualityA Model Context Protocol server that enables AI agents to interact with ClickUp workspaces, allowing task creation, management, and workspace organization through natural language commands.Last updated -1,9052MIT License
- -securityFlicense-qualityEnables AI models to interact with Linear for issue tracking and project management through the Model Context Protocol, supporting capabilities like creating issues, searching, managing sprints, and bulk updating statuses.Last updated -5
- AsecurityAlicenseAqualityEnables AI assistants to interact with LinkedIn data through the Model Context Protocol, allowing profile searches, job discovery, messaging, and network analytics.Last updated -284915MIT License