The Weaviate MCP server exposes 1 write tool alongside 1 read tool. Write operations carry risk of unintended bulk modifications.
Write operations (insert_one) modify state. Without rate limits, an agent can make hundreds of changes in seconds -- faster than any human can review or revert.
These Weaviate tools can modify, create, or destroy resources. Without a policy, your agent has unrestricted access to all of them.
insert_one Insert an object into Weaviate Write These rules are based on the tool categories exposed by the Weaviate MCP server. Adjust the limits to match your use case.
insert_one:
rules:
- name: "write-rate-limit"
rate_limit: 30/hour
on_deny: "Write rate limit reached" Prevents bulk unintended modifications from agents caught in loops.
query:
rules:
- action: allow
rate_limit: 60/minute Controls API costs and prevents retry loops from exhausting upstream rate limits.
This is the complete policy file for Weaviate. It lists every tool with suggested default rules. Download it, adjust the limits, and run with Intercept.
version: "1" default: "deny" tools: query: rules: - action: allow rate_limit: 60/minute insert_one: rules: - action: allow rate_limit: 30/hour
Download the policy
curl -o weaviate.yaml https://raw.githubusercontent.com/policylayer/intercept/main/policies/weaviate.yaml
Run Intercept in front of the server
intercept -c weaviate.yaml -- npx -y @@mcp-server-weaviate
Works with any MCP client:
Every tool call is now checked against your policy before it reaches Weaviate. Denied calls are blocked and logged. Allowed calls pass through with no latency impact.
Open source. One binary. Zero dependencies.
npx -y @policylayer/intercept