Buttondown MCP Server

Buttondown MCP Server

使人工智能和大型语言模型系统能够与 Buttondown 新闻邮件服务进行交互,通过模型上下文协议接口支持邮件起草、安排发送时间、检索分析数据和列表管理。

Category
访问服务器

README

Buttondown API 集成

一个全面的 Buttondown 新闻通讯服务的 TypeScript 集成,提供 CLI 界面和模型上下文协议 (MCP) 服务器,用于管理新闻通讯、草稿和分析。

特性

  • 多种界面:

    • 命令行界面 (CLI),用于直接交互
    • 模型上下文协议 (MCP) 服务器,用于 AI/LLM 集成
    • 程序化的 TypeScript API,用于自定义集成
  • 核心功能:

    • 电子邮件草稿管理(创建、更新、删除)
    • 电子邮件调度系统
    • 分析检索和格式化
    • 列表管理
    • 标签管理
  • 安全性:

    • 1Password 集成,用于 API 密钥管理
    • 环境变量支持
    • 安全的凭据处理
  • 开发者体验:

    • 完整的 TypeScript 支持
    • 完善的类型定义
    • 基于真实 API 响应的类型
    • 内置的测试实用程序

安装

# 使用 pnpm 安装 (推荐)
pnpm install

# 或者使用 npm
npm install

# 或者使用 yarn
yarn install

配置

API 密钥可以通过两种方式提供:

  1. 环境变量:

    export BUTTONDOWN_API_KEY=your_api_key
    
  2. 1Password CLI (推荐):

    • 将您的 API 密钥存储在 1Password 的 op://Development/Buttondown API/notesPlain
    • 集成将在需要时自动获取它

用法

CLI 界面

# 列出所有电子邮件
buttondown emails list

# 创建新的草稿
buttondown draft create <file>

# 安排电子邮件
buttondown schedule set <draft-id> <relative-time>

# 获取分析
buttondown analytics get <draft-id>

MCP 服务器

  1. 启动服务器:

    pnpm mcp:start
    
  2. 使用检查器启动(用于开发):

    pnpm mcp:inspect
    

可用的 MCP 工具:

  • list_emails: 列出所有电子邮件,并可选择状态过滤

    {
      "status": "draft" // 可选: "draft", "scheduled", "sent"
    }
    
  • create_draft: 创建新的电子邮件草稿

    {
      "content": "Markdown 格式的电子邮件内容",
      "title": "可选的电子邮件主题"
    }
    
  • get_analytics: 获取特定电子邮件的分析

    {
      "draftId": "email-id-here"
    }
    
  • schedule_draft: 安排电子邮件发送

    {
      "draftId": "email-id-here",
      "scheduledTime": "2024-03-27T10:00:00Z"
    }
    

程序化用法

import { ButtondownAPI } from "api-integrator";

// 初始化客户端
const api = new ButtondownAPI(); // 将使用 1Password 或环境变量

// 列出草稿
const drafts = await api.getDrafts();

// 创建草稿
const draft = await api.createEmail({
  subject: "My Newsletter",
  body: "Content here",
  status: "draft",
});

// 安排电子邮件
const scheduled = await api.scheduleEmail(draft.id, "2024-03-27T10:00:00Z");

// 获取分析
const analytics = await api.getEmailStats(draft.id);

开发

# 构建项目
pnpm build

# 运行测试
pnpm test

# 在开发模式下启动 MCP 服务器
pnpm mcp:inspect

# 构建 MCP 服务器
pnpm mcp:build

测试

该项目包括几种类型的测试:

  • 核心功能的单元测试
  • API 交互的集成测试
  • CLI 命令测试
  • MCP 服务器测试

使用以下命令运行测试:

pnpm test

项目结构

.
├── src/
│   ├── api/          # 核心 API 客户端
│   ├── cli/          # CLI 实现
│   ├── mcp/          # MCP 服务器
│   ├── types/        # TypeScript 定义
│   └── utils/        # 共享实用程序
├── tests/            # 测试文件
├── api-responses/    # 缓存的 API 响应
└── memory-bank/      # 项目文档

贡献

  1. Fork 仓库
  2. 创建您的功能分支 (git checkout -b feature/amazing-feature)
  3. 提交您的更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开一个 Pull Request

许可证

ISC 许可证 - 有关详细信息,请参阅 LICENSE

致谢

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选