mcpField
S
subspace-api

subspace-api

ローカル
subtype.space開発ツール02 週間前に更新

subspace-api について

subspace-api は subtype.space と TRMNL ユーザー向けの Express API および MCP サーバーです。README では TRMNL プラグインサービス、OAuth 設定、地下鉄・フライト追跡プラグインに必要な設定を説明しています。

主な機能

  1. 01TRMNL プラグイン向けサービス
  2. 02Docker または手動ビルド
  3. 03TRMNL OAuth 認証情報の設定
  4. 04地下鉄プラグイン用 WMATA 設定
  5. 05フライト追跡プラグインの設定

活用シーン

  1. 01TRMNL プラグインサービスのデプロイ
  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 プラグイン(metro または flight tracker)を実行する場合は、以下が必要です。

環境変数必須目的
TRMNL_CLIENT_IDはいTRMNL がプラグイン用に提供する OAuth 2.0 クライアント ID
TRMNL_CLIENT_SECRETはいTRMNL_CLIENT_ID に対応する OAuth 2.0 クライアントシークレット
WMATA_PRIMARY_KEYmetro プラグインの場合DC Metro の到着予測とインシデント情報を取得する WMATA API キー
TRMNL_FLIGHTS_CLIENT_IDflight プラグインの場合TRMNL flight tracker プラグイン用の OAuth 2.0 クライアント ID
TRMNL_FLIGHTS_CLIENT_SECRETflight プラグインの場合TRMNL_FLIGHTS_CLIENT_ID に対応する OAuth 2.0 クライアントシークレット
AERODATABOX_API_KEYflight プラグインの場合AeroDataBox 用の RapidAPI キー(リアルタイムのフライト状況データ)
TRMNL_DB_PATHいいえSQLite データベースファイルへのパス(デフォルト:./trmnl.sqlite)
TRMNL_IP_ALLOW_PRIVATEいいえtrue に設定すると、TRMNL worker の IP 許可リストチェックを回避します(ローカル開発に便利です)

リリース

注:リリースは CLAUDE.md の指示に従うエージェントによって実施されます。タグの管理やクリーンアップも含めて任せる方が簡単です。 開発者による更新はすべて dev ブランチで行ってください。プルリクエストは、現在有効なバージョン(v1 など)に対して作成してください。有効なバージョンのブランチにマージした後、そのブランチにタグをプッシュしてリリースを「カット」する必要があります。

AI に関する開示

このプロジェクトの一部では、実装例の提供に Claude Code を活用しました。 コードベースの一部は、効率向上のための Claude Code による提案をもとにリファクタリングされました。 特に記載のない限り、コードベースの大部分は手作業で書かれています。OAuth 2.0 仕様の実装の一部では LLM の支援を受けました。 TRMNL Flight Tracker の計算ロジックの一部、および情報表示にも LLM の支援を受けましたが、何もないところから生成したわけではありません。

これらの LLM の出力の正確性、実装の詳細、方向性を確認する責任は subspace にあります。

付録

コードのスタイル(特にコメントのスタイル)は統一されていません。これは AI によるものではなく、Intellisense を使った怠慢と /** ドキュメントを楽しみすぎたことが原因です。

免責事項とフェアユース

この flight tracker には、さまざまな航空会社や航空事業者のロゴとバナーが含まれています。

フェアユースに関する通知: これらの画像は、それぞれの所有者(航空会社および事業者)の所有物です。ここでは、教育および識別のみを目的として提供しています(例:フライト追跡アプリケーションで航空会社を識別するため)。

  • この使用は、非商用であり、変形的な利用(識別のために集約)で、所有者がブランドから利益を得る機会を妨げないため、著作権法上のフェアユースとみなされます。
  • このリポジトリは、商標や著作物の所有権を主張しません。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。