MCP Ultra网络显示屏控制服务器
一个基于FastAPI的MCP服务器,它与smartscreen.tv集成,允许您通过HTTP命令显示媒体、发送通知和控制播放来编程控制网络显示屏。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"ultra-mcp-ss": {
"args": [
"http://0.0.0.0:8000/mcp"
],
"command": "mcp-proxy"
}
}
}
该服务需要配置环境变量:SS_SERVICE_TOKEN、YOUTUBE_API_KEY
服务介绍
ultra/mcp-ss 是一个基于 FastAPI 的 MCP 服务器,它与 web 显示服务 smartscreen.tv 集成,允许您通过简单的 HTTP/MCP 命令以编程方式操纵屏幕(例如,显示媒体、发送通知、控制播放)。
目录
什么是 SmartScreen?
SmartScreen 是一个基于 Web 的显示服务。
可以远程控制多个显示器和位置的内容。只需将 MCP 工具添加到您的 AI 应用程序中即可。
SmartScreen 设置:
- 通过 URL 访问 SmartScreen:smartscreen.tv
- 在 Linux 上,可以通过 snapcraft 安装 SmartScreen。
- 单击左上角的菜单按钮进入设置。在这里,您可以命名设备、添加标签并设置 OnStart 和其他计划事件。
- 不要忘记在进行任何更改后点击“保存”。
- 单击SmartScreen返回主页。
ultra/mcp-ss
前提条件
- Python 3.12+
- Docker(可选,用于容器化部署)
- 从 Google 控制台设置 YOUTUBE_API_KEY 以获取 "YouTube Data API v3"
- SS_SERVICE_TOKEN 环境变量
配置
创建一个 .env 文件或导出环境变量:
- YOUTUBE_API_KEY – 您的 Google YouTube Data API v3 密钥
- SS_SERVICE_TOKEN – SmartScreen 服务令牌
示例 .env:
dotenv
YOUTUBE_API_KEY=AIzaSy...
SS_SERVICE_TOKEN=xxxxx
或导出它们:
bash
export YOUTUBE_API_KEY=AIzaSy...
export SS_SERVICE_TOKEN=xxxxx
本地运行
bash
uvicorn main:app --reload --host 0.0.0.0 --port 8000
Docker
bash
docker build -t ultra-mcp-ss .
docker run -d --name ultra-mcp-ss -p 127.0.0.1:8000:8000 ultra-mcp-ss
API 端点
基础 URL: http://127.0.0.1:8000
健康检查与搜索
HEAD /mcp– MCP 健康检查GET /search-youtube?query=...– 返回最相关的 YouTube 视频 URL
SmartScreen 命令 (HTTP)
| 端点 | 描述 |
|---|---|
| POST /drop | 将媒体 URL 放入屏幕框架 |
| POST /notify | 发送通知横幅 |
| POST /toast | 显示弹出消息 |
| POST /marquee | 显示滚动文本 |
| POST /text | 渲染静态文本覆盖 |
| POST /app | 在框架中启动 Web 应用 |
| POST /touch | 发送播放/控制命令 |
| POST /status | 查询或设置系统状态 |
| POST /dj | 执行 DJ 任务:调度、信息亭、重启、标志 |
请参阅 OpenAPI 文档 http://<host>:8000/docs 获取请求/响应模式。
MCP 工具集成FastApiMCP 会自动将所有端点作为 MCP 工具挂载在 /mcp 下。
使用您的 MCP 客户端通过名称调用工具(例如,drop、notify、toast 等)。
使用 MCP 代理为不支持 SSE 的客户端(Claude Desktop)
-
安装 mcp-proxy:
bash
uv pip install --user mcp-proxy # 对于 Python
npm install -g mcp-proxy # 对于 Node.js
pnpm add -g mcp-proxy # 对于 Node.js -
在 Windows 上:
编辑claude_desktop_config.json:
json
{
"mcpServers": {
"ultra-mcp-ss": {
"command": "mcp-proxy",
"args": ["http://0.0.0.0:8000/mcp"]
}
}
} -
在 MacOS 上:
获取mcp-proxy的路径:
bash
which mcp-proxy编辑
claude_desktop_config.json:
json
{
"mcpServers": {
"ultra-mcp-ss": {
"command": "/YOUR/PATH/TO/mcp-proxy",
"args": ["http://0.0.0.0:8000/mcp"]
}
}
}
在 Langflow 中设置 MCP-SS
要将 ultra-mcp-ss 与 Langflow 集成:
- 从 Langflow 的工具部分添加 MCP 服务器组件
- 在组件设置中启用工具模式
- 选择 SSE 模式以进行实时通信
- 输入 MCP SSE URL:
http://0.0.0.0:8000/mcp - 如果使用 Docker 运行,请使用
http://127.0.0.1:8000。 - 运行组件以建立连接
一旦连接成功,您可以在 Langflow 工作流中使用所有 SmartScreen 命令。
贡献
- 分叉仓库
- 创建功能分支
- 提交拉取请求
由 FastAPI 和 FastApiMCP 制作