$HEADLESS SYSTEMS
03 / Scorecard / Communications

Stream

B
Headless Index
67/100
JAIRF
N/A
Verified
AUG 20, 2026
Methodology v1 · JAIRF v1.0.0

Powered by JAIRF v1.0.0 by Jentic · open methodology at /the-headless-index/methodology

Stream earns Band B in the Communications category of The Headless Index, with a thesis-fit score of 67/100. Its strongest dimension is API-first design intent (16/20); its weakest scored dimension is MCP and agent posture (5/20). No public OpenAPI specification was found when Stream was scored, which limits how far an agent can go without human integration work.

Editorial verdict
Stream is solidly built for programmatic consumption. The Headless Index thesis-fit score of 67/100 lands it in the upper-middle of the index, and JAIRF is recorded as N/A for this vendor because no public OpenAPI specification was reachable for the open-source scorer. In practice, vendors at this tier ship most of the primitives agents need, with one or two surfaces still leaning on documentation rather than discovery, and the rest of this verdict explains where Stream lands inside that pattern. On the API surface, the question is whether the API is the product or a layer beneath the dashboard. Stream sells an API and layers optional UI kits on top, which is the right order. Server calls hit one host (chat.stream-io-api.com) authenticated with JWTs signed by the app secret, and the server libraries are broad (stream-chat-js, stream-python, stream-php, stream-ruby, stream-sdk-java). An agent can drive this product across most practical workflows, with a handful of edges where documentation reading still beats schema discovery. On headless operability: Application settings, channel types, roles and permissions, moderation blocklists and campaigns are all writable endpoints (/app, /channeltypes, /blocklists, /campaigns), so the dashboard is a view over the same contract rather than a privileged path. Missing is everything around the API: no CLI, no Terraform provider, no self-host option, so environment promotion is a script you write.[1] On the MCP and agent-integration axis, which is the fastest-moving criterion in the index: Stream publishes a steady run of MCP explainers on its blog (getstream.io/blog/what-is-mcp-infrastructure, getstream.io/blog/voice-agents-mcp-platforms) and has shipped no MCP server for its own API. Nothing in the github.com/GetStream organisation matches, and no registry entry exists. Writing the category commentary while leaving your own chat and video platform unreachable to agents is a conspicuous gap.[2] Event posture closes the loop: an agent that cannot react to state changes is reduced to polling. The event model is the product's spine and it is documented as such (message.new, message.updated, reaction.new, channel.created, user.presence.changed). Deliveries are signed with HMAC-SHA256 over the raw body using the app secret and sent in X-Signature, and SQS or SNS are supported as alternative sinks for durability. No replay API, so backfill means querying the channel. Net assessment: Stream can be operated by agents for the majority of practical workflows. The closest thing to a gap is MCP posture[3], which integrators should sanity-check against their own use case before committing. Strong fit for agent-driven use cases.
Verdict by Headless Index pipeline (auto)
// AI-drafted from the evidence layer. Editorial review pending.
Scores

Scorecard detail

Headless Index · 5 sub-criteria
API-first design intent16/20
scored

Stream sells an API and layers optional UI kits on top, which is the right order. Server calls hit one host (chat.stream-io-api.com) authenticated with JWTs signed by the app secret, and the server libraries are broad (stream-chat-js, stream-python, stream-php, stream-ruby, stream-sdk-java). Much of the public repository weight is React and mobile components, which understates how complete the server tier is.

signals (6)
  • +AI review appliedReviewer: Editorial review on 2026-08-19
  • OpenAPI specNot found across 17 probe paths
  • ·GraphQL endpointDiscovered at https://getstream.io/graphql, introspection disabled or scoped
  • +SDKs maintained11 (java, javascript, kotlin, swift, typescript); top by stars: GetStream/stream-chat-android (1647 stars)
  • +SDK recency10 of 11 SDK repos pushed within 30 days (most recent SDK commit: 2026-08-19)
  • +npm weekly downloads478.2k across published packages; top: stream-chat-react @ 237.6k/week
cite (1)
  • github.sdks@2026-08-19
Headless operation14/20
scored

Application settings, channel types, roles and permissions, moderation blocklists and campaigns are all writable endpoints (/app, /channeltypes, /blocklists, /campaigns), so the dashboard is a view over the same contract rather than a privileged path. Missing is everything around the API: no CLI, no Terraform provider, no self-host option, so environment promotion is a script you write.

signals (9)
  • +AI review appliedReviewer: Editorial review on 2026-08-19
  • API operations exposedNo OpenAPI spec; operations count unknown
  • ·Docs pages crawled0 pages (crawler: none)
  • ·Auth schemes documentedAuth documentation page not reached by crawler
  • ·Setup / quickstart docsNot reached by crawler
  • ·Billing docsNot reached by crawler
  • ·Teams / org docsNot reached by crawler
  • ·CLI docsNot reached by crawler
  • ·Schema / data model docsNot reached by crawler
cite (1)
  • ai_review_browser.topics_found@2026-08-19
MCP & agent posture5/20
scored

Stream publishes a steady run of MCP explainers on its blog (getstream.io/blog/what-is-mcp-infrastructure, getstream.io/blog/voice-agents-mcp-platforms) and has shipped no MCP server for its own API. Nothing in the github.com/GetStream organisation matches, and no registry entry exists. Writing the category commentary while leaving your own chat and video platform unreachable to agents is a conspicuous gap.

signals (4)
  • +AI review appliedReviewer: Editorial review on 2026-08-19
  • Official MCP serverNone found in vendor's GitHub org or the official MCP registry
  • Community MCP serversNone found
  • +Agent-friendly SDKs7 TS/JS SDKs available; top: api (110.4k/week downloads)
cite (1)
  • ai_review_browser.mcp@2026-08-19
Schema observability16/20
scored

The contract is public and machine-readable, just not where you would look. A dedicated repository carries per-product specs (github.com/GetStream/protocol, openapi/chat-openapi.yaml with 134 paths, openapi/video-openapi.yaml, openapi/clientside-api.yaml) plus Twirp protobufs for video socket events. The README even gives the generator command. None of this is linked from the main documentation, which is why crawlers miss it.

signals (3)
  • +AI review appliedReviewer: Editorial review on 2026-08-19
  • OpenAPINot discovered across 17 standard probe paths
  • ·GraphQL introspectionGraphQL endpoint at https://getstream.io/graphql but introspection is disabled, scoped, or behind authentication
cite (1)
  • ai_review_browser.schema@2026-08-19
Webhooks & events16/20
scored

The event model is the product's spine and it is documented as such (message.new, message.updated, reaction.new, channel.created, user.presence.changed). Deliveries are signed with HMAC-SHA256 over the raw body using the app secret and sent in X-Signature, and SQS or SNS are supported as alternative sinks for durability. No replay API, so backfill means querying the channel.

signals (2)
  • +AI review appliedReviewer: Editorial review on 2026-08-19
  • ·Webhook docs pageNot reached by crawler within budget (0 pages crawled). Cannot confirm whether vendor offers webhooks.
cite (1)
  • ai_review_browser.pages_fetched@2026-08-19
JAIRF · 6 dimensions
JAIRF · N/A

This vendor does not publish a public OpenAPI specification. JAIRF cannot be computed. The Headless Index score and editorial verdict carry the readiness assessment.

No public OpenAPI specification discovered during collection

Powered by JAIRF v1.0.0 by Jentic

Band rationale:B band: JAIRF=N/A HeadlessIndex=67

04 / Embed

Show Stream's score on your site.

Drop a live badge into your README, footer, or marketing page. It updates automatically when we re-score, and every embed is a dofollow link back here.

FAQ

Stream and agent readiness

Is Stream agent-ready?
Stream scores Band B on The Headless Index. Its JAIRF rating is not available because no machine-readable spec was scored. Its strongest area for agent use is API-first design intent; its weakest is MCP and agent posture.
Does Stream publish an OpenAPI spec?
No published OpenAPI specification was found when Stream was scored. That caps its JAIRF dimensions and forces agents to rely on documentation or reverse engineering to operate it.
What is Stream's Headless Index score?
Stream scores 67/100 on the Headless Index thesis-fit rubric and sits in Band B in the Communications category. The score weighs API-first design, headless operation, MCP and agent posture, schema observability, and webhooks.