Buttondown API 集成
Buttondown 新闻通讯服务的全面 TypeScript 集成,提供 CLI 界面和模型上下文协议 (MCP) 服务器来管理新闻通讯、草稿和分析。
特征
多种接口:
用于直接交互的命令行界面 (CLI)
用于 AI/LLM 集成的模型上下文协议 (MCP) 服务器
用于自定义集成的编程 TypeScript API
核心功能:
电子邮件草稿管理(创建、更新、删除)
电子邮件调度系统
分析检索和格式化
列表管理
标签管理
安全:
1Password 集成用于 API 密钥管理
环境变量支持
安全凭证处理
开发人员经验:
全面支持 TypeScript
全面的类型定义
真正的基于 API 响应的类型
内置测试实用程序
Related MCP server: ClickUp MCP Server
安装
# Install using pnpm (recommended)
pnpm install
# Or using npm
npm install
# Or using yarn
yarn install配置
API 密钥可以通过两种方式提供:
环境变量:
export BUTTONDOWN_API_KEY=your_api_key1Password CLI(推荐):
将您的 API 密钥存储在 1Password 中的
op://Development/Buttondown API/notesPlain集成将在需要时自动获取
用法
CLI 界面
# List all emails
buttondown emails list
# Create a new draft
buttondown draft create <file>
# Schedule an email
buttondown schedule set <draft-id> <relative-time>
# Get analytics
buttondown analytics get <draft-id>MCP 服务器
启动服务器:
pnpm mcp:start从检查员开始(用于开发):
pnpm mcp:inspect
可用的 MCP 工具:
list_emails:列出所有电子邮件,并带有可选的状态过滤{ "status": "draft" // Optional: "draft", "scheduled", "sent" }create_draft:创建新的电子邮件草稿{ "content": "Email content in markdown", "title": "Optional email subject" }get_analytics:获取特定电子邮件的分析数据{ "draftId": "email-id-here" }schedule_draft:安排电子邮件发送{ "draftId": "email-id-here", "scheduledTime": "2024-03-27T10:00:00Z" }
程序化使用
import { ButtondownAPI } from "api-integrator";
// Initialize the client
const api = new ButtondownAPI(); // Will use 1Password or env var
// List drafts
const drafts = await api.getDrafts();
// Create a draft
const draft = await api.createEmail({
subject: "My Newsletter",
body: "Content here",
status: "draft",
});
// Schedule an email
const scheduled = await api.scheduleEmail(draft.id, "2024-03-27T10:00:00Z");
// Get analytics
const analytics = await api.getEmailStats(draft.id);发展
# Build the project
pnpm build
# Run tests
pnpm test
# Start MCP server in development mode
pnpm mcp:inspect
# Build MCP server
pnpm mcp:build测试
该项目包括几种类型的测试:
核心功能的单元测试
API 交互的集成测试
CLI 命令测试
MCP 服务器测试
使用以下方式运行测试:
pnpm test项目结构
.
├── src/
│ ├── api/ # Core API client
│ ├── cli/ # CLI implementation
│ ├── mcp/ # MCP server
│ ├── types/ # TypeScript definitions
│ └── utils/ # Shared utilities
├── tests/ # Test files
├── api-responses/ # Cached API responses
└── memory-bank/ # Project documentation贡献
分叉存储库
创建你的功能分支(
git checkout -b feature/amazing-feature)提交您的更改(
git commit -m 'Add some amazing feature')推送到分支(
git push origin feature/amazing-feature)打开拉取请求
执照
ISC 许可证 - 详情请参阅许可证
致谢
Buttondown提供出色的新闻通讯服务
AI集成框架的模型上下文协议
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.