subspace-api

subtype-space/subspace-api

3.2

If you are the rightful owner of subspace-api and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

subspace-api is an express-based RESTful API and Model Context Protocol (MCP) server.

ko-fi

subspace-api

subspace-api is an express-based RESTful API and stateless Model Context Protocol (MCP) server.

If you are utilizing this API provided and hosted by us, please be sure to abide by the TOS. Otherwise, you are free to clone and self host provided you abide by the GNU GPLv3 license, and the TOS will not pertain to you!

Getting Started

With Docker (preferrably compose)

Building your own image

docker compose build && docker compose up -d

Pulling from stable releases

docker compose pull && docker compose up -d

Manual build

Single line start, attached

npm run build && npm run start

Setting up your .env

Env varPurpose
ACTIVE_VERSIONDefaults to 'v1', currently not implemented fully.
ACTIVITY_DISCORD_CLIENT_IDUsed for Discord OAuth when serving a Discord activity
ACTIVITY_DISCORD_CLIENT_SECRETUsed for Discord OAuth when serving a Discord activity
API_CLIENT_IDREQUIRED to perform token introspection. Used to communicate with Auth server
API_CLIENT_SECRETSee above.
AUTH_SERVER_URLThe authentication server for OAuth implementation
AUTH_REALM(keycloak based) the realm associated with both incoming clients, and the MCP server OAuth client
LOG_LEVELDefaults to 'info'. Set the logging level.
MCP_SERVER_URLThis sets the Protected Resource of what the incoming clients should have in their audience claim
PORTDefaults to 9595. The port for the API and MCP server to listen on.
TZ(Optional) Lets the container/logger format log messages with the machine's local time zone.

Optional .env settings for TRMNL users:

These are optional veriables that you can set for enhanced functionality.

Env varPurpose
AERODATABOX_API_KEYUsed to retrieve basic/live flight information
TRMNL_CLIENT_IDUsed for WMATA tracking
TRMNL_CLIENT_SECRETIf TRMNL_CLIENT_ID is configured, this also must be configured.
TRMNL_FLIGHTS_CLIENT_IDUsed for the Flight Tracker Plugin provided for free to TRMNL owners.
TRMNL_FLIGHTS_CLIENT_SECRETIf FLIGHTS_CLIENT is configured, this also must be configured. OAuth 2.0 spec.
WMATA_PRIMARY_KEYThe API key to use for obtaining WMATA status.

AI Disclosure

Parts of this project were assisted with OpenAI/Claude Code by having them provide examples for implementation. Some parts of the code base were refactored by Claude Code/OpenAI suggestion to improve efficiency (TS is new to me)

It is subspace's responsibilty to examine the output of these LLMs to look for accuracy, implementation detail, and direction.

Disclaimer & Fair Use

This flight tracker contains logos and banners of various airlines and aviation operators.

Fair Use Notice: These images are the property of their respective owners (airlines and operators). They are provided here for educational and identification purposes only (e.g., to identify airlines in flight tracking applications).

  • This use is considered Fair Use under copyright law as it is non-commercial, transformative (aggregating for identification), and does not impede the owners' ability to profit from their branding.
  • The repository does not claim ownership of any trademarks or copyrighted material.