io.github.brawlaphant/vealth
REMOTE · VEALTH.NET · SCANNED AUG 3
Vealth work board: find real work, claim free with your wallet, prove it. Free onchain anchoring.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 17 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability68
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 2584 tokens (~152/item across 17 items; 17 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management3
- Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · vealth.net
claude mcp add --transport http brawlaphant-vealth https://vealth.net/mcp
[mcp_servers.brawlaphant-vealth] url = "https://vealth.net/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"brawlaphant-vealth": {
"type": "remote",
"url": "https://vealth.net/mcp",
"enabled": true
}
}
} openclaw mcp add brawlaphant-vealth --url https://vealth.net/mcp --transport streamable-http
mcp_servers:
brawlaphant-vealth:
url: "https://vealth.net/mcp" {
"mcpServers": {
"brawlaphant-vealth": {
"type": "http",
"url": "https://vealth.net/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +5
- HTTPS: fail → pass ▲ security
- The server rewrote its instructions, which are the text every model session reads security
- Schema quality: 2139 → 2584 ▼ functional
- Stability: unverified → 0.03 ▲ functional
- New tool “funding_quote” functional
- New tool “prepare_funding” functional
- 2 Aug 26 57
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://vealth.net/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=vealth.net | CN=YE1,O=Let's Encrypt,C=US | 4 Jul 2026 | 2 Oct 2026 | ECDSA 256 | ECDSA-SHA384 | 5bd21dabf7019dbd2074ce613f513455425 |
| SANs: *.vealth.net, vealth.net | ||||||
| CN=YE1,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 5ddd70dd31f801c85c186a7a04b80afe |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
DNSSEC insecure
Validation of vealth.net. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| net. | present | 37331 | 13 | Verified |
| vealth.net. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| content-security-policy | default-src 'self'; script-src 'self' 'unsafe-inline' https://static.cloudflareinsights.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; img-src 'self' data:; connect-src 'self' https://cloudflareinsights.com https://base.publicnode.com https://base.llamarpc.com https://mainnet.base.org https://1rpc.io https://regen-api.polkachu.com; base-uri 'self'; form-action 'self'; frame-ancestors 'self'; object-src 'none'; upgrade-insecure-requests; |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | strict-origin-when-cross-origin |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://vealth.net/mcp | Verified | 200 | |
| http (plaintext) | http://vealth.net/mcp | HTTPS enforced | 301 | https://vealth.net/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
anchor_proof Timestamp a file onchain so you can prove you had it first ~174
Anchor the SHA-256 of any file onchain, free. Use it the moment you produce something whose PRIORITY matters: a security finding before you disclose it, research before you share it, a draft before you send it out. You send only the hash, never the file, so nothing you make is disclosed to anyone. It lands in the next weekly Base batch and the Ethereum root, and from then on anyone can prove those exact bytes existed by that time. Free to submit, free to verify, no account, no wallet, no payment.
| Name | Type | Req | Description |
|---|---|---|---|
| label | string | — | Optional short public label for your own reference. Never include anything secret. |
| sha256 | string | yes | SHA-256 of your file, 64 lowercase hex characters. Get it with: shasum -a 256 <file> |
No output schema declared.
No examples provided.
board_stats Live board statistics ~121
Live counts from the Vealth work board, read at this moment — total and open work, claims, settlements, proposed value, and the sector breakdown. Pass a location to also count work nearby. Never cached; the public mirror is https://vealth.net/labor/stats. Free, keyless, read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| latitude | number | — | Optional: also count open work near this point. |
| longitude | number | — | Optional: also count open work near this point. |
| radiusKm | number | — | Nearby radius in km. Default 50. |
No output schema declared.
No examples provided.
estimate_footprint Turn this AI session into real provisioned ecological work ~168
The anchor tool. Give a rough token or call count for your AI session and get an order-of-magnitude CO2e estimate PLUS the real, verifiable ecological work you can provision to answer it on Vealth. Vealth does NOT sell paper offsets — it provisions maintenance of the commons: you fund a bounded work packet keyless from your own wallet, an approved proof retires carbon, and you receive an on-chain retirement certificate that compounds. Call find_work next to pick the work. The estimate is orientation only, never a precise carbon claim, and this server never takes payment or holds a wallet.
| Name | Type | Req | Description |
|---|---|---|---|
| calls | number | — | Or approx number of model calls, if you have no token count. |
| tokens | number | — | Approx total tokens this session (input + output). |
No output schema declared.
No examples provided.
find_work Find real work nearby ~174
Search Vealth's public board of real ecological and community work packets. Each result includes the pay, the skill level, the exact proof that gets it approved, and a page URL. Free, no account, no wallet. Use this when someone asks for work, a job, a task, or something to do near a place.
| Name | Type | Req | Description |
|---|---|---|---|
| latitude | number | — | Center of the search. |
| limit | number | — | Max results, 1-25. Default 10. |
| longitude | number | — | Center of the search. |
| query | string | — | Free text, e.g. 'storm drain' or 'tree planting'. Typo-tolerant. |
| radiusKm | number | — | Search radius in km. Default 50. |
| skillLevel | string | — | Use 'entry' for someone starting today. |
No output schema declared.
No examples provided.
funding_quote Can this packet be funded, and what would it cost ~188
For a BUYER, not a worker: ask whether one board packet can be funded right now, and what funding it costs. The price is the board's own posted wage — it is read from the board, never from anything you send, so no caller can fund a $700 packet for $1. Partial funding: when the host has chip-ins armed, any open packet also takes contributions from $0.01 up to what it still needs (contributeUsd on the funding POST), and paying above the wage is welcome — the extra is recorded as a premium reserved for the worker. A refusal comes back in the board's own words (already funded, claimed, settled, expired, no wage). Read-only: this quotes, it charges nothing and marks nothing funded. Call prepare_funding next to actually pay.
| Name | Type | Req | Description |
|---|---|---|---|
| workId | string | yes | The packet id, from find_work. |
No output schema declared.
No examples provided.
get_work_packet Get one work packet ~53
Full detail for a single packet by its id, including the full description and proof requirement.
| Name | Type | Req | Description |
|---|---|---|---|
| workId | string | yes | e.g. WORK_1784530149768_4z4r6jz |
No output schema declared.
No examples provided.
how_to_claim How to claim a packet and get paid ~44
Explains exactly how to claim work and what happens after. Claiming is free. Returns instructions, never performs the claim, because claiming requires the worker's own wallet signature.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
prepare_claim Prepare a free signed claim (step 1 of 2) ~137
Start claiming a packet for a wallet you control. Returns MESSAGE_TO_SIGN (the exact string the write gate verifies) and BODY_JSON (the exact body to submit). Claiming is FREE — the signature proves the wallet is yours; it is never a payment and costs no gas. Sign MESSAGE_TO_SIGN with the wallet's personal_sign (any wallet tool works; never share a private key with anyone, including this server), then call submit_claim within 5 minutes.
| Name | Type | Req | Description |
|---|---|---|---|
| workId | string | yes | The packet id, from find_work. |
| workerWallet | string | yes | The 0x… address that will sign and own this claim. |
No output schema declared.
No examples provided.
prepare_funding Get everything needed to actually pay for a packet ~201
Step 2 for a buyer: returns the live payment requirements for funding a packet — the onchain door's own x402 challenge (accepts[], exact amount, asset, chain, pay-to address) read from that door at this moment, and, when a card rail is mounted on this host, its hosted checkout URL. To chip in a slice instead of the whole wage, include contributeUsd in the funding POST the challenge names; omit it to pay everything the packet still needs. You pay from YOUR own wallet or card; this server holds no funds and no keys, takes no payment, and marks nothing funded. A packet becomes funded only when a payment actually settles and is verified.
| Name | Type | Req | Description |
|---|---|---|---|
| funderWallet | string | — | The 0x… address that will pay onchain. Needed for the onchain door's live challenge; the card path does not use it. |
| workId | string | yes | The packet id, from find_work. |
No output schema declared.
No examples provided.
prepare_proof Prepare signed proof of finished work (step 1 of 2) ~239
You did the work — start handing in proof. Pass the packet's workId, your claimId (from submit_claim), your wallet, and proof items matching the packet's own proof line (photos with GPS for field work; documents/text for digital work). Returns MESSAGE_TO_SIGN and BODY_JSON. Submitting proof is FREE when signed — a worker is never charged at the moment they have earned the right to be asked for nothing. Sign, then call submit_proof within 5 minutes.
| Name | Type | Req | Description |
|---|---|---|---|
| claimId | string | yes | Returned by submit_claim. |
| gps | object | — | For geolocated field work: {lat, lng} captured ON SITE — the gate refuses geolocated proof without it. |
| proofs | array | yes | 1-20 proof items, e.g. {"type":"photo","uri":"https://…","capturedAt":"<ISO>","lat":…,"lng":…}. The packet's proof line (get_work_packet) says exactly what it needs. |
| workId | string | yes | The packet id. |
| workerWallet | string | yes | The same 0x… address that claimed. |
No output schema declared.
No examples provided.
provision_work Provision a bounded packet of real ecological work ~184
Turn a place + problem (or a board packet id) into provisioned work: a bounded packet with scope, standards-registered method, proof requirement, tCO2e estimate, and the keyless funding path YOU pay from your own wallet. This tool returns the packet and the path; it never spends, never holds funds, never signs. Approved proof retires carbon and issues an on-chain certificate — provision, not offset.
| Name | Type | Req | Description |
|---|---|---|---|
| latitude | number | — | Center of the search, with query. |
| longitude | number | — | Center of the search, with query. |
| query | string | — | Or free text for the problem, e.g. 'storm drain' or 'tree planting'. |
| radiusKm | number | — | Search radius in km. Default 50. |
| workId | string | — | Provision a specific open board packet by id (from find_work). |
No output schema declared.
No examples provided.
retire_and_certify Retire carbon on-chain and get the certificate ~145
How to retire a given tCO2e amount for real, on-chain, via the Klima rail — paid keyless from the caller's own wallet, returning a confirmed retire transaction as the certificate. Returns instructions and the exact door; this server never performs the retirement and never holds a wallet. The retirement is real; any footprint number behind it stays orientation, never a precise carbon claim.
| Name | Type | Req | Description |
|---|---|---|---|
| amount_tco2e | number | yes | Tonnes of CO2e to retire, e.g. 0.005. |
| beneficiary_name | string | — | Optional name to record on the retirement. |
| retirement_message | string | — | Optional message to record on the retirement. |
No output schema declared.
No examples provided.
submit_claim Submit the signed claim (step 2 of 2) ~120
Complete the claim: pass the BODY_JSON string from prepare_claim UNCHANGED plus the signature your wallet produced over MESSAGE_TO_SIGN. This server relays the signed request to the same public claim gate any HTTP client uses — it holds no keys and no funds, and without your signature it can do nothing. Success returns your claimId; keep it, proof submission needs it.
| Name | Type | Req | Description |
|---|---|---|---|
| bodyJson | string | yes | The exact BODY_JSON string from prepare_claim, unchanged. |
| signature | string | yes | The 0x… personal_sign output over MESSAGE_TO_SIGN. |
No output schema declared.
No examples provided.
submit_proof Submit the signed proof (step 2 of 2) ~130
Relay the signed proof to the public completion gate: pass workId, the BODY_JSON from prepare_proof UNCHANGED, and the signature over MESSAGE_TO_SIGN. Approval follows (the creator, or self-verification where the packet supports it); funded packets settle the wage after approval, unfunded packets record provable credit. work_status shows where it stands.
| Name | Type | Req | Description |
|---|---|---|---|
| bodyJson | string | yes | The exact BODY_JSON string from prepare_proof, unchanged. |
| signature | string | yes | The 0x… personal_sign output over MESSAGE_TO_SIGN. |
| workId | string | yes | The packet id. |
No output schema declared.
No examples provided.
verify_anchor Check whether a file was anchored, and when ~93
Given the SHA-256 of a file, say whether it is anchored, when, and return the merkle proof plus the transaction so the caller can check it independently without trusting Vealth. Use it to confirm someone held a document when they claim they did, or to confirm your own submission landed. Free and keyless.
| Name | Type | Req | Description |
|---|---|---|---|
| sha256 | string | yes | SHA-256 of the file, 64 lowercase hex characters. |
No output schema declared.
No examples provided.
verify_work Verify a work claim into a signed certificate ~164
Check a proof URI is safely machine-checkable, then get the exact path to Vealth's paid verification door: a SIGNED, re-checkable certificate anyone can reproduce — no oracle, no judge. Digital claims only; physical proof (photo + GPS + signature) is honestly routed to human review, never faked. This tool validates and instructs; the caller pays the door from their own wallet.
| Name | Type | Req | Description |
|---|---|---|---|
| definitionId | string | — | Optional self-verifying definition id, if known. |
| proofUri | string | yes | https URL of the LIVE proof to verify. No auth, no query parameters. |
| standard | string | — | Optional standard key the claim is made against. |
| workId | string | — | Optional board packet id, to check its specific proof requirement. |
No output schema declared.
No examples provided.
work_status Where a packet stands right now ~71
Live lifecycle state of one packet — OPEN, CLAIMED, PROOF_SUBMITTED, APPROVED, PROOF_REJECTED, SETTLED or EXPIRED — plus its honest pay status (funded vs proposed). Free, keyless, read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| workId | string | yes | The packet id. |
No output schema declared.
No examples provided.