Connect Serval to Windsurf
Give Windsurf governed access to Serval’s 402 tools through Runlayer, with identity, policy, scanning, and audit on every call.
Set up
Add Serval to Windsurf in four steps
Admins approve the server once. Everyone in Windsurf then gets it through the same governed connection.
- 1
Add Serval to Runlayer
Serval isn’t in the Runlayer catalog yet, so an admin adds it by its MCP server URL.
Adding a connector manually - 2
Connect Windsurf to Runlayer
Users add the Runlayer Plugin to Windsurf by following Runlayer’s setup guide. Windsurf reaches Serval’s 402 tools through the Runlayer Plugin’s search and execute tools instead of listing each one.
Windsurf setup guide - 3
Sign in to Serval
Sign in the way Serval requires. Runlayer holds the credentials so they stay out of the client’s configuration.
- 4
Use Serval from Windsurf
Serval’s approved tools appear in Windsurf. Every call is checked against policy and recorded.
Tools
402 Serval tools in Windsurf
Runlayer policy decides which of these Windsurf users can call.
Add entity type field
Deprecated: use POST /v2/entity-type-fields.
Add label to app instance
DEPRECATED: use AddTagToSubject.
Add tag to subject
Attach a tag to a subject (resource, role, app instance, workflow, or guidance).
Add ticket assignment group
Add a group to the team's configured assignment groups.
Add ticket relevant asset
Add a relevant asset to a ticket.
Aggregate entities
Aggregate live-entity counts for one entity schema (database), grouped by entity type or by creation-time bucket (day or month).
Archive entity
Archive an entity, hiding it from active browse while keeping its key reserved so the key cannot be reused.
Archive ticket
Move a ticket into cold storage, removing it from most views.
Control
What Runlayer can see and stop in Windsurf
Some controls apply to every client at the gateway. Others depend on what Windsurf exposes to Runlayer.
Gateway policy (available)
Every Serval call from Windsurf passes through Runlayer, where your policies can allow, alert, mask, or block it.
Audit trail (available)
Each call is recorded with the user, Windsurf as the client, the tool, and the policy and scanner decisions.
Client hooks (available)
Capture supported prompts, reasoning, local and MCP tool calls, responses, and scanner decisions in real time.
Stop a call before it runs (available)
Runlayer can deny a tool call before Windsurf runs it.
Block output after it runs (not available)
Windsurf ignores Runlayer after a tool runs, so Runlayer cannot block its output. The gateway still applies policy to the call.
Redact output in place (not available)
Windsurf has no way to receive replacement output, so Runlayer cannot mask it. The gateway still applies policy to the call.
In Windsurf
- Enforcement needs Windsurf 1.12.31 or newer.
- When Runlayer denies a call, Windsurf shows the reason to the user; Runlayer cannot adjust the call’s inputs.
Frequently asked questions
Connect more