Back to all releases

v1.15.0

Platform

// August 19, 2026

See and control your pay-as-you-go bill, read MCP connections end to end, and stay connected to Platform MCP

Pay-as-you-go organizations can now watch the bill take shape instead of waiting for the invoice. Billing shows the current cycle as it accrues, with the estimated total, subscription controls, separate spend caps for Security and Other inference, and a billing contact alongside. MCP Connections becomes a graph you can read in either direction, a person's agents or an agent's people, split into active and inactive rows with a status dot on each. Platform MCP connections now survive token expiry without a fresh sign-in, and the assistant answers setup questions from reviewed guides with citations. For organizations on the MCP approval rollout, a research agent investigates a server on request, and approved servers are re-checked daily for permission changes.

Features

  • Your pay-as-you-go bill, before it arrives #5371 - Billing shows the current cycle for pay-as-you-go organizations: tokens under management and their flat-rate cost, Other inference spend through the last completed day, and the estimated invoice total once Stripe billing has started. The monthly Other inference meter now says plainly that it runs on the calendar month. Behind it, tokens-under-management usage reports to Stripe from durable hourly snapshots (#5345), Other inference spend bills through durable invoice allocations that freeze after 48 hours and carry corrections forward after a 72-hour observation window (#5351), and billing cycles align to UTC midnight (#5340). (Author: @danielkov)
  • Manage the subscription yourself #5370 - Organization admins see live subscription status on Billing, open a controlled customer portal, and cancel or resume at the end of the period. If the subscription lapses, pay-as-you-go admission closes and the Other inference key is disabled, with later billing events reconciled against the organization's current state (#5363). (Author: @danielkov)
  • Billing problems surface where they're felt #5372 - A failed payment now heads the billing page with a direct link into the Stripe portal, and an organization that has reached a monthly inference cap gets a banner on every page naming what stopped, with a link straight to that cap's control. (Author: @danielkov)
  • Separate caps for Security and Other inference #5368 - Pay-as-you-go admins view and set an independent monthly cap for each platform-managed inference key. Each change updates only the selected key, survives lifecycle reconciliation, and records a per-key audit event. Spend alerts re-arm after an explicit cap change while still deduplicating when reconciled provider limits fluctuate (#5369). (Author: @danielkov)
  • A billing contact and the emails that reach it #5366 - Pay-as-you-go admins can set or clear a billing notification email. When none is set, weekly usage summaries and spend alerts go to every organization admin. Activating pay as you go sends a confirmation that states the metered rate, which inference is billed at provider cost, and which is funded by Speakeasy (#5445). A reminder goes out three days before an eligible trial ends, and billing contacts hear when subscription loss or a trial demotion pauses access (#5367). (Author: @danielkov)
  • MCP Connections reads as a graph #5392 - A row names a person, provider, or agent, and opening it shows the nodes on the other side, a person's agents or an agent's people, on the same columns. Rows are ordered by when they last carried traffic and split into active and inactive connections (dormant for over a week, or no longer usable), and inactive ones stay visible and revocable instead of being filtered away. The same list renders on the MCP server detail tab and the employee page. Each row leads with a status dot, green live, amber expiring, red needs re-auth, grey idle or revoked, and the OAuth client on the other side is now called an agent throughout; the organization page moves from /user-sessions to /mcp-sessions (#5441). For API consumers, userSessions.listUserSessions now returns each session's last_used_at and its upstreams, the remote sessions the platform holds for the same subject and issuer, so both legs of a brokered connection come back from one call (#5390). (Author: @adaam2)
  • Platform MCP stays connected #5373 - Platform MCP clients no longer send you back through authorization every time a short-lived access token expires. One-hour access tokens rotate through refresh tokens with a 30-day sliding idle window and a 90-day authorization cap, and the dashboard shows clear reconnect guidance when an authorization expires or is revoked. (Author: @TristanSpeakEasy)
  • Setup guides and cited docs search in Platform MCP #5490 - Reviewed provider setup guides are served as Platform MCP resources, and a new search_gram_docs tool answers from that pinned corpus with cited excerpts and links back to the full guide. Content past its revalidation date is flagged, then withheld, and a question nothing reviewed can answer returns guide_unavailable instead of invented steps. Citations render in the assistant as passages with resource links. Organizations that haven't enabled Platform MCP now see a dismissible setup recommendation in empty states and organization navigation, routed into the resumable setup flow (#5380, @TristanSpeakEasy). (Author: @adaam2)
  • Catalog servers keep their icons #5042 - Installing a server from the catalog now stores the registry's icon and shows it in the server detail sidebar and collection listings instead of a generic placeholder. Remote servers with no catalog icon get the vendor's favicon by default. (Author: @AshGodfrey)
  • Assign plugins to directory groups and attribute values #5488 - Organization admins can target active directory groups and exact directory attribute values as plugin assignment audiences, listed alongside Everyone and organization roles from one plugins.listAudiences call. (Author: @tgmendes)
  • Requesters say why they need a server #5198 - A blocked employee's request page now redeems the block link into a short form instead of filing the ask the moment it loads, and the justification carries onto the review as the requester's note. Previously every note was the policy's block reason, so "who asked, and why" told a reviewer nothing about any individual ask. Rolling out with the approval feature. (Author: @daviddanialy)
  • Approved MCP servers are re-checked daily #5198 - A daily sweep re-gathers evidence for approved servers and compares the permission-relevant slice (OAuth scopes, authority mode, demanded credentials, published advisories) against the snapshot the approval rested on. Drift sets a changed-since-approval flag that only a new decision clears, announces once per distinct change through the audit-log webhook channel, and shows as a diff banner on the review page and a badge on the inventory (#5196). The review page is also condensed so a full dossier fits in far less scrolling, with observed traffic joining the evidence as "Who is currently using it?". Rolling out with the approval feature. (Author: @daviddanialy)
  • Research an MCP server on request #5158 - A Run Research button on the approval page starts a bounded agent run over cited web search and page fetch (#5147) and renders the report: a summary, an independent-coverage level, and tiered claims where every web-sourced claim carries its citations or is dropped. Every fetched page passes through a prompt-injection judge, and a page that tries to steer the reviewer is recorded as a finding on the report rather than only defended against. At most one run per request is in flight, and research spend is not billed to your organization today. Rolling out with the approval feature. (Author: @daviddanialy)
  • Per-user device, risk, and shadow MCP lookups #5499 - The lookups an identity view needs: deviceIntegrations.listManagedDevices takes user_ids and user_emails, risk.listResults takes external_user_ids matched whole rather than as a substring, and access.listShadowMCPInventoryServersForUser returns the shadow MCP servers one person reached, with work and personal addresses resolving to the same subject. (Author: @adaam2)
  • Identity providers link to their detail page #5463 - Remote identity providers listed on an MCP server's Authentication settings are now links, so reaching a provider no longer means finding it again from the Remote Identity Providers page. (Author: @aa-wong)
  • MCP 2026-07-28 protocol revision #5408 - Every result the hosted and platform MCP surfaces return now carries the resultType field the revision requires and identifies the responding server under io.modelcontextprotocol/serverInfo in _meta, filled only when an upstream server hasn't already supplied them. MCP observability keys on each request instead of the initialize handshake the revision removes, and the MCP-Protocol-Version header no longer leaks into tool environment variables (#5396). (Author: @bflad)
  • Platform admin: MCP server counts and reworked organization views #5426 - Visible to platform operators only. The admin projects list reports how many MCP servers each project has, and the organization record's Projects and Members views gain counts, monograms, and a "Never" for members who haven't signed in (#5428). Staff-only chat analysis settings are scoped to the organization selected in each request (#5461). (Author: @walker-tx)
  • Internal #5425 - Privacy-safe telemetry for durable Platform MCP authorization, with the operational dashboard, monitor, and revocation-probe contract documented (@TristanSpeakEasy). Stripe webhook events from newer API versions are accepted within the compatible release train (#5364, @danielkov). Function templates use newer MCP SDK and Inspector versions (#5417, @dependabot). (Author: @TristanSpeakEasy)

Bug fixes

  • Sign-in redirects stay on the dashboard #5244 - Post-login redirect targets that a browser could read as another origin are rejected and fall back to the default sign-in destination. (Author: @qstearns)
  • Trial limits end when the trial does #5424 - The trial credit cap holds until the trial is demoted rather than the moment its window closes, so a first key minted in the gap no longer receives the enterprise ceiling. Session capture, logs, tool I/O logs, and Platform MCP now stop when a trial is demoted and return when it's re-armed or converted to pay as you go (#5454). (Author: @alx-xo)
  • Resource reads attribute to the right server #5448 - MCP resources/read requests record the server URL in billing telemetry and logs instead of the session id, so the MCP URL filter is no longer polluted with random UUIDs. (Author: @bflad)
  • Tool call annotations no longer flash as chat prose #5491 - The short activity phrase the assistant emits before a batch of tool calls is held until the tool group opens instead of rendering as a paragraph and then jumping into the heading. (Author: @adaam2)
Sagar Batchu
Sagar Batchu
View on GitHub