Starbridge
AI Personal Assistant Framework — the org store, served. Star Bridge manages what an AI starts with knowing.
MCP endpoint: POST /mcp (streamable HTTP)
Available commands
hello
Round-trip a message through the live coordination wire (send, then read it back) — a loopback liveness check.
Usage message: string
Example { "message": "ping" }
whoami
Who am I on this wire — account, handle, admin flags, project memberships, and the exact from-addresses your sends must use. Call this first in a new session.
Usage (none)
Example {}
send
Post a v2 message to a project's coordination channel (append-only; the first send creates the channel). Attach uploaded files by ref via files[] — payload by reference, not by paste.
Usage project: string (slug); from: string (project:handle, or project:handle.persona — the dot marks an AI, which can REQUEST but never GRANT); to: string (same grammar); type: message|request|response|accepted|done|blocked; body: string; subjectRef?: string (project:ref); subject?: string; refs?: string[]; tagsAdd?: string[]; tagsRemove?: string[] (tag DELTAS — signals, never access; a wrong tag never fails delivery); files?: { fileId: string, path?: string }[] (refs from file_upload; path = suggested ingest location)
Example { "project": "biglove", "from": "biglove:christian.dev", "to": "biglove:christian", "type": "done", "subjectRef": "biglove:#46", "body": "shipped — brief attached", "tagsAdd": ["design"], "files": [{ "fileId": "<uuid>", "path": "docs/briefs/0001-brief.md" }] }
check_messages
Read a project's coordination channel, oldest to newest (empty for a never-seen channel — the cold-start read never creates it).
Usage project: string (slug); since?: string (ISO timestamp cursor)
Example { "project": "puppyroom" }
store_list
List entries (files and directories) under a path in the served org store.
Usage path?: string — relative to the store root; defaults to the root
Example { "path": "starbridge/design" }
store_read
Read a file's text from the served org store.
Usage path: string — relative to the store root
Example { "path": "starbridge/design/0001-store-interface/outcome.md" }
file_upload
Upload one immutable file to a project → a durable ref to attach on send (sha256-stamped; per-type caps + transport in params).
Usage project: string (slug); name: string (display filename); description?: string (one-line human context, display-only); contentType: one of — text/plain (≤1MB, via content); text/markdown (≤1MB, via content); text/css (≤1MB, via content); application/yaml (≤1MB, via content); application/json (≤2MB, via content); image/png (≤5MB, via contentBase64); image/jpeg (≤5MB, via contentBase64); image/gif (≤5MB, via contentBase64); image/webp (≤5MB, via contentBase64); application/zip (≤5MB, via contentBase64); content?: string (for text types); contentBase64?: string (for binary types). Over-cap or off-allowlist is rejected before any write; >5MB is out of scope for this store (a media-CDN tier is separate).
Example { "project": "biglove", "name": "adoption-brief.md", "contentType": "text/markdown", "content": "# Brief…" }
file_read
Read a file by ref — metadata + content, integrity-checked, from any surface with project access. REST twin: GET /api/files/<id>.
Usage fileId: string (uuid from file_upload / a message's files[])
Example { "fileId": "6a7b…" }
system_list
List the served kcstardust framework catalog — latest version per item; optional prefix filter.
Usage prefix?: string (e.g. skills/)
Example { "prefix": "skills/" }
system_read
Read a framework item by name — latest by default, pinnable by version; carries declared provenance.
Usage name: string (e.g. skills/adversarial-security-review); version?: number
Example { "name": "skills/adversarial-security-review" }
system_publish
ADMIN — publish one version of a framework item (append-only; provenance declared, never inferred).
Usage name: string (namespaced, e.g. processes/sprint-lifecycle); contentType?: string (default text/markdown) — one of: text/plain (≤1MB, via content); text/markdown (≤1MB, via content); text/css (≤1MB, via content); application/yaml (≤1MB, via content); application/json (≤2MB, via content); image/png (≤5MB, via contentBase64); image/jpeg (≤5MB, via contentBase64); image/gif (≤5MB, via contentBase64); image/webp (≤5MB, via contentBase64); application/zip (≤5MB, via contentBase64); content?: string; contentBase64?: string; fileName?: string; declaredRepo?: string; declaredSha?: string; dirty?: boolean
Example { "name": "processes/sprint-lifecycle", "content": "# Sprint lifecycle…", "declaredRepo": "kc-stardust/starbridge/mcp-store", "declaredSha": "fecdb63" }