Mastodon MCP服务器
一种模型上下文协议服务器,提供与Mastodon交互的工具,使用户能够创建具有可定制可见性的嘟文,并附带带有描述的媒体文件。
服务介绍
Mastodon MCP
一个 Model Context Protocol 服务器,提供了与 Mastodon 交互的工具。目前支持创建带有可选媒体附件的嘟文。
功能
- 创建具有自定义可见性和内容警告的嘟文
- 上传并附加媒体文件(图片、视频、音频)
- 为媒体附件添加替代文本/描述
- 使用 1Password CLI 进行安全凭据管理
前提条件
- Node.js 18+
- pnpm
- 安装并配置了 1Password CLI (
op) - 一个 Mastodon 账户和 API 访问令牌
安装
# Clone the repository
git clone [repository-url]
cd mastodon-mcp
# Install dependencies
pnpm install
# Build the project
pnpm build
配置
该工具需要在 1Password 中存储一个 Mastodon API 令牌。请将您的令牌存储在:
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(必需): 您的嘟文的文本内容visibility: 可选 "public", "unlisted", "private", 或 "direct" (默认: "public")sensitive: 敏感内容的布尔标志 (默认: false)spoiler_text: 在内容之前显示的警告文本 (默认: "")media_file: 要附加的媒体文件路径media_description: 附加媒体的替代文本/描述
使用 MCP Inspector 的示例
- 启动检查器:
npx @modelcontextprotocol/inspector node dist/mcp-server.js
-
在浏览器中打开 http://localhost:5173
-
使用带有以下参数的工具:
{
"content": "Hello from MCP!",
"visibility": "public",
"media_file": "/path/to/image.jpg",
"media_description": "A beautiful sunset"
}
开发
# Run in development mode with auto-reloading
pnpm dev
# Build the project
pnpm build
# Run the built server
pnpm start
安全性
- 代码库中没有硬编码任何凭据
- API 令牌安全地存储在 1Password 中,并从中检索
- API 响应被 git 忽略,以防止意外泄露凭据
许可证
ISC