acuris-agent-guard

acuris-agent-guard

MCP server that verifies storefront merchants before AI agents make payments, checking if the merchant is a real legal entity bound to the domain, and returning a PROCEED, ABORT, or REVIEW decision to prevent payment to clones or fraudulent stores.

Category
访问服务器

README

Acuris Agent Guard

Verify the merchant before your AI agent pays.

When an AI agent shops on someone's behalf, the entire trust stack verifies the buyer's agent (Visa Trusted Agent Protocol, Mastercard Agent Pay) — and nobody verifies the merchant. Agents don't read the URL bar or sniff a "too good to be true" deal; they autofill the saved card and pay. Security researchers have already shown agentic browsers checking out on fake stores (Guardio "Scamlexity", 2025), and AI assistants surface clone storefronts on look-alike domains (Netcraft: 34% of brand URLs returned by an LLM weren't brand-owned).

acuris-agent-guard is the one pre-pay check that answers:

Is this storefront a real, operating, sanctions-clean legal entity that actually controls the domain it claims?

{ address_valid, company_exists, website_bound, sanctions } → one decision: PROCEED / ABORT / REVIEW. The differentiator is website_bound — catching a clone that shows a real company's name/VAT on a fresh look-alike domain, which a plain "does this company exist?" check waves through.

See it in 10 seconds (zero setup, runs offline)

Install into a virtualenv (recommended — modern Debian/Ubuntu block pip into the system Python with an externally-managed-environment error; that's an OS guard, not this package):

python3 -m venv .venv && . .venv/bin/activate
pip install acuris-agent-guard
python -m acuris_agent_guard.demo

Prefer an isolated CLI? pipx install acuris-agent-guard works too.

The same autonomous agent, same task, same clone — one checks the merchant first:

task: Buy the Aurora Linen Dress for me.

AGENT A — WITHOUT Acuris
  • top result = aurora-boutique-official.shop → choosing it
  • autofill saved card + shipping address → submit payment … €149
  ✗ Payment sent. €149 gone. Goods never arrive.   (clone, 6-day-old domain)

AGENT B — WITH Acuris guard
  • pre-pay check → acuris.verify_storefront("aurora-boutique-official.shop")
    ↩ ABORT  domain_bound=False  entity_resolves=True
    reason: This domain is NOT bound to the registered company it claims — likely a clone.
  ✓ Purchase ABORTED. €149 protected.
  • fall back to aurora-linen.example → PROCEED (bound to AURORA LINEN GMBH)
  ✓ Paid the real Aurora Linen GmbH.

Demo mode ships faithful, illustrative responses so it runs with no key. Set ACURIS_API_KEY (and pass --live) to hit the real API.

Where it plugs into your loop

Any MCP agent (Claude Desktop / Claude Code / others) — one config line

First install the MCP extra into a venv (pip install "acuris-agent-guard[mcp]"), then point the config at that venv's Python (use the absolute path, or pipx, so it resolves regardless of the system Python):

"mcpServers": {
  "acuris": {
    "command": "/path/to/.venv/bin/python",
    "args": ["-m", "acuris_agent_guard.mcp_server"],
    "env": { "ACURIS_API_KEY": "your-key" }   // omit for offline demo mode
  }
}

Then: "Before paying any merchant, call verify_storefront and abort if it is not safe_to_pay."

Plain Python (framework-agnostic guardrail)

from acuris_agent_guard import pre_pay_guard, PaymentBlocked

try:
    pre_pay_guard("aurora-boutique-official.shop", name="Aurora Linen")  # raises if unsafe
    charge_card(...)                                                      # only runs if verified
except PaymentBlocked as e:
    agent.note(str(e))   # do not pay; route to a verified seller

LangChain — integrations/langchain_guard.py

Adds verify_storefront as a tool and wraps your real pay tool so payment is structurally impossible unless the storefront verifies (don't rely on the model remembering to check).

Anthropic computer-use — integrations/computer_use_guard.py

Intercepts the action loop right before a "place order / pay" click; if the storefront fails, the click never executes and the block is fed back to the model as the tool result so it re-plans.

The verdict

from acuris_agent_guard import StorefrontVerifier
v = StorefrontVerifier().verify("aurora-boutique-official.shop", name="Aurora Linen")
v.decision        # "ABORT"
v.safe_to_pay     # False
v.reason          # "This domain is NOT bound to the registered company ..."
v.to_dict()       # full structured signals + score + evidence

The decision maps the API's authoritative recommended_action (proceed → PROCEED, review/do_not_proceed → REVIEW, block → ABORT), so the SDK stays in lockstep with the engine's full policy instead of re-deriving its own, and fails closed — an unreachable/unverifiable storefront returns REVIEW, never a silent PROCEED, and a real merchant that simply can't be bound is REVIEW, never mislabeled a clone.

Honest scope

  • A pre-pay risk signal, not fraud insurance, not a delivery guarantee, and not a certification. It catches impersonation / fabrication / sanctions — it cannot predict whether a genuine registered merchant will fail to ship.
  • Domain↔entity binding is inferred from official registers + corroborating signals (TLS org, domain age, VAT), since WHOIS/RDAP is largely GDPR-redacted.
  • It is not an anti-prompt-injection control; it scores the merchant, so wire it as a hard guardrail on the payment step, not an optional tool.

MIT © Acuris GmbH · built on the Acuris trust-data API.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选