What is a Server-Level Policy?

2 min read Updated

A server-level policy applies default rules to all tools on a given MCP server, establishing baseline permissions that can be overridden by more specific tool-level policies.

WHY IT MATTERS

When an MCP server exposes dozens or hundreds of tools, writing individual tool-level policies for each one is impractical. Server-level policies solve this by defining sensible defaults: "deny all tools on the production database server" or "log all tools on the Stripe server." These defaults apply to every tool unless explicitly overridden.

This default-then-override pattern is the standard approach in access control systems. AWS IAM, Kubernetes RBAC, and firewall rules all work the same way: set a broad default, then create specific exceptions. It scales because you only need to write rules for the exceptions — the default handles everything else.

Server-level policies are particularly valuable for risk management. A new MCP server added to your stack is immediately governed by its server-level policy, even before you have reviewed its individual tools. If your server-level default is deny, new tools are blocked automatically. This prevents the common failure mode where a server update adds new capabilities that the agent exploits before policies catch up.

HOW POLICYLAYER USES THIS

In Intercept, each policy file targets a specific MCP server and can define a default action that applies to all tools on that server. Tool-level rules within the same file override this default. Server-level policies also support conditions — for example, you can log all tool calls on a server during off-hours while allowing them normally during business hours. The server-level default is evaluated last, after all tool-level rules have been checked.

FREQUENTLY ASKED QUESTIONS

Should server-level policies default to allow or deny?
For production environments, default to deny (fail-closed). This ensures every tool must be explicitly allowed, preventing unreviewed tools from being accessible. For development, default to log — the agent operates freely while you build up your policy rules based on observed behaviour.
Can I apply conditions at the server level?
Yes. Server-level conditions apply to all tool calls on that server. This is useful for time-based restrictions, environment checks, or universal argument constraints that should apply regardless of the specific tool.

FURTHER READING

Let agents act without letting them run wild.

Deterministic policy on every MCP tool call. Per-identity grants. Full audit log.

Currently onboarding teams running MCP in production.
// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.

// REQUEST EARLY ACCESS

We're letting people in as fast as we can.

You're in the queue.

We'll be in touch as soon as we can let you in.