# io.github.brawlaphant/vealth (remote · vealth.net)

Vealth work board: find real work, claim free with your wallet, prove it. Free onchain anchoring.

- Trust score: 62/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `vealth.net`: 62/100 (this document), [markdown](https://verifymcp.io/servers/brawlaphant-vealth/vealth.md), [page](https://verifymcp.io/servers/brawlaphant-vealth/vealth)

## Channel facts

- Endpoint: `https://vealth.net/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - 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.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 68/100
  - AI-judged instruction clarity (excellent).
  - 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.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 3/100
  - Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http brawlaphant-vealth https://vealth.net/mcp
```

### Codex

```toml
[mcp_servers.brawlaphant-vealth]
url = "https://vealth.net/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "brawlaphant-vealth": {
      "type": "remote",
      "url": "https://vealth.net/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add brawlaphant-vealth --url https://vealth.net/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  brawlaphant-vealth:
    url: "https://vealth.net/mcp"
```

### Other

```json
{
  "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.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 62, +5)

- [security improvement] HTTPS: fail → pass
- [security] The server rewrote its instructions, which are the text every model session reads
- [functional regression] Schema quality: 2139 → 2584
- [functional improvement] Stability: unverified → 0.03
- [functional] New tool “funding_quote”
- [functional] New tool “prepare_funding”

### 2026-08-02 (score 57)

First indexed and scored.

## MCP tools (17)

### `find_work` (~174 tokens)

Find real work nearby

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.

Input parameters:

- `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.

### `get_work_packet` (~53 tokens)

Get one work packet

Full detail for a single packet by its id, including the full description and proof requirement.

Input parameters:

- `workId` (string, required): e.g. WORK_1784530149768_4z4r6jz

### `how_to_claim` (~44 tokens)

How to claim a packet and get paid

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.

### `estimate_footprint` (~168 tokens)

Turn this AI session into real provisioned ecological work

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.

Input parameters:

- `calls` (number): Or approx number of model calls, if you have no token count.
- `tokens` (number): Approx total tokens this session (input + output).

### `provision_work` (~184 tokens)

Provision a bounded packet of real ecological work

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.

Input parameters:

- `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).

### `retire_and_certify` (~145 tokens)

Retire carbon on-chain and get the certificate

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.

Input parameters:

- `amount_tco2e` (number, required): 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.

### `verify_work` (~164 tokens)

Verify a work claim into a signed certificate

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.

Input parameters:

- `definitionId` (string): Optional self-verifying definition id, if known.
- `proofUri` (string, required): 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.

### `anchor_proof` (~174 tokens)

Timestamp a file onchain so you can prove you had it first

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.

Input parameters:

- `label` (string): Optional short public label for your own reference. Never include anything secret.
- `sha256` (string, required): SHA-256 of your file, 64 lowercase hex characters. Get it with: shasum -a 256 <file>

### `verify_anchor` (~93 tokens)

Check whether a file was anchored, and when

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.

Input parameters:

- `sha256` (string, required): SHA-256 of the file, 64 lowercase hex characters.

### `board_stats` (~121 tokens)

Live board statistics

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.

Input parameters:

- `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.

### `prepare_claim` (~137 tokens)

Prepare a free signed claim (step 1 of 2)

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.

Input parameters:

- `workId` (string, required): The packet id, from find_work.
- `workerWallet` (string, required): The 0x… address that will sign and own this claim.

### `submit_claim` (~120 tokens)

Submit the signed claim (step 2 of 2)

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.

Input parameters:

- `bodyJson` (string, required): The exact BODY_JSON string from prepare_claim, unchanged.
- `signature` (string, required): The 0x… personal_sign output over MESSAGE_TO_SIGN.

### `prepare_proof` (~239 tokens)

Prepare signed proof of finished work (step 1 of 2)

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.

Input parameters:

- `claimId` (string, required): Returned by submit_claim.
- `gps` (object): For geolocated field work: {lat, lng} captured ON SITE — the gate refuses geolocated proof without it.
- `proofs` (array, required): 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, required): The packet id.
- `workerWallet` (string, required): The same 0x… address that claimed.

### `submit_proof` (~130 tokens)

Submit the signed proof (step 2 of 2)

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.

Input parameters:

- `bodyJson` (string, required): The exact BODY_JSON string from prepare_proof, unchanged.
- `signature` (string, required): The 0x… personal_sign output over MESSAGE_TO_SIGN.
- `workId` (string, required): The packet id.

### `work_status` (~71 tokens)

Where a packet stands right now

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.

Input parameters:

- `workId` (string, required): The packet id.

### `funding_quote` (~188 tokens)

Can this packet be funded, and what would it cost

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.

Input parameters:

- `workId` (string, required): The packet id, from find_work.

### `prepare_funding` (~201 tokens)

Get everything needed to actually pay for a packet

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.

Input parameters:

- `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, required): The packet id, from find_work.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/brawlaphant-vealth/vealth#diagnostics

## Score history

- 2026-08-03: 62
- 2026-08-02: 57

## Links

- Remote endpoint: https://vealth.net/mcp
- Website: https://vealth.net/
- Changelog RSS feed: https://verifymcp.io/servers/brawlaphant-vealth/vealth/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/brawlaphant-vealth/vealth/changelog.json
- HTML version of this page: https://verifymcp.io/servers/brawlaphant-vealth/vealth
