# Invoice Preflight

> Evidence-backed UBL, PDF, and image invoice checks before approval or payment.

- name: io.github.Ahmet11159/invoice-preflight
- version: 1.6.0
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 67/100 (needs work)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.Ahmet11159%2Finvoice-preflight
- tools: https://api.protogrid.dev/v1/servers/io.github.Ahmet11159%2Finvoice-preflight/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "invoice-preflight": {
      "type": "http",
      "url": "https://mcp.dropenginehq.com/api/invoice-mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 45
- drivers: +website +reachable +uptime-100% +updated-20d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 67/100 (needs work)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 71 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: invoice_preflight (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); invoice_preflight_10_pages (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); check_change (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 5,391 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 31 tool changes in 30 days
- fail `stability.rug_pull`: 4 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 20, about 5,391 tokens to load them all
- tool set hash: 3f48c385a46126bb3f68f2996a2ce52c
- tools last changed: 2026-10-08T19:37:50.778Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.Ahmet11159/invoice-preflight.svg)](https://protogrid.dev/servers/io.github.Ahmet11159/invoice-preflight)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-08 `invoice_preflight_50_pages` changed (description, outputSchema) **meaning changed**
  - before: Paid invoice OCR ($0.475 USDC on Base): process complete PDF/image invoices up to 50 pages. Oversized PDFs are rejected before OCR.
  - after: Paid invoice OCR ($0.475 USDC on Base): process complete PDF/image invoices up to 50 pages. Oversized PDFs are rejected before OCR. Agent entry points: risky external action → use Agent Action Gate when a combined action-specific safety assessment is needed; unclear capability/provider → use free /api/discover; constrained comparison between callable alternatives → use paid route_tool; known single capability → call the direct tool; multi-step objective → read the matching workflow recipe and call only relevant steps. Workflows are stateless recipes, not executors; calls are paid separately and are not bundle charged. Agent Action Gate does not approve payment, sign or broadcast transactions, evaluate seller reputation, replace transaction simulation, replace route_tool, or replace human approval.
- 2026-10-08 `invoice_preflight_10_pages` changed (description, outputSchema) **meaning changed**
  - before: Paid invoice OCR ($0.13 USDC on Base): process complete PDF/image invoices up to 10 pages. Oversized PDFs are rejected before OCR.
  - after: Paid invoice OCR ($0.13 USDC on Base): process complete PDF/image invoices up to 10 pages. Oversized PDFs are rejected before OCR. Agent entry points: risky external action → use Agent Action Gate when a combined action-specific safety assessment is needed; unclear capability/provider → use free /api/discover; constrained comparison between callable alternatives → use paid route_tool; known single capability → call the direct tool; multi-step objective → read the matching workflow recipe and call only relevant steps. Workflows are stateless recipes, not executors; calls are paid separately and are not bundle charged. Agent Action Gate does not approve payment, sign or broadcast transactions, evaluate seller reputation, replace transaction simulation, replace route_tool, or replace human approval.
- 2026-10-08 `invoice_preflight` changed (description, outputSchema) **meaning changed**
  - before: Paid invoice check ($0.065 USDC on Base): UBL XML or complete PDF/image invoices up to 3 pages. Compares expected purchase fields and line items; returns evidence, amount checks and match/discrepancy/needs_review. No payment or bookkeeping action is taken.
  - after: Paid invoice check ($0.065 USDC on Base): UBL XML or complete PDF/image invoices up to 3 pages. Compares expected purchase fields and line items; returns evidence, amount checks and match/discrepancy/needs_review. No payment or bookkeeping action is taken. Agent entry points: risky external action → use Agent Action Gate when a combined action-specific safety assessment is needed; unclear capability/provider → use free /api/discover; constrained comparison between callable alternatives → use paid route_tool; known single capability → call the direct tool; multi-step objective → read the matching workflow recipe and call only relevant steps. Workflows are stateless recipes, not executors; calls are paid separately and are not bundle charged. Agent Action Gate does not approve payment, sign or broadcast transactions, evaluate seller reputation, replace transaction simulation, replace route_tool, or replace human approval.
- 2026-10-08 `invoice_preflight_quote` changed (description, outputSchema) **meaning changed**
  - before: FREE, no wallet or document upload: choose the lowest priced Invoice Preflight tool from document type, PDF page count, and optional byte size. Call this before a paid invoice tool when the tier is uncertain. It does not inspect or validate the document.
  - after: FREE, no wallet or document upload: choose the lowest priced Invoice Preflight tool from document type, PDF page count, and optional byte size. Call this before a paid invoice tool when the tier is uncertain. It does not inspect or validate the document. Agent entry points: risky external action → use Agent Action Gate when a combined action-specific safety assessment is needed; unclear capability/provider → use free /api/discover; constrained comparison between callable alternatives → use paid route_tool; known single capability → call the direct tool; multi-step objective → read the matching workflow recipe and call only relevant steps. Workflows are stateless recipes, not executors; calls are paid separately and are not bundle charged. Agent Action Gate does not approve payment, sign or broadcast transactions, evaluate seller reputation, replace transaction simulation, replace route_tool, or replace human approval.
- 2026-09-26 `token_security_audit` added
  - Paid Token Security Audit ($0.01 USDC). Normalizes GoPlus token-security flags and public EVM RPC metadata for supported EVM tokens. Requires GOPLUS_ACCESS_TOKEN; if it is missing, returns a provider-unavailable error before payment. Reports provider findings separately from deterministic internal scoring. Does not trade or guarantee token safety.
- 2026-09-26 `backtest_strategy` added
  - Paid Strategy Backtest ($0.10 USDC). Tests built-in long-only spot strategies against bounded public Binance OHLCV history. Signals form at candle close and execute at the next candle open. Applies configured fees/slippage; accepts declarative parameters only and never executes user code. Historical results are not predictions.
- 2026-09-26 `scan_arbitrage` added
  - Paid Arbitrage Intelligence ($0.03 USDC). Compares Binance and Coinbase public spot order books at a requested trade size and applies caller- or server-configured taker fee assumptions. Rejects stale books. Excludes transfers, inventory rebalancing, and guaranteed execution; does not place orders.
- 2026-09-26 `analyze_whale_activity` added
  - Paid Whale Intelligence ($0.02 USDC). Summarizes large public GeckoTerminal-indexed DEX trades for a token address on a supported chain. Large-trader labels are size-based heuristics, not verified whale identities; data is not chain-wide. Wallet mode uses Helius (Solana) or Etherscan API V2 (EVM) when configured, returning recent indexed transactions only; it does not claim complete balances or whale labels.
- 2026-09-26 `estimate_trade_execution` added
  - Paid Trade Execution Quote ($0.01 USDC). Gets an indicative swap quote before a trade; supports Solana via Jupiter and EVM via 0x when provider keys are configured. Requires token addresses and decimals for custom assets. Returns estimated output and quote source. Read-only: never signs, submits, or executes.
- 2026-09-26 `verify_claim` changed (description)
  - before: Paid Freshness / Claim Verifier ($0.02 USDC). Checks a factual claim against fresh web search evidence and returns supported/contradicted/mixed/insufficient/stale with sources. Requires optional TAVILY_API_KEY; without evidence search it returns insufficient_evidence. Claim text is sent to the configured search provider.
  - after: Paid Freshness / Claim Verifier ($0.02 USDC). Checks a factual claim against fresh web search evidence and returns supported/contradicted/mixed/insufficient/stale with sources. Requires TAVILY_API_KEY. If the key is missing, returns a provider-unavailable error before requesting payment. Claim text is sent to the configured search provider.

Full history: https://api.protogrid.dev/v1/servers/io.github.Ahmet11159%2Finvoice-preflight/changes

## Remotes

- https://mcp.dropenginehq.com/api/invoice-mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (20)

- `analyze_whale_activity`: Paid Whale Intelligence ($0.02 USDC). Summarizes large public GeckoTerminal-indexed DEX trades for a token address on a supported chain. Large-trader labels are size-based heuristics, not verified whale identities; data is not chain-wide. Wallet mode uses Helius (Solana) or Etherscan API V2 (EVM) when configured, returning recent indexed transactions only; it does not claim complete balances or whale labels.
- `backtest_strategy`: Paid Strategy Backtest ($0.10 USDC). Tests built-in long-only spot strategies against bounded public Binance OHLCV history. Signals form at candle close and execute at the next candle open. Applies configured fees/slippage; accepts declarative parameters only and never executes user code. Historical results are not predictions.
- `check_change`: Paid Change / Diff Check ($0.001 USDC). Checks normalized text on a public HTTPS page against a previous SHA-256 hash, returning a compact diff when a prior snapshot is available.
- `check_package`: Paid Package Safety Gate ($0.005 USDC on Base). Call before a coding agent installs, imports, or adds an unfamiliar npm dependency. Checks resolved package/version, OSV vulnerabilities and malware advisories, popular-name typosquatting, and install lifecycle scripts using static analysis only. Package code is never executed. Direct dependency trees and maintainer history are not assessed; unknown coverage returns caution.
- `check_url`: Paid Agent Preflight URL check ($0.005 USDC on Base). Call before an agent opens, follows, downloads from, or trusts an unknown URL. Performs deterministic checks, safely inspects HTTPS redirects without loading page content, blocks localhost/private addresses, and optionally queries Google Web Risk when configured. No LLM is used. A clean result is not a guarantee of safety.
- `check_wallet`: Paid Wallet Risk Check ($0.02 USDC on Base). Call before an agent sends funds to, accepts value from, grants an approval to, or interacts with an unfamiliar address. Checks whether the address is a wallet or contract and reads basic on-chain metadata. Sanctions, scam, drainer, mixer, and malicious-address intelligence are unknown unless a trusted provider is configured; without one, the result is cautious and low-confidence, not a safety certification. Never send private keys or seed phrases.
- `estimate_trade_execution`: Paid Trade Execution Quote ($0.01 USDC). Gets an indicative swap quote before a trade; supports Solana via Jupiter and EVM via 0x when provider keys are configured. Requires token addresses and decimals for custom assets. Returns estimated output and quote source. Read-only: never signs, submits, or executes.
- `extract_structured`: Paid Fresh Structured Extract ($0.01 USDC). Extracts a fresh webpage into a simple agent-defined typed JSON shape, with validation and per-field provenance. Uses static page data only; never executes page JavaScript and never fabricates missing fields.
- `get_live_quote`: Paid Live Product Quote ($0.01 USDC). Retrieves explicitly published product price and stock from a public HTTPS product page before an agent buys; shipping, tax and unknown values remain null. Never purchases.
- `invoice_preflight`: Paid invoice check ($0.065 USDC on Base): UBL XML or complete PDF/image invoices up to 3 pages. Compares expected purchase fields and line items; returns evidence, amount checks and match/discrepancy/needs_review. No payment or bookkeeping action is taken.

Agent entry points: risky external action → use Agent Action Gate when a combined action-specific safety assessment is needed; unclear capability/provider → use free /api/discover; constrained comparison between callable alternatives → use paid route_tool; known single capability → call the direct tool; multi-step objective → read the matching workflow recipe and call only relevant steps. Workflows are stateless recipes, not executors; calls are paid separately and are not bundle charged. Agent Action Gate does not approve payment, sign or broadcast transactions, evaluate seller reputation, replace transaction simulation, replace route_tool, or replace human approval.
- `invoice_preflight_10_pages`: Paid invoice OCR ($0.13 USDC on Base): process complete PDF/image invoices up to 10 pages. Oversized PDFs are rejected before OCR.

Agent entry points: risky external action → use Agent Action Gate when a combined action-specific safety assessment is needed; unclear capability/provider → use free /api/discover; constrained comparison between callable alternatives → use paid route_tool; known single capability → call the direct tool; multi-step objective → read the matching workflow recipe and call only relevant steps. Workflows are stateless recipes, not executors; calls are paid separately and are not bundle charged. Agent Action Gate does not approve payment, sign or broadcast transactions, evaluate seller reputation, replace transaction simulation, replace route_tool, or replace human approval.
- `invoice_preflight_50_pages`: Paid invoice OCR ($0.475 USDC on Base): process complete PDF/image invoices up to 50 pages. Oversized PDFs are rejected before OCR.

Agent entry points: risky external action → use Agent Action Gate when a combined action-specific safety assessment is needed; unclear capability/provider → use free /api/discover; constrained comparison between callable alternatives → use paid route_tool; known single capability → call the direct tool; multi-step objective → read the matching workflow recipe and call only relevant steps. Workflows are stateless recipes, not executors; calls are paid separately and are not bundle charged. Agent Action Gate does not approve payment, sign or broadcast transactions, evaluate seller reputation, replace transaction simulation, replace route_tool, or replace human approval.
- `invoice_preflight_quote`: FREE, no wallet or document upload: choose the lowest priced Invoice Preflight tool from document type, PDF page count, and optional byte size. Call this before a paid invoice tool when the tier is uncertain. It does not inspect or validate the document.

Agent entry points: risky external action → use Agent Action Gate when a combined action-specific safety assessment is needed; unclear capability/provider → use free /api/discover; constrained comparison between callable alternatives → use paid route_tool; known single capability → call the direct tool; multi-step objective → read the matching workflow recipe and call only relevant steps. Workflows are stateless recipes, not executors; calls are paid separately and are not bundle charged. Agent Action Gate does not approve payment, sign or broadcast transactions, evaluate seller reputation, replace transaction simulation, replace route_tool, or replace human approval.
- `mcp_server_inspect`: Paid read-only MCP check ($0.01 USDC on Base): verify a public HTTPS MCP endpoint, list tool names, summarize input schemas, compare expected tool names, and flag risky metadata. Inspected tools are never called.
- `route_tool`: Paid Agent Tool Router ($0.002 USDC on Base). Finds and ranks machine-payable MCP services and x402 HTTP endpoints before your agent chooses or pays a provider. Uses structured capability matching, hard constraints, price, observed latency/reliability, and cold-start trust confidence; no LLM call is required. Returns a recommendation only: it never invokes the selected provider or makes a second payment. Without X402_BAZAAR_DISCOVERY_URLS, results come only from this platform's local service registry and are marked degraded.
- `scan_arbitrage`: Paid Arbitrage Intelligence ($0.03 USDC). Compares Binance and Coinbase public spot order books at a requested trade size and applies caller- or server-configured taker fee assumptions. Rejects stale books. Excludes transfers, inventory rebalancing, and guaranteed execution; does not place orders.
- `scan_content`: Paid Untrusted Content Security Layer ($0.005 USDC on Base). Scan untrusted text, HTML, Markdown, email, document text, API responses, and tool outputs before your agent adds them to context, follows their instructions, or acts. Returns risk score, risk categories, recommendation, and sanitized plain text when possible. Bounded deterministic local scanning; no external LLM or provider call. Maximum 100000 characters.
- `simulate_transaction`: Paid Transaction Preflight ($0.02 USDC on Base). Simulates an unsigned Base transaction before an autonomous agent signs or broadcasts it. Returns RPC execution/revert status, gas estimate, known top-level method decoding, direct ERC-20 transfer/approval calldata, unlimited approval warnings, and machine-readable risk. Standard JSON-RPC does not expose full internal token state changes; do not treat calldata decoding as a complete state diff. Never send a private key or seed phrase. This tool never signs, holds keys, or broadcasts.
- `token_security_audit`: Paid Token Security Audit ($0.01 USDC). Normalizes GoPlus token-security flags and public EVM RPC metadata for supported EVM tokens. Requires GOPLUS_ACCESS_TOKEN; if it is missing, returns a provider-unavailable error before payment. Reports provider findings separately from deterministic internal scoring. Does not trade or guarantee token safety.
- `verify_claim`: Paid Freshness / Claim Verifier ($0.02 USDC). Checks a factual claim against fresh web search evidence and returns supported/contradicted/mixed/insufficient/stale with sources. Requires TAVILY_API_KEY. If the key is missing, returns a provider-unavailable error before requesting payment. Claim text is sent to the configured search provider.
