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、应用程序机密)
配置
- 复制
.env.example到.env:
cp .env.example .env- 更新
.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 用于构建和部署脚本。
许可证
麻省理工学院
