Boring Threads Publisher
Publish posts, multi-post threads, and replies on Threads. Powered by Boring.
Security & Data Handling
- - MCP link is a credential: Your MCP Server URL (
https://boring.aiagent-me.com/mcp/t/xxxxx...) contains an embedded authentication token. Treat it like a password — do not share it publicly. - Token scope: The embedded token grants publish access to your connected social media accounts. It can create posts, upload media, and manage scheduled posts on the platforms you have connected. It cannot access your social media passwords or modify account settings.
- Token storage: The token is stored server-side in Boring's database (MongoDB on DigitalOcean). It is never written to your local filesystem. You can regenerate or revoke it anytime at boring.aiagent-me.com/settings.
- Data flow: Analytics queries are sent from Boring's server (Google Cloud, us-central1) to the platform's API on your behalf. Only performance metrics are retrieved — no content is uploaded or modified.
- No local credentials: No local API keys, environment variables, or secrets are needed. All auth is embedded in the MCP link.
- Third-party service: This skill relies on Boring, an open-source social media management tool. Source code: github.com/snoopyrain.
Prerequisites
- 1. Sign up at boring.aiagent-me.com with Google
- Connect Threads account via OAuth
- Get your MCP link: Go to Settings → copy your MCP Server URL (contains your auth token — treat it like a password)
- Add to Claude: Paste the MCP link as a Connector — no install, no API key needed
Workflow
Step 1: List Accounts
Call boring_list_accounts and filter for threads platform. Show connected accounts.
Step 2: Determine Post Type
Threads supports multiple content types:
| Type | Description | Limit |
|---|
| Text | Text-only post | 500 characters |
| Photo |
Single image | JPG/PNG/WEBP, max 8MB |
| Carousel | Multi-image | 2-20 images (more than other platforms!) |
| Video | Single video | MP4/MOV, max 512MB, 5 min |
| Thread | Multi-post thread | Array of text posts, each up to 500 chars |
Step 3: Choose the Right Tool
Single post (text, photo, carousel, video) → use boring_publish_post:
CODEBLOCK0
Multi-post thread (long-form content split into connected posts) → use boring_publish_thread:
CODEBLOCK1
Reply to existing post → use boring_reply_to_post_threads:
CODEBLOCK2
Step 4: Handle Long Content
If the user provides content longer than 500 characters:
- 1. Automatically split into multiple posts for a thread
- Split at sentence boundaries when possible
- Use
boring_publish_thread with the array of texts - Inform the user: "Your content was split into X connected posts"
Step 5: Prepare Media
- - Local files:
boring_upload_file with INLINECODE8 - URLs:
boring_upload_from_url to re-host - Google Drive: Pass directly
Step 6: Publish and Report
Show results:
- - Post ID(s) for each published post
- Thread URL if it was a multi-post thread
- Any errors encountered
Scheduling
Add scheduled_at in ISO 8601 format to schedule:
CODEBLOCK3
Threads-Specific Notes
- - Text-only posts: Threads is one of the few platforms that supports pure text posts
- Carousel limit: Up to 20 images (vs 10 on Instagram/Facebook)
- Token: 60-day expiration with auto-refresh 5 days before expiry
- Rate Limit: 250 calls/hour per user
- Permissions:
threads_basic, threads_content_publish, INLINECODE13
Error Handling
| Error | Solution |
|---|
| INLINECODE14 | Split into thread using INLINECODE15 |
| INLINECODE16 |
Carousel needs 2-20 images |
|
TokenExpired | Reconnect at boring.aiagent-me.com (rare due to auto-refresh) |
|
MediaTooLarge | Images max 8MB, videos max 512MB |
Documentation
Full API docs: boring-doc.aiagent-me.com
Boring Threads Publisher
在 Threads 上发布帖子、多帖串文和回复。由 Boring 提供支持。
安全与数据处理
- - MCP 链接即凭证:您的 MCP 服务器 URL(https://boring.aiagent-me.com/mcp/t/xxxxx...)包含一个嵌入式认证令牌。请像对待密码一样对待它——不要公开分享。
- 令牌范围:嵌入式令牌授予对您已连接社交媒体账户的发布权限。它可以创建帖子、上传媒体以及管理已连接平台上的定时帖子。它无法访问您的社交媒体密码或修改账户设置。
- 令牌存储:令牌存储在 Boring 的数据库(DigitalOcean 上的 MongoDB)中。它永远不会写入您的本地文件系统。您可以随时在 boring.aiagent-me.com/settings 重新生成或撤销它。
- 数据流:分析查询从 Boring 的服务器(Google Cloud,us-central1)代表您发送到平台的 API。仅检索性能指标——不会上传或修改任何内容。
- 无本地凭证:无需本地 API 密钥、环境变量或机密信息。所有认证都嵌入在 MCP 链接中。
- 第三方服务:此技能依赖于 Boring,一个开源社交媒体管理工具。源代码:github.com/snoopyrain。
前提条件
- 1. 使用 Google 在 boring.aiagent-me.com 注册
- 通过 OAuth 连接 Threads 账户
- 获取您的 MCP 链接:前往设置 → 复制您的 MCP 服务器 URL(包含您的认证令牌——请像对待密码一样对待它)
- 添加到 Claude:将 MCP 链接粘贴为连接器——无需安装,无需 API 密钥
工作流程
步骤 1:列出账户
调用 boringlistaccounts 并筛选 threads 平台。显示已连接的账户。
步骤 2:确定帖子类型
Threads 支持多种内容类型:
单张图片 | JPG/PNG/WEBP,最大 8MB |
| 轮播 | 多张图片 | 2-20 张图片(比其他平台更多!) |
| 视频 | 单个视频 | MP4/MOV,最大 512MB,5 分钟 |
| 串文 | 多帖串文 | 文本帖子数组,每条最多 500 个字符 |
步骤 3:选择合适的工具
单条帖子(文本、照片、轮播、视频)→ 使用 boringpublishpost:
boringpublishpost(
accountid=account_id>,
platform=threads,
text=您的帖子内容,
media_urls=[https://...] (可选)
)
多帖串文(长内容拆分为关联帖子)→ 使用 boringpublishthread:
boringpublishthread(
accountid=account_id>,
platform=threads,
texts=[串文中的第一条帖子, 第二条帖子继续..., 第三条帖子总结],
media_urls=[https://...] (可选,仅添加到第一条帖子)
)
回复现有帖子→ 使用 boringreplytopostthreads:
boringreplytopostthreads(
accountid=account_id>,
replytoid=<原始帖子ID>,
text=您的回复内容,
media_urls=[https://...] (可选,仅第一个URL)
)
步骤 4:处理长内容
如果用户提供的内容超过 500 个字符:
- 1. 自动拆分为串文中的多条帖子
- 尽可能在句子边界处拆分
- 使用 boringpublishthread 并传入文本数组
- 告知用户:您的内容已被拆分为 X 条关联帖子
步骤 5:准备媒体
- - 本地文件:使用 filepath 调用 boringuploadfile
- URL:使用 boringuploadfromurl 重新托管
- Google Drive:直接传递
步骤 6:发布并报告
显示结果:
- - 每条已发布帖子的帖子 ID
- 如果是多帖串文,显示串文 URL
- 遇到的任何错误
定时发布
添加 ISO 8601 格式的 scheduled_at 进行定时:
boringpublishpost(..., scheduled_at=2025-12-25T10:00:00Z)
boringpublishthread(..., scheduled_at=2025-12-25T10:00:00Z)
Threads 特定说明
- - 纯文本帖子:Threads 是少数支持纯文本帖子的平台之一
- 轮播限制:最多 20 张图片(Instagram/Facebook 为 10 张)
- 令牌:60 天有效期,到期前 5 天自动刷新
- 速率限制:每个用户每小时 250 次调用
- 权限:threadsbasic、threadscontentpublish、threadsmanage_replies
错误处理
| 错误 | 解决方案 |
|---|
| TextTooLong | 使用 boringpublishthread 拆分为串文 |
| InvalidCarouselSize |
轮播需要 2-20 张图片 |
| TokenExpired | 在 boring.aiagent-me.com 重新连接(由于自动刷新,很少发生) |
| MediaTooLarge | 图片最大 8MB,视频最大 512MB |
文档
完整 API 文档:boring-doc.aiagent-me.com