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
Audiense Insights MCP Server

Audiense Insights MCP Server

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

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

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

官方
精选
本地
TypeScript
VeyraX

VeyraX

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

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

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

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

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

官方
精选
TypeScript
Exa MCP Server

Exa MCP Server

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

官方
精选
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选