Skip to main content
Glama
The-Focus-AI

Buttondown MCP Server

by The-Focus-AI

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 密钥可以通过两种方式提供:

  1. 环境变量:

    export BUTTONDOWN_API_KEY=your_api_key
  2. 1Password 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 服务器

  1. 启动服务器:

    pnpm mcp:start
  2. 从检查员开始(用于开发):

    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

贡献

  1. 分叉存储库

  2. 创建你的功能分支( git checkout -b feature/amazing-feature

  3. 提交您的更改( git commit -m 'Add some amazing feature'

  4. 推送到分支( git push origin feature/amazing-feature

  5. 打开拉取请求

执照

ISC 许可证 - 详情请参阅许可证

致谢

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/The-Focus-AI/buttondown-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server