Faro
Verify URLs, payees, and messages before acting: red/yellow/green trust verdicts for agents.
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
claude mcp add --transport http faro 'https://mcp.farofinance.app/mcp' --header 'Authorization: <Faro API key as a Bearer token. Get a key at https://farofinance.app (format: Bearer faro_live_…)>'
{
"mcpServers": {
"faro": {
"type": "http",
"url": "https://mcp.farofinance.app/mcp",
"headers": {
"Authorization": "<Faro API key as a Bearer token. Get a key at https://farofinance.app (format: Bearer faro_live_…)>"
}
}
}
}
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sommaire
Faro
Check before an agent pays, clicks, or trusts.
Faro is a trust layer for AI agents and apps. You send a URL, payee, message, or
agent-payment payload — Faro returns one clear answer: green, yellow, or
red, a one-line reason, and what to do next (allow / warn / block /
review).
This repo is the open interface (Apache-2.0): the verdict contract, client SDKs, and auditable payment-protocol adapters. Scoring and the reputation graph stay on Faro’s hosted API, so you can audit what leaves your process without forking a black-box engine.
Get an API key → farofinance.app
What can you do with this package?
| You want to… | Use |
|---|---|
| Verify a link before an agent opens or shares it | Python/TS SDK verify_url, REST, or MCP verify_url |
| Check a UPI / payee / account before sending money | verify_payee |
| Screen an inbound SMS, email, or chat for scam tactics | verify_message |
| Gate an AP2 / x402 / ACP payment before settle | Open adapters in adapters/faro_agentpay/ → then verify each artifact |
| Let Claude / Cursor / any MCP client call Faro | Hosted MCP at https://mcp.farofinance.app/mcp |
| Branch in code on a stable contract | contracts/verdict.schema.json + typed SDKs |
Typical users: agent builders, wallet/checkout integrators, MCP app authors, and security teams who need a single red/yellow/green decision at the moment of action — not a dashboard full of raw threat intel.
Quick start
pip install faro-client
import asyncio, os
from faro_client import FaroClient
async def main() -> None:
async with FaroClient(os.environ["FARO_API_KEY"]) as client:
result = await client.verify_url("https://example.com")
print(result.verdict, result.reason, result.recommended_action)
# Branch: allow | warn | block | review
if result.recommended_action == "block":
raise SystemExit("blocked by Faro")
asyncio.run(main())
curl -s -X POST https://api.farofinance.app/v1/verify/url \
-H "Authorization: Bearer $FARO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"https://example.com"}'
TypeScript: see sdk/typescript/.
Payment parsers (no engine inside): adapters/faro_agentpay/.
Recipes: recipes/.
What’s in this repo
| Piece | Path |
|---|---|
| Verdict JSON Schema | contracts/verdict.schema.json |
| OpenAPI | sdk/openapi.json |
Python SDK (faro-client) | sdk/python/ |
| TypeScript SDK | sdk/typescript/ |
| AP2 / x402 / ACP adapters | adapters/faro_agentpay/ |
| Verify-before-pay recipes | recipes/ |
| MCP registry manifest | server.json · docs/tools.md |
Why open / what’s closed
Open here: schema, SDKs, protocol adapters, recipes, MCP tool docs — so integrators and protocol ecosystems can cite and fork the interface.
Closed (hosted API): signal providers, scoring, reputation graph, prompts.
Adapters stop at a documented seam: parse → artifacts → POST /v1/verify (or
your own checks) → optional worst_of.
Trust, plainly
Hosted verifies can carry signed trust receipts and a transparency log (hashes and signatures — not your raw PII). Product docs: farofinance.app.
Roadmap / future scope
Shipped or in flight on the hosted product (not all of this lives in this public repo):
- Stronger verify-before-pay coverage across AP2 / x402 / ACP as specs churn
- Richer payee / message / URL signals and reputation write-back
- Watches & webhooks when a previously clean entity flips
- Trust receipts and day-rooted transparency log verification tooling
- More SDK languages and framework examples (LangGraph, Crew, etc.)
- Optional public examples (e.g. agent defense patterns) without opening the engine
Community PRs welcome for adapter/SDK/docs fixes (DCO required). Engine
changes are not accepted here — see CONTRIBUTING.md.
What this is not
- Not a self-hosted scam ML model — default is the hosted API
- Not a generic prompt-injection detector — Faro verifies artifacts at action time
Branches: BRANCHES.md · Security: SECURITY.md
License
Questions fréquentes
Qu'est-ce que Faro ?
Verify URLs, payees, and messages before acting: red/yellow/green trust verdicts for agents.
Comment installer Faro ?
Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http faro 'https://mcp.farofinance.app/mcp' --header 'Authorization: <Faro API key as a Bearer token. Get a key at https://farofinance.app (format: Bearer faro_live_…)>'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour Faro ?
Oui. Il attend Authorization, à renseigner dans sa configuration.
Faro est-il open source ?
Oui. Son code est sur GitHub sous licence Apache-2.0.
Qui maintient Faro ?
Il est publié par vedux98. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.