mcpField
A
agentguard

agentguard

本地服务
github.com安全120 周前更新

关于 agentguard

agentguard 是根据声明式网络出口策略检查 URL 的 MCP 服务,不会发起请求。它供 MCP 客户端审核单个或批量 URL,并发现策略配置中的常见错误。

主要功能

  1. 01按策略检查单个 URL
  2. 02批量检查 URL 并汇总结果
  3. 03验证策略配置
  4. 04标记过宽通配符和格式错误的主机

适用场景

  1. 01在 Agent 获取 URL 前进行审核
  2. 02批量检查候选 URL
  3. 03查找网络出口策略中的错误

MCP 相关

向 MCP 客户端提供 URL 检查和策略验证工具。它只返回判定结果,不会拦截请求或执行网络访问。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"mukundakatta-agentguard": {
"command": "npx",
"args": [
"-y",
"@mukundakatta/agentguard-mcp"
]
}
}
}
启动命令npx -y @mukundakatta/agentguard-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@mukundakatta/agentguard-mcp0.1.0

工具

3

收录的工具列表 · 更新于 2 周前

参数类型必填说明
urlstring是要检查的 URL。
methodstring否HTTP 方法(既定値:GET)。
policyobject是简化的网络策略。使用 { allow: ["api.openai.com", "*.example.com"] }。可选项:deny: string[]、methods: string[]。
policy.denyarray否要拒绝的主机模式。优先于 allow。
policy.allowarray否要允许的主机模式。支持精确匹配和 *.suffix 通配符。
policy.methodsarray否允许使用的 HTTP 方法(例如 ["GET", "POST"])。默认允许任意方法。

详细介绍

agentguard-mcp

@mukundakatta/agentguard 的 MCP 服务。 让 Claude Desktop、Cursor、Cline、Windsurf、Zed 或任何其他 MCP 客户端能够在发起任何抓取请求前,检查某个 URL 是否符合网络出口策略。

npx -y @mukundakatta/agentguard-mcp

提供三个工具:

  • check_url — 检查单个 URL:返回 { allowed, reason },不会发出任何实际请求。
  • check_urls_batch — 批量检查:返回每个 URL 的判定结果以及汇总信息。
  • validate_policy — 检查策略规范是否合理,包括允许列表为空、* 通配符范围过宽以及主机模式格式错误等问题。

添加到客户端

Claude Desktop

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows):

{
  "mcpServers": {
    "agentguard": {
      "command": "npx",
      "args": ["-y", "@mukundakatta/agentguard-mcp"]
    }
  }
}

Cursor(~/.cursor/mcp.json)、Cline、Windsurf 和 Zed 的配置格式相同。

工具示例

check_url:

{
  "url": "https://api.openai.com/v1/chat",
  "policy": { "allow": ["api.openai.com", "*.anthropic.com"] }
}

返回:

{ "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"] }
}

返回:

{
  "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"] } }

返回的问题包括 * 通配符、协议前缀和路径后缀,都是初次编写策略时常见的错误。

为什么要单独提供 MCP 服务

@mukundakatta/agentguard 是一个零依赖 JavaScript 库。这个 MCP 服务让任何支持 MCP 的 AI 助手都能使用它的判定引擎:你可以询问 Claude“我的 Agent 工具列表能通过这个防火墙吗?”或“这 50 个 URL 中,哪些会被我的策略拦截?”,助手会直接调用这些工具。

注意:这个 MCP 服务只会检查 URL,不会实际封装 fetch 或拦截真实请求。如需在运行时强制执行,请在你的 Node 进程中直接使用 @mukundakatta/agentguard。

同系列 MCP 服务

属于 agent-stack 系列:

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。