Skip to content

Add egress tracking directly in mcp_root - #5793

Merged
clockwork-tien merged 2 commits into
masterfrom
tien/feat/egress-mcp-root
Aug 31, 2026
Merged

Add egress tracking directly in mcp_root#5793
clockwork-tien merged 2 commits into
masterfrom
tien/feat/egress-mcp-root

Conversation

@clockwork-tien

@clockwork-tien clockwork-tien commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Description of Changes

Related PR #5775
Closes #5789

  • Add egress tracking directly in mcp_root
    • Implement counting egress bytes for calls that go through mcp_root (host-wide MCP route), since egress middleware resolves database from the URL path, while mcp_root names its database in a tool argument inside the request body which path based middleware can not see.

API and ABI breaking changes

None.

Expected complexity level and risk

2

Testing

  • I tested the implementation, tests, lint and format checks passed

@joshua-spacetime joshua-spacetime left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@clockwork-tien
clockwork-tien added this pull request to the merge queue Aug 31, 2026
Merged via the queue into master with commit cfec96e Aug 31, 2026
79 of 80 checks passed
tapeshchavle pushed a commit to tapeshchavle/SpacetimeDB that referenced this pull request Sep 2, 2026
jonahsnider Bot added a commit to jonahsnider/homebrew-tap that referenced this pull request Sep 5, 2026
Created by `brew bump`

---

Created with `brew bump-formula-pr`.<details>
  <summary>release notes</summary>
  <pre>## Features

### C# NativeAOT monomorphized dispatch

Generated C# module exports now dispatch directly to statically-known
generic entrypoints for reducers, procedures, HTTP handlers, views, and
anonymous views when building with NativeAOT-LLVM. This eliminates
virtual dispatch overhead at the module boundary and improves NativeAOT
module performance.

([#5610](<clockworklabs/SpacetimeDB#5610>))

### MCP support on Maincloud

The SpacetimeDB MCP endpoint (`/v1/mcp`) is now available on Maincloud.
You can connect AI agents and MCP-compatible tools directly to your
Maincloud databases. This release also adds cluster-aware routing so
that MCP requests sent to any node are automatically proxied to the
leader replica, along with egress tracking for MCP tool calls.

([#5849](<clockworklabs/SpacetimeDB#5849>),
[#5793](<clockworklabs/SpacetimeDB#5793>))

## Bug Fixes

### TypeScript SDK: route mid-session websocket errors to onDisconnect

The TypeScript SDK's `ws.onerror` handler previously treated every
websocket error as a connection failure, even on established
connections. This fired `onConnectError` instead of `onDisconnect`,
silently disabled the outbound send path, and left the client in a
stalled state with no reconnect. Mid-session errors now close the socket
and fire `onDisconnect` with the error, allowing existing reconnect
handling to take over.

([#5707](<clockworklabs/SpacetimeDB#5707>))

### Fix C++ auto-increment macro symbol collisions

C++ auto-increment field macros previously used `__LINE__` to generate
symbols, causing collisions when two table definitions in separate files
had an auto-increment field on the same line number. Macros now use
table and field names to guarantee unique symbols.

([#5836](<clockworklabs/SpacetimeDB#5836>))

### Fix `spacetime dev` C# complaint on macOS

The `spacetime dev` command no longer incorrectly warns about C# on
macOS when C# is not in use.

([#5867](<clockworklabs/SpacetimeDB#5867>))

## What's Changed

- Allow monomorphization for C# NativeAOT reducers, procedures, HTTP
handlers, and views in
[#5610](<clockworklabs/SpacetimeDB#5610>)
- Add MCP request routing to leader replica in
[#5849](<clockworklabs/SpacetimeDB#5849>)
- Add egress tracking for MCP requests in
[#5793](<clockworklabs/SpacetimeDB#5793>)
- Route TypeScript SDK mid-session websocket errors to onDisconnect in
[#5707](<clockworklabs/SpacetimeDB#5707>)
- Fix C++ auto-increment macro symbol collisions in
[#5836](<clockworklabs/SpacetimeDB#5836>)
- Fix `spacetime dev` C# warning on macOS in
[#5867](<clockworklabs/SpacetimeDB#5867>)

**Full Changelog**:
[v2.9.0...v2.10.0](<https://github.com/clockworklabs/SpacetimeDB/compare/v2.9.0...release/candidate/v2.10.0>)</pre>
<p>View the full release notes at <a
href="https://github.com/clockworklabs/SpacetimeDB/releases/tag/v2.10.0">https://github.com/clockworklabs/SpacetimeDB/releases/tag/v2.10.0</a>.</p>
</details>
<hr>

---------

Co-authored-by: Anka <runner@sjc22-bm210-84d28139-e2f6-4b7c-92ee-6c21afdf23c2-32D5D422D197.local>
Co-authored-by: jonahsnider[bot] <287348350+jonahsnider[bot]@users.noreply.github.com>
tapeshchavle pushed a commit to tapeshchavle/SpacetimeDB that referenced this pull request Sep 7, 2026
tapeshchavle pushed a commit to tapeshchavle/SpacetimeDB that referenced this pull request Sep 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add egress tracking directly in mcp_root

2 participants