Mastodon内容发布工具

一个用于与Mastodon交互的工具,支持创建带有可选媒体附件的toots,并提供定时发布、媒体上传等功能。

  • by The-Focus-AI
  • TypeScript
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 The-Focus-AI/mastodon-mcp

使用说明

Mastodon MCP

A. 模型上下文协议 提供与Mastodon交互工具的服务器。目前支持创建带有可选媒体附件的toot。

特性

  • 创建具有可自定义可见性和内容警告的图标
  • 上传并附加媒体文件(图像、视频、音频)
  • 在媒体附件中添加alt文本/描述
  • 为未来时间安排时间
  • 使用环境变量或1Password CLI进行安全凭据管理

先决条件

  • Node.js 18+
  • pnpm
  • Mastodon帐户和API访问令牌
  • 可选的1Password命令行界面(op)如果使用1Password进行凭据管理,请安装和配置。

安装

# Clone the repository
git clone [repository-url]
cd mastodon-mcp

# Install dependencies
pnpm install

# Build the project
pnpm build

配置

该工具需要Mastodon API令牌。您可以通过以下方式之一提供此令牌:

  1. 环境变量(为简单起见,建议使用): 设置 MASTODON_ACCESS_TOKEN 环境变量:
    export MASTODON_ACCESS_TOKEN="your_mastodon_api_token"
    
  2. 1密码:将您的令牌存储在:
    • op://Personal/Floss.Social Key/notesPlain

您可以通过环境变量设置Mastodon实例URL:

export MASTODON_INSTANCE_URL="https://your.instance.social"

如果未设置,则默认为 https://floss.social.

用法

启动MCP服务器:

pnpm start

服务器公开了一个工具 mastodon_create_toot 具有以下参数:

  • content (必填):您的toot文本内容
  • visibility:“公共”、“未列出”、“私人”或“直接”之一(默认值:“公开”)
  • sensitive:敏感内容的布尔标志(默认值:false)
  • spoiler_text:内容前显示警告文本(默认值:“”)
  • media_file:要附加的媒体文件的路径
  • media_description:附加媒体的Alt文本/描述
  • scheduled_at:可选的ISO 8601日期时间,用于为未来时间安排toot(例如,“2024-07-04T10:00:00-07:00”)

MCP检查器使用示例

  1. 启动检查器:
npx @modelcontextprotocol/inspector node dist/mcp-server.js
  1. 打开http://localhost:5173在浏览器中

  2. 使用具有以下参数的工具:

{
  "content": "Hello from MCP!",
  "visibility": "public",
  "media_file": "/path/to/image.jpg",
  "media_description": "A beautiful sunset",
  "scheduled_at": "2025-01-01T12:00:00Z"
}

发展

# Run in development mode with auto-reloading
pnpm dev

# Build the project
pnpm build

# Run the built server
pnpm start

安全

  • 代码库中没有硬编码凭据
  • API令牌可以通过环境变量进行安全管理,也可以从1Password中检索。
  • API响应是git-ignored,以防止意外的凭据泄漏

许可证

国际协调委员会