Faro

io.github.vedux98Published by GitHub account vedux98v1.2.0Updated Oct 24, 2026

Verify URLs, payees, and messages before acting: red/yellow/green trust verdicts for agents.

VerifiedStreamable HTTPWeb executableFinanceSecurity & Monitoring

Overview

AI-generated overview

Faro is a hosted trust-check service that lets an assistant verify URLs, payees and messages and get a green, yellow or red verdict before acting.

What you can do
  • Verify a link before an agent opens or shares it, returning a verdict, a one-line reason and a recommended action.
  • Check a UPI, payee or account before money is sent.
  • Screen inbound SMS, email or chat text for scam tactics.
  • Gate AP2, x402 or ACP agent-payment payloads before settlement via the documented adapters.
  • Branch in code on a stable verdict contract (allow, warn, block, review).
When to use it
Use it when an agent is about to click a link, pay a payee or trust an inbound message and you want a single red/yellow/green decision at the moment of action, rather than a dashboard of raw threat intelligence.
Requirements
A remote MCP endpoint at mcp.farofinance.app, reachable over the network. A Faro API key sent as a Bearer token in the Authorization header, obtained from the Faro website. No local runtime or packages are needed for the hosted MCP server.
Before you install
The API key is a secret sent in the Authorization header; keep it out of logs and shared configs. Verification requests send the URL, payee or message content to Faro's hosted API, whose scoring and reputation data are closed source. Verdicts are advisory: decide yourself whether to enforce block or review actions.

Installation

In SourceWeft

  1. Open Faro in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.vedux98%2Ffaro/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "faro": {
      "type": "http",
      "url": "https://mcp.farofinance.app/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

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 itPython/TS SDK verify_url, REST, or MCP verify_url
Check a UPI / payee / account before sending moneyverify_payee
Screen an inbound SMS, email, or chat for scam tacticsverify_message
Gate an AP2 / x402 / ACP payment before settleOpen adapters in adapters/faro_agentpay/ → then verify each artifact
Let Claude / Cursor / any MCP client call FaroHosted MCP at https://mcp.farofinance.app/mcp
Branch in code on a stable contractcontracts/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

bash
pip install faro-client
python
import asyncio, osfrom 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())
bash
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

PiecePath
Verdict JSON Schemacontracts/verdict.schema.json
OpenAPIsdk/openapi.json
Python SDK (faro-client)sdk/python/
TypeScript SDKsdk/typescript/
AP2 / x402 / ACP adaptersadapters/faro_agentpay/
Verify-before-pay recipesrecipes/
MCP registry manifestserver.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

Apache-2.0.

Source: README.md at commit 9ba4a76

Tools

0
This server asks for a credential such as an API key, so SourceWeft could not read its tools without one and has not indexed them.

Version history

1
  1. v1.2.0LatestSep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts