zhangzhongnan928
服务介绍
Warpcast MCP 服务器
一个用于Warpcast集成的模型上下文协议(MCP)服务器,允许您使用Claude与您的Warpcast账户进行交互。
该实现现在遵循来自MCP Python SDK的FastMCP风格服务器。
功能
- 向您的Warpcast账户发布casts
- 从Warpcast读取casts
- 按关键字或标签搜索casts
- 浏览并互动频道
- 关注/取消关注频道
- 获取热门casts
Warpcast API
https://docs.farcaster.xyz/reference/warpcast/api
使用方法
当配置了Warpcast工具时,mcp-warpcast-server通常由Claude Desktop的MCP客户端自动启动。
服务器启动后,您可以要求Claude执行以下操作:
- "发布一条关于[主题]的cast"
- "阅读[用户名]最新的casts"
- "搜索关于[主题]的casts"
- "显示Warpcast上的热门casts"
- "显示Warpcast上的热门频道"
- "获取[频道]频道中的casts"
- "为我关注[频道]频道"
可用工具
此MCP服务器提供了几个Claude可以使用的工具:
- post-cast: 在Warpcast上创建一个新的帖子(最多320个字符)
- get-user-casts: 从特定用户检索最近的casts
- search-casts: 按关键字或短语搜索casts
- get-trending-casts: 获取Warpcast上当前的热门casts
- get-all-channels: 列出Warpcast上的可用频道
- get-channel: 获取有关特定频道的信息
- get-channel-casts: 从特定频道获取casts
- follow-channel: 关注频道
- unfollow-channel: 取消关注频道
设置
当配置了Warpcast工具时,Claude Desktop通常会为您启动此服务器。如果您想手动运行服务器以进行开发,则需要执行以下步骤。
-
创建Python虚拟环境(推荐使用Python 3.11或更新版本):
bash
python3 -m venv venv
source venv/bin/activate -
安装依赖项(需求包括MCP Python SDK):
bash
pip install -r requirements.txt -
提供Warpcast API令牌:
- 登录到Warpcast并打开设置 > 开发者。
- 点击创建API令牌并复制其值。
- 在您的Claude桌面配置文件的
env部分下添加WARPCAST_API_TOKEN。 - 如果手动启动服务器,您也可以在shell中导出令牌:
bash
export WARPCAST_API_TOKEN=YOUR_TOKEN
服务器在启动时会验证此变量。如果缺少此变量,将记录警告,并且授权请求将以HTTP 500错误响应。
-
(可选)手动启动服务器:
main.py中导出的app变量是使用mcp.streamable_http_app()创建的,因此它可以由任何ASGI服务器提供服务。
bash
uvicorn main:app --reload
服务器公开了上述列出工具对应的HTTP端点以及由FastMCP提供的标准/mcp端点。
与Claude Desktop一起使用
按照以下步骤从Claude的桌面应用程序访问Warpcast工具:
- 使用上面的设置说明启动服务器(或让Claude启动它)。
- 打开您的Claude配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%Claudeclaude_desktop_config.json
- macOS:
- 在
mcpServers键下添加Warpcast服务器。将路径替换为此存储库的位置:
json
{
"mcpServers": {
"warpcast": {
"command": "uvicorn",
"args": [
"--app-dir",
"/ABSOLUTE/PATH/TO/mcp-warpcast-server",
"main:app",
"--port",
"8000"
],
"url": "http://localhost:8000/mcp",
"env": {
"WARPCAST_API_TOKEN": "YOUR_API_TOKEN"
}
}
}
}
指定url告诉Claude Desktop通过HTTP使用Server-Sent Events而不是标准输入输出与服务器通信。如果你省略了 url,Claude Desktop 将默认通过标准输入和输出(stdio)进行通信,这将无法与该服务器配合使用。
- 保存文件并重启 Claude Desktop。你现在应该能在聊天输入中看到一个锤子图标,它允许你使用 Warpcast 工具。
运行测试
单元测试是用 pytest 编写的,并使用 FastAPI 的 TestClient(通过 fastapi[testclient] 安装)。
创建一个虚拟环境,安装依赖项并运行测试套件:
bash
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
make test # 或者直接使用 pytest
这些测试模拟了 Warpcast API 层,因此不需要网络连接。
MCP 兼容性
此服务器使用官方的 MCP Python SDK,并且完全兼容 Model Context Protocol。客户端可以连接到由 FastMCP 提供的 /mcp 端点,并与这里定义的工具进行交互。
许可证
本项目根据 MIT License 许可。