Skip to main content
Glama
equinoxaifinance-rgb

FluxProof

FluxProof

FluxProof watches public pricing, policy and changelog pages and tells you, with the source URL and before/after excerpts, when the text changes. By Neverclosed (https://tryneverclosed.com).

Live product: FluxProof — public page monitoring for agents

Quickstart · Use cases · OpenAPI · Policies

n8n: check one public source before creating a monitor with a bounded, MIT-licensed client workflow. No key, monitor creation or payment is included in this free preview.

Remote MCP endpoint: https://fluxproof.tryneverclosed.com/mcp (the original address https://fluxproof.neoaethel.workers.dev/mcp keeps working)

Server identity: io.github.equinoxaifinance-rgb/fluxproof, version 0.1.0.

Launch guide · Agent card · Smithery listing · Glama connector

Agent skill: skills/watch-page-changes/SKILL.md teaches an agent when and how to watch a page with FluxProof. Install: npx skills add equinoxaifinance-rgb/fluxproof-agent-card --skill watch-page-changes.

Why use it

Start with one source, without an account

Check a public page in your browser, or run the dependency-free Node.js client example:

node examples/preflight.mjs https://example.com/

This checks whether the source can be read. It does not create a monitor, detect a change, return full paid history, or charge. After a successful check, follow the monitor setup guide. Keep the first baseline separate from a later observed change.

If your integration stops, open an issue with the tool or endpoint name, HTTP status/error code, and expected result. Include a source URL only if it is public and non-sensitive. Do not post API keys or payment credentials.

What the monitor adds

  • Normalize scripts, styles, markup, and whitespace before comparison.

  • Receive the final source URL, observation time, prior/current SHA-256 hashes, significance, and bounded added/removed excerpts.

  • Elevate configured watched terms such as price, deprecated, or deadline.

  • Deliver changes through timestamped HMAC-SHA256 signed HTTPS webhooks.

  • Discover and operate six tools through MCP, or use the REST API directly.

  • Let an authorized agent receive a standard HTTP 402 Stripe payment challenge; discovery and preflight never charge.

Related MCP server: diffgrab

Offers

  • Free: one public source, daily for 30 days, 30 scheduled checks including the baseline, five manual checks, latest receipt only, no webhook.

  • Monitor Pass: $9 once for 30 days, five sources, 14,400 scheduled checks at 15-minute cadence including baselines, 600 manual checks, full history, signed webhooks, REST, MCP, and agent payment support.

  • Evidence plans, monthly, cancel any time: Evidence Starter $29 a month (up to 25 pages checked every 6 hours) and Evidence Pro $99 a month (up to 150 pages checked hourly, plus signed webhooks). Both add price floors with email alerts, bulk page lists and timestamped proof packets: the exact page bytes, a signed manifest and an RFC 3161 timestamp from an outside authority. Details: evidence plans.

Verified scope

Tested end to end in production (2026-09-08): change detection, signed webhook delivery and Stripe checkout.

Boundaries

FluxProof accepts public HTTP or HTTPS text, HTML, JSON, and XML responses up to 3 MB. It does not sign in, solve bot challenges, or render JavaScript-only pages in a browser. Free and Monitor Pass deliver by dashboard, webhook, REST and MCP; Evidence plans also send email alerts; there is no SMS or mobile push. Mature general-purpose monitors remain stronger for browser automation, notification breadth, and raw monitor count.

Commercial and source boundary

This repository's documentation, discovery metadata and examples are MIT licensed under the root LICENSE, so you can copy and adapt them freely. The n8n client wrapper and guide in guides/n8n carry the same MIT licence.

The MIT licence does not cover the FluxProof monitoring engine or the hosted service at fluxproof.tryneverclosed.com. Their source is not in this repository and is not licensed or distributed here; buying access does not transfer source or redistribution rights. Paid history, upstream data, credentials and account or payment rights keep their own terms.

Support: open an issue. Never post API keys, card data, passwords, or private URLs.

Local stdio client

server.mjs is a small stdio MCP server for clients and directories that start servers locally. It lists the same six tools and sends every call to the hosted service at https://fluxproof.tryneverclosed.com/mcp; nothing runs or is stored locally. Set FLUXPROOF_API_KEY to send your key as a bearer token.

npm ci && node server.mjs

Available Tools

6 tools
fluxproof_check_nowCheck a watched page nowAInspect

Run a monitor now and return a source- and hash-bound change receipt. Consumes check quota, stores a receipt and may deliver a configured webhook. Not an idempotent read.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyNoBuyer-owned FluxProof API key; a secret credential.
monitor_idYesExact monitor_id returned when this key created the monitor; another account cannot access it.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false and destructiveHint=false, but the description adds genuinely new behavioral context: quota consumption, persistence of a receipt, and possible webhook delivery as a side effect. This is meaningful added value beyond the structured hints, though it stops short of describing authorization or failure behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences, front-loaded with the action and result, followed by the cost/side-effect disclosure. Every clause earns its place and nothing is repeated from the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a side-effecting, non-idempotent action tool with no output schema, the description covers the success artifact ('change receipt'), the cost (quota), and the side effects (receipt stored, webhook fired). The remaining gap is the absence of any error or authorization expectation, but the core operational picture is complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both api_key and monitor_id documented in the schema, including the binding constraint that the monitor must belong to the calling key. The description adds nothing about parameter format or constraints, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource — run a monitor and return a source- and hash-bound change receipt — which is far more precise than the title alone. It implicitly distinguishes itself from read-oriented siblings like fluxproof_list_changes by declaring it is 'not an idempotent read,' though it never names an alternative tool to route to.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the effect disclosure ('consumes check quota, stores a receipt, may deliver a webhook'), which tells an agent the cost of calling it. However, there is no explicit when-to-use versus when-not-to-use guidance, and no alternative such as fluxproof_list_changes is named for the case where the agent only wants existing results.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fluxproof_create_monitorStart watching a pageAInspect

Create a monitor using a buyer-owned FluxProof API key. Creates persistent state and performs a baseline check, consuming quota. Not idempotent: each call creates a new monitor.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesRequired: the full address of one public web page, for example https://example.com/ or https://store.example.com/products/item. Not a search phrase or product name. No sign-in, cookies, browser rendering or private-network targets.
labelNoOptional human-readable monitor label, up to 120 characters.
api_keyNoBuyer-owned FluxProof API key; a secret credential.
watch_termsNoOptional terms to track, each 2–80 characters; at most 20 distinct terms.
webhook_urlNoOptional public HTTPS webhook receiver; paid pass required. Delivery is signed and can occur when checks run.
interval_minutesNoRequested schedule in minutes. Free keys use 1440 (daily); paid passes have a 15-minute minimum.

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (which already flag readOnly=false and idempotent=false), the description discloses that the call creates persistent state, performs a baseline check, and consumes quota — meaningful operational context. The non-idempotent statement is somewhat redundant with idempotentHint=false, and it omits any note on rate limits or error behavior, keeping it below a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with zero filler; the API-key prerequisite, the side effects, and the idempotency caveat are all front-loaded and immediately actionable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-parameter mutation tool with no output schema, the description covers creation semantics, side effects, and quota cost well. The one gap is that it never indicates what is returned (e.g. a monitor identifier) that the agent would need for follow-up calls, which is more relevant given no output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all six parameters with detail (URL constraints, term limits, interval minimums). The description adds no parameter-level meaning beyond what the schema provides, which is the expected baseline of 3 when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Create a monitor') and reinforces it with the title's 'Start watching a page', making the core action unambiguous. It does not explicitly differentiate itself from siblings like fluxproof_check_now or fluxproof_preflight, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a prerequisite (a buyer-owned API key) but never states when to choose this tool over fluxproof_check_now, fluxproof_preflight, or fluxproof_get_free_key. There is no explicit when-to-use or when-not-to-use guidance, leaving the agent to infer selection from sibling names alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fluxproof_get_free_keyGet a free API keyAInspect

Create a free FluxProof API key: one page, checked daily, for 30 days, no card. One per network per month. The key is returned once and is a secret credential.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover the generic flags (readOnlyHint=false, idempotentHint=false). The description adds genuinely useful behavior beyond them: the key is returned only once, it is a secret credential, and there is a per-network monthly issuance limit. It does not say what the response payload looks like or how to use the key afterward, keeping it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One tight sentence, front-loaded with the verb and resource, with no filler. The comma-chained clauses ('one page, checked daily, for 30 days, no card') are dense and could be structured slightly more legibly, which keeps it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, no-output-schema provisioning call, the description covers the essentials: what is created, the free-tier terms, the rate limit, and the one-time secret nature of the credential. Only minor gaps remain (credential format, whether it binds to an account).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is no parameter semantics to document; the baseline for a parameterless tool is 4. The description correctly does not invent or discuss inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Create a free FluxProof API key') and immediately qualifies scope with concrete constraints (one page, daily checks, 30 days). It is easy to distinguish from siblings like fluxproof_create_monitor or fluxproof_check_now, though it never names an alternative explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is implied through constraints: 'no card' and 'one per network per month' tell the agent when the call will succeed or fail. However, there is no explicit when-to-use or routing versus the sibling tools, so the agent must infer that this is the onboarding/credential step.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fluxproof_list_changesList recorded changesC
Read-onlyIdempotent
Inspect

List recent evidence receipts for a monitor.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum recent receipts requested; defaults to 20. History access is restricted by the key’s plan.
api_keyNoBuyer-owned FluxProof API key; a secret credential.
monitor_idYesExact monitor_id returned when this key created the monitor; another account cannot access it.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and a closed-world scope, so safety is fully covered by structured data. The description adds only the word 'recent', giving no ordering, pagination, or truncation behavior, and it does not mention that history depth is plan-gated (that constraint lives only in the schema).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler, which is structurally sound. It is arguably too terse for the amount of unexplained domain vocabulary, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries the burden of describing what is returned, yet it never says what an 'evidence receipt' contains, how results are ordered, or how the limit interacts with a monitor's history. For a tool whose entire value is the returned list, this leaves a significant gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so monitor_id, limit (with its default of 20 and plan restriction), and api_key are all documented in the schema. The description adds no extra meaning about these parameters, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('List') and resource ('evidence receipts for a monitor'), so an agent knows it retrieves recorded history for a given monitor. However, the name says 'changes' while the description says 'receipts', and neither the term 'evidence receipt' nor its relationship to a 'change' is explained. No sibling tool does the same thing, so differentiation is not a practical problem.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no conditions, and no mention of the alternatives an agent might reach for (e.g., fluxproof_check_now to produce a fresh check versus this tool to read past ones). The agent must infer that this is the read-history counterpart from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fluxproof_offerShow plans and pricesA
Read-onlyIdempotent
Inspect

Return free and paid boundaries and purchase routes without charging. Returns the free daily plan, the $9 paid pass, the human checkout link and the agent payment route. Example: {}. Reading the offer charges nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish readOnly, idempotent, non-destructive, and closed-world behavior, so the safety profile is covered. The description adds genuinely non-structured context: this call cannot trigger a charge, and it exposes both a human checkout link and a separate agent payment route. That payment-route detail is behavioral information not available in the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The content list is front-loaded and useful, but the no-charge point is repeated twice ('without charging' and 'Reading the offer charges nothing'), and 'Example: {}' is largely filler for a no-argument tool. Mildly redundant rather than tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must convey what comes back, and it does so by enumerating the four returned items. With annotations covering safety and no parameters to document, an agent has enough to call this correctly; only the exact response shape remains unstated, which is acceptable here.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters and 100% schema description coverage, the baseline is 4. The 'Example: {}' notation reinforces that the call takes no arguments, adding a little confirmation but no parameter semantics beyond what the empty schema already shows.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb (Return) and resource (free and paid boundaries and purchase routes), then enumerates the concrete items returned (free daily plan, $9 paid pass, checkout link, agent payment route). That is far more specific than a tautology. It does not explicitly distinguish itself from siblings, but the pricing/offer domain is clearly unique among them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: reading the offer is described as a no-cost way to inspect plans before purchasing, which suggests when to call it. However, there is no explicit comparison to alternatives such as fluxproof_get_free_key, nor a stated condition for choosing this over them. Implied usage, minimum viable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fluxproof_preflightCheck a public page (free)A
Read-onlyIdempotent
Inspect

Fetch a public URL and return fetchability, size, final URL, title, and content hash without page content or payment. How it works: given one public page address, FluxProof fetches it once and says whether it can watch it; nothing is created or charged. Example: {"url":"https://example.com/"}.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesRequired: the full address of one public web page, for example https://example.com/ or https://store.example.com/products/item. Not a search phrase or product name. No sign-in, cookies, browser rendering or private-network targets.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely new behavioral facts beyond the annotations: no payment is charged, no page content is returned, and the fetch happens exactly once. It stops short of describing rate limits or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the action and its outputs, followed by mechanics and an example. The JSON example largely duplicates the schema's own example, which is minor redundancy rather than bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description correctly carries the burden of naming the returned fields (fetchability, size, final URL, title, content hash). For a one-parameter read-only tool with full annotation coverage, that is nearly everything an agent needs; only error/failure semantics are absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single 'url' property already carries a detailed description (full page address, not a search phrase, no sign-in/cookies/rendering/private networks). The description only restates the one-URL constraint and repeats an example URL already present in the schema, so it adds little beyond structured data. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Fetch a public URL') and enumerates the return values (fetchability, size, final URL, title, content hash). It implicitly separates itself from write-side siblings by noting 'nothing is created or charged', but never names create_monitor or check_now directly, so sibling differentiation is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'preflight' framing plus 'says whether it can watch it' and 'nothing is created or charged' implies this is a free pre-check run before creating a monitor, but no alternative is named and no explicit when-not condition is given. Usage is implied rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv0.1.1
    • First observedfluxproof_check_now
    • First observedfluxproof_create_monitor
    • First observedfluxproof_get_free_key
    • First observedfluxproof_list_changes
    • First observedfluxproof_offer
    • First observedfluxproof_preflight

TDQS

B3.4/5.0

Scored across 6 tools

Disambiguation4/5

Each tool has a distinct role: preflight checks fetchability without charge, offer returns pricing, get_free_key issues a credential, create_monitor sets up state, check_now runs a check, and list_changes reads receipts. There is mild conceptual overlap between preflight and check_now (both fetch a page), but descriptions clarify that only check_now consumes quota and persists state.

Naming Consistency4/5

All tools share the fluxproof_ prefix and mostly use a verb_noun pattern (get_free_key, create_monitor, check_now, list_changes). The two outliers, preflight and offer, are bare nouns/verbs that break the pattern slightly but remain readable and unambiguous.

Tool Count4/5

Six tools is a well-scoped set for a URL-change monitoring service covering onboarding, payment info, and monitor lifecycle basics. It is on the lean side but every tool earns its place with no filler.

Completeness3/5

The surface covers key acquisition, offer discovery, fetchability pre-check, monitor creation, checking, and receipt listing. However, there is no way to list monitors, get monitor details, update, or delete a monitor, so the lifecycle is only partially closed and agents will hit dead ends when managing existing monitors.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers