mcpField
S
subspace-api

subspace-api

本地服务
subtype.space开发工具02 周前更新

关于 subspace-api

subspace-api 是为 subtype.space 和 TRMNL 用户提供服务的 Express API 与 MCP 服务。README 重点介绍 TRMNL 插件服务、OAuth 配置,以及地铁和航班追踪插件所需的设置。

主要功能

  1. 01提供 TRMNL 插件服务
  2. 02支持 Docker 或手动构建
  3. 03配置 TRMNL OAuth 凭据
  4. 04支持地铁插件的 WMATA 配置
  5. 05支持航班追踪插件配置

适用场景

  1. 01部署 TRMNL 插件服务
  2. 02配置地铁到站预测与事件数据
  3. 03配置航班状态追踪插件

MCP 相关

输入提及该项目是 MCP 服务,但未说明其向 MCP 客户端提供的具体工具或资源。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"subspace-api": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"compose"
]
}
}
}
启动命令docker run -i --rm compose

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocicompose

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

ko-fi

subspace-trmnl

subspace-trmnl 是运行 subtype 创建的 TRMNL 插件的服务。

所有 TRMNL 设备所有者均可免费使用此服务。

开始使用

使用 Docker(推荐使用 compose)

构建自己的镜像
docker compose build && docker compose up -d
从稳定版本拉取
docker compose pull && docker compose up -d

手动构建

npm run build && npm run start

环境变量

核心(可选)

环境变量默认值用途
PORT9595服务监听的端口
LOG_LEVELinfo日志详细程度(debug、info、warn、error)
ACTIVE_VERSIONv1API 版本前缀(尚未完全实现)
TZ-容器的时区,用于日志时间戳(例如 America/New_York)
PUBLIC_BASE_URL-用于构建提供静态资源的绝对 URL

TRMNL 插件设置

如果运行 TRMNL 插件(地铁或航班追踪器),则必须设置以下变量。

环境变量必填用途
TRMNL_CLIENT_ID是TRMNL 为你的插件提供的 OAuth 2.0 客户端 ID
TRMNL_CLIENT_SECRET是与 TRMNL_CLIENT_ID 配套的 OAuth 2.0 客户端密钥
WMATA_PRIMARY_KEY地铁插件必填用于华盛顿特区地铁到站预测和突发事件的 WMATA API 密钥
TRMNL_FLIGHTS_CLIENT_ID航班插件必填TRMNL 航班追踪器插件的 OAuth 2.0 客户端 ID
TRMNL_FLIGHTS_CLIENT_SECRET航班插件必填与 TRMNL_FLIGHTS_CLIENT_ID 配套的 OAuth 2.0 客户端密钥
AERODATABOX_API_KEY航班插件必填用于 AeroDataBox(实时航班状态数据)的 RapidAPI 密钥
TRMNL_DB_PATH否SQLite 数据库文件的路径(默认值:./trmnl.sqlite)
TRMNL_IP_ALLOW_PRIVATE否设为 true 可绕过 TRMNL worker IP 允许列表检查(适用于本地开发)

发布版本

注意:发布由 Agent 按照 CLAUDE.md 中的说明执行。把这项工作交给它处理,并由它维护标签和进行清理,会更轻松。 所有开发更新都应在 dev 分支中进行。拉取请求应针对当前活跃版本(例如 v1)提交。合并到活跃版本分支后,必须向该分支推送一个标签以“切出”发布版本。

AI 使用说明

本项目的部分内容借助 Claude Code 完成,Claude Code 为实现提供了示例。 Claude Code 还提出建议,对代码库的部分内容进行了重构,以提高效率。 除非另有说明,代码库大部分由手工编写。OAuth 2.0 规范的部分实现得到了大模型的协助。 TRMNL Flight Tracker 逻辑中有关计算的部分得到了大模型的协助,信息展示也是如此,但并非凭空生成。

subspace 有责任检查这些大模型的输出,确保其准确性、实现细节和方向正确。

附录

代码风格(尤其是注释风格)非常不统一。这不是 AI 造成的,只是因为使用 Intellisense 时比较懒,也太喜欢用 /** 编写文档。

免责声明与合理使用

此航班追踪器包含多家航空公司和航空运营商的徽标与横幅。

合理使用声明: 这些图片归各自所有者(航空公司和运营商)所有。此处提供这些图片仅用于教育和识别目的(例如,在航班追踪应用中识别航空公司)。

  • 根据版权法,这种用法属于合理使用,因为它是非商业性的、具有转换性(汇总信息以便识别),并且不会妨碍所有者通过其品牌获利。
  • 本仓库不主张拥有任何商标或受版权保护的材料。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。