About agentguard
agentguard is an MCP server for checking URLs against a declarative network-egress policy without making requests. It helps MCP clients review individual or batch URL decisions and catch common policy-specification errors.
Key features
- 01Check a URL against a policy
- 02Check URL batches with a summary
- 03Validate policy specifications
- 04Flag broad wildcards and malformed hosts
Use cases
- 01Review URLs before an agent fetches them
- 02Audit a batch of candidate URLs
- 03Find mistakes in an egress policy
MCP support
Exposes URL-checking and policy-validation tools to MCP clients. It reports decisions but does not block or perform network requests.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
3Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | URL to check. |
| method | string | No | HTTP method (default GET). |
| policy | object | Yes | A simplified network policy. Use { allow: ["api.openai.com", "*.example.com"] }. Optional: deny: string[], methods: string[]. |
| policy.deny | array | No | Host patterns to deny. Wins over allow. |
| policy.allow | array | No | Host patterns to allow. Supports exact and *.suffix wildcards. |
| policy.methods | array | No | HTTP methods to permit (e.g. ["GET", "POST"]). Default any. |
Details
From the project READMEagentguard-mcp
MCP server for @mukundakatta/agentguard. Lets Claude Desktop, Cursor, Cline, Windsurf, Zed, or any other MCP client check whether a URL is allowed under a network-egress policy before any fetch.
npx -y @mukundakatta/agentguard-mcp
Three tools:
check_url— single URL check: returns{ allowed, reason }without making any actual request.check_urls_batch— batch check with per-URL decisions plus a summary.validate_policy— sanity-check a policy spec for empty allowlists, overly broad*wildcards, and malformed host patterns.
Add to your client
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"agentguard": {
"command": "npx",
"args": ["-y", "@mukundakatta/agentguard-mcp"]
}
}
}
Same shape for Cursor (~/.cursor/mcp.json), Cline, Windsurf, Zed.
Tool examples
check_url:
{
"url": "https://api.openai.com/v1/chat",
"policy": { "allow": ["api.openai.com", "*.anthropic.com"] }
}
Returns:
{ "allowed": true, "reason": "matched_allowlist", "detail": null }
check_urls_batch:
{
"urls": [
"https://api.openai.com/v1/chat",
"https://evil.example.com/leak"
],
"policy": { "allow": ["api.openai.com"] }
}
Returns:
{
"results": [
{ "url": "https://api.openai.com/v1/chat", "allowed": true, ... },
{ "url": "https://evil.example.com/leak", "allowed": false, "reason": "not_in_allowlist", ... }
],
"summary": { "total": 2, "allowed_count": 1, "denied_count": 1 }
}
validate_policy:
{ "policy": { "allow": ["*", "https://api.example.com", "api.example.com/v1"] } }
Returns issues for the * wildcard, the scheme prefix, and the path suffix — common mistakes when first writing a policy.
Why a separate MCP server
@mukundakatta/agentguard is a zero-dependency JavaScript library. This MCP server makes its decision engine accessible from any MCP-aware AI assistant: ask Claude "does my agent's tool list pass this firewall?" or "which of these 50 URLs would my policy block?" and the assistant calls these tools directly.
Note: this MCP server only checks URLs — it does not actually wrap fetch or block real requests. For runtime enforcement, use @mukundakatta/agentguard directly inside your Node process.
Sibling MCP servers
Part of the agent-stack series:
@mukundakatta/agentfit-mcp— Fit it.@mukundakatta/agentguard-mcp— Sandbox it. (this)@mukundakatta/agentsnap-mcp— Test it.@mukundakatta/agentvet-mcp— Vet it.@mukundakatta/agentcast-mcp— Validate it.
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.