Skip to content

server@2.23.0

Choose a tag to compare

@gram-bot gram-bot released this 13 Oct 18:09
· 740 commits to main since this release
8ad4eec

Minor Changes

  • 7bba475: Uploading a new version of an OpenAPI source now starts with a review of what it changes for your MCP servers. The review lists breaking changes and changes that need a look, such as removed tools, new required inputs, and new or removed credentials. It also shows which MCP servers use the source and how many of their tools are affected, all before anything deploys. Two new deployment endpoints back this: deployments.evaluateOpenAPIv3 compares an uploaded document with the deployed version without deploying it, and deployments.evaluation compares a deployment with the one before it.
  • cc470a8: Start a new risk policy from a use case or a plain-language description: pick a use case from the catalog, or describe the risk and review the drafted policy before the wizard opens prefilled. The Platform MCP can list the use cases, suggest a policy from a description, and create a policy from a use case.
  • 5976f84: Add remoteSessions.getServerIdentityImpact, which previews the MCP servers and gateways a client binding change on a user session issuer would affect, across every project in the organization for an organization-level issuer. Each server is classified as repoint, clear or resignin from the clients its own project can see, and each gateway as client_removed when it loses a provider client. The preview applies the same refusals as the commit, including the refusal to bind or unbind an organization-level client on an organization-level issuer, and treats clients of a deleted provider the same way. It requires the access the change itself needs. Servers the caller cannot read are only counted, and when the change touches an organization-level client every unreadable server on the issuer is counted.

Patch Changes

  • fd07403: Agent Identity management, agent API keys, agent selection during MCP authorization, workload sessions, and assistant workload identity are available to every organization instead of being gated behind rollout feature flags.

  • f442e67: The enabled MCP server count behind the billing meter, the usage display and first-server auto-enable reads hosted servers from their mcp_servers wrapper, falling back to the toolset flag for a hosted server that has no wrapper yet. Counts are unchanged while a wrapper matches its toolset, which every write keeps true.

  • 79569cf: MCP install page metadata for a hosted server is found whether its record is keyed by the toolset or by the toolset's canonical MCP server, so the install page, the MCP runtime, and plugin generation keep working once records move onto the MCP server. Saving metadata updates the existing record under its current key and never creates a second one. setMcpMetadata accepts mcp_server_id alongside toolset_slug when it is that toolset's canonical server, and exportMcpMetadata accepts mcp_server_id (its mcp_slug is now optional).

  • 14cb358: Plugin publishing now reads hosted MCP plugin entries through one path, whether an entry is keyed by its toolset or by the toolset's own MCP server. Entries keep their published URLs under either key. A hosted MCP server keyed by its server now also carries the toolset's environment headers. A plugin can no longer hold the same hosted MCP under both keys. Renaming a toolset now renames its plugin entries, and deleting a toolset now removes them. The dashboard shows a hosted MCP's plugin entries under either key.

  • 8554a57: Assistants resolve hosted (toolset-backed) MCP servers attached either way through one path, so a server is never dialed twice. Responses keep listing hosted servers under toolsets. A hosted server sent by its server slug in mcp_servers is attached, and the onboarding agent's attach_mcp_server accepts a toolset_slug, with attach_toolset kept as an alias.

  • 051c962: Add storage for an organization's Speakeasy enterprise-managed authorization issuer and for which identity providers each downstream vendor may use, in order.

  • 5976f84: Recheck shared identity binding permissions after acquiring mutation locks. Keep the identity chaining client selector fixed while a change is pending, and clarify the warning when removing the last upstream provider.

  • 5976f84: Identity chaining preparation now reports manual_setup_required for public clients (token_endpoint_auth_method none), since ID-JAG redemption is limited to confidential clients. attachUserSessionIssuer and detachUserSessionIssuer now refuse to bind or unbind an organization-level client on an organization-level user session issuer from a project, as the identity commit already did, because that binding is shared by every project's servers.

  • 5976f84: Identity chaining client registration always requests the JWT-bearer grant. When the provider's metadata advertises authorization_code (and a code response type), it also sends redirect_uris (the remote login callback), response_types: ["code"], authorization_code and, if advertised, refresh_token; providers that support only JWT bearer get a JWT-bearer-only registration as before. The callback origin is recorded on the new client like interactive registrations. Providers that require redirect URIs accept the registration, and the client can complete the one-time owner approval some providers require through a normal sign-in. When a provider's registration response omits its grants, the binding stays "unknown grants" and the remediation now tells the administrator to check that the client allows JWT-bearer (and any owner approval) before confirming its grants.

    Logs now include the provider's error_description for failed identity chaining exchanges and redemptions, and the error and error_description of rejected registrations, sanitized and capped. This text is never returned in API responses or written to audit rows.

    Token endpoint calls for identity chaining and client credentials, and identity chaining registration, send a Speakeasy-Gram/1.0 User-Agent. The remote MCP proxy still forwards the caller's User-Agent and sends Speakeasy-Gram/1.0 only when the caller sent none.

  • 63adea1: The Project Assistant now uses the latest built-in instructions in projects where it was set up earlier, so it refers to the platform as Speakeasy. Instructions that a project has edited are kept.

  • a789039: Streams skip the lake consumer when Pub/Sub is emulated and no lake bucket is mapped, so preview environments start instead of exiting.