Threads内容发布服务

一个基于.NET 8的MCP服务器,用于通过Threads API发布内容到Threads平台,支持OAuth认证、内容发布和双模式操作。

  • by tttn13
  • C#
  • 本地部署
  • 更新于
在 GitHub 查看 tttn13/ThreadsMcpServer

使用说明

ThreadsMcpNet

A.NET 8 MCP(模型上下文协议)服务器,用于通过线程API向线程发布内容。

特性

  • MCP服务器集成:将Threads API功能展示为AI助手的MCP工具
  • OAuth身份验证:线程的安全登录流
  • 内容发布:创建文本帖子并将其发布到Threads
  • 双模式操作:
    • 标准模式:作为Claude Desktop或其他MCP客户端的MCP服务器运行
    • HTTP模式:作为具有REST端点的web服务器运行
  • Redis缓存:存储身份验证令牌和会话数据
  • 云就绪:已配置为部署到Google Cloud Run

先决条件

  • .NET 8.0 SDK
  • Redis服务器(本地或远程)
  • 线程API凭据(应用程序ID、应用程序机密)

配置

  1. 复制 .env.example 到 .env:
cp .env.example .env
  1. 更新 .env 使用您的凭据文件:
HOST=https://graph.threads.net/
APP_ID=your_threads_app_id
APP_SECRET=your_threads_app_secret
REDIRECT_URI=your_redirect_url
Redis__Host=your_redis_host
Redis__User=your_redis_user
Redis__Password=your_redis_password
Redis__Database=0

安装

dotnet restore
dotnet build

用法

作为MCP服务器运行(标准模式)

用于Claude Desktop或其他MCP客户端:

dotnet run -- --mcp

添加到您的Claude Desktop配置(claude_desktop_config.json):

{
  "mcpServers": {
    "threads": {
      "command": "dotnet",
      "args": ["run", "--project", "/path/to/ThreadsMcpNet", "--", "--mcp"]
    }
  }
}

作为Web服务器运行(HTTP模式)

dotnet run

服务器将从端口8080(或由指定的端口)启动 PORT 环境变量)。

可用工具

当作为MCP服务器运行时,将公开以下工具:

LoginToThreads

启动对Threads的OAuth登录。在用户的默认浏览器中打开身份验证URL。必须在发布帖子之前完成。

CreateAndPublishPost

创建文本帖子并将其发布到Threads。

参数:

  • content (string):要发布的帖子内容

API终点

在HTTP模式下运行时,以下端点可用:

  • GET /init -服务器状态页面
  • GET /login -启动OAuth登录
  • GET /callback -OAuth回调处理程序
  • GET /api/me -获取当前用户信息
  • POST /api/post -创建并发布帖子(查询参数: input)
  • /mcp -MCP协议端点

项目结构

  • Program.cs -主要应用程序入口点和配置
  • AuthService.cs -OAuth身份验证逻辑
  • ApiService.cs -线程API集成
  • RedisCache.cs -Redis缓存实现
  • FileCache.cs -基于文件的缓存回退

依赖项

  • 模型上下文协议 -MCP服务器实现
  • 模型上下文协议。AspNetCore -ASP。NET核心集成
  • StackExchange。瑞迪斯 -Redis客户端
  • Dotnetease -环境变量加载
  • 系统。文本。JSON -JSON序列化

部署

该项目已配置为Google Cloud Run部署。看 buid-push.sh 用于构建和部署脚本。

许可证

麻省理工学院