Skip to content

Commit d4c47ed

Browse files
jerm-droclaude
andcommitted
Add inbound links and polish rate limiting guide
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 6353afb commit d4c47ed

4 files changed

Lines changed: 15 additions & 10 deletions

File tree

docs/toolhive/guides-k8s/auth-k8s.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -901,6 +901,8 @@ kubectl logs -n toolhive-system -l app.kubernetes.io/name=weather-server-k8s
901901

902902
## Next steps
903903

904+
- [Configure rate limiting](./rate-limiting.mdx) to set per-user and shared
905+
request limits on MCP servers
904906
- [Configure token exchange](./token-exchange-k8s.mdx) to let MCP servers
905907
authenticate to backend services
906908
- [Set up audit logging](./logging.mdx) to track authentication decisions and

docs/toolhive/guides-k8s/intro.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,4 +99,5 @@ Once the operator is installed, you can create and manage MCP servers:
9999

100100
- [Run MCP servers in Kubernetes](./run-mcp-k8s.mdx)
101101
- [Proxy remote MCP servers](./remote-mcp-proxy.mdx)
102+
- [Rate limiting](./rate-limiting.mdx)
102103
- [Virtual MCP Server (vMCP)](../guides-vmcp/index.mdx)

docs/toolhive/guides-k8s/rate-limiting.mdx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ request must pass all applicable limits to proceed.
2323
Before you begin, ensure you have:
2424

2525
- A Kubernetes cluster with the ToolHive Operator installed
26-
- Redis deployed for session storage (rate limiting uses Redis as its counter
27-
backend)
26+
- Redis deployed for session storage (rate limiting uses Redis to store token
27+
bucket counters)
2828
- For per-user limits: authentication enabled on the MCPServer (`oidcConfig`,
2929
`oidcConfigRef`, or `externalAuthConfigRef`)
3030

@@ -65,9 +65,9 @@ total throughput to protect downstream services.
6565
apiVersion: toolhive.stacklok.dev/v1alpha1
6666
kind: MCPServer
6767
metadata:
68-
name: my-server
68+
name: weather-server
6969
spec:
70-
image: my-mcp-server:latest
70+
image: ghcr.io/stackloklabs/weather-mcp/server
7171
transport: streamable-http
7272
sessionStorage:
7373
provider: redis
@@ -94,9 +94,9 @@ users by the `sub` claim from their JWT token.
9494
apiVersion: toolhive.stacklok.dev/v1alpha1
9595
kind: MCPServer
9696
metadata:
97-
name: my-server
97+
name: weather-server
9898
spec:
99-
image: my-mcp-server:latest
99+
image: ghcr.io/stackloklabs/weather-mcp/server
100100
transport: streamable-http
101101
oidcConfig:
102102
type: inline
@@ -126,9 +126,9 @@ throughput.
126126
apiVersion: toolhive.stacklok.dev/v1alpha1
127127
kind: MCPServer
128128
metadata:
129-
name: my-server
129+
name: weather-server
130130
spec:
131-
image: my-mcp-server:latest
131+
image: ghcr.io/stackloklabs/weather-mcp/server
132132
transport: streamable-http
133133
oidcConfig:
134134
type: inline

docs/toolhive/guides-k8s/redis-session-storage.mdx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@ when pods restart and users must re-authenticate. Redis Sentinel provides
1212
persistent storage with automatic master discovery, ACL-based access control,
1313
and optional failover when replicas are configured.
1414

15-
Redis session storage is also required for horizontal scaling when running
16-
multiple [MCPServer](./run-mcp-k8s.mdx#horizontal-scaling) or
15+
Redis is also required as the backend for [rate limiting](./rate-limiting.mdx),
16+
which stores token bucket counters in Redis independently of session data. It is
17+
also required for horizontal scaling when running multiple
18+
[MCPServer](./run-mcp-k8s.mdx#horizontal-scaling) or
1719
[VirtualMCPServer](../guides-vmcp/scaling-and-performance.mdx#session-storage-for-multi-replica-deployments)
1820
replicas, so that sessions are shared across pods.
1921

0 commit comments

Comments
 (0)