# com.wenreceipts/site

> Wen Receipts: the site's own MCP server — dataset, enquiry, entities, listing (enquiry = a human...

- name: com.wenreceipts/site
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 84/100 flags: duplicate-repo
- quality: 79/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.wenreceipts%2Fsite
- tools: https://api.protogrid.dev/v1/servers/com.wenreceipts%2Fsite/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "site": {
      "type": "http",
      "url": "https://wenreceipts.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 60
- liveness: 97
- freshness: 85
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-93% ~updated-38d-ago -duplicate-repo(66 names)
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 79/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### 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: dataset_columns (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); listing_withdraw (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); dataset_top (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 3,709 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

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

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

- tools: 32, about 3,709 tokens to load them all
- tool set hash: ff72ae1e57961be60b11092e0514ee2d
- badge: [![protogrid quality](https://protogrid.dev/badge/com.wenreceipts/site.svg)](https://protogrid.dev/servers/com.wenreceipts/site)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://wenreceipts.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.9339623)

## Packages

_none_

## Tools (32)

- `agent_session_start`: Give a Solana address; get the exact message to sign. A signature, not a transaction: no fee, nothing moves. Then call agent_session_verify with the base64 signature.
- `agent_session_verify`: The address, the exact message from agent_session_start and its base64 Ed25519 signature. Returns a session token to pass as `session` to every later call (valid 30 days, revocable from the account page).
- `claim_public`: Whether an entry has a verified claim, by which proof and when — never by whom.
- `claim_start`: Names the entry (scheme + value, e.g. lei); returns the proof domain the register lists and the token to place as a TXT record, a well-known file, or via a verified email there.
- `claim_status`: Every claim of this account with its status and, while pending, the instructions.
- `claim_verify`: The server reads DNS, the well-known file and the verified email; verified claims are badges on the profile.
- `dataset_columns`: The columns, which of them are numeric, the row count and the provenance banner of the Wen Receipts dataset. Call this first to learn the schema.
- `dataset_compare`: The rows of the Wen Receipts dataset whose column is any of the given values, in the order given — for "X vs Y" questions.
- `dataset_provenance`: The source, the date it was computed, the licence and the citation for the Wen Receipts dataset. Read this to attribute a figure correctly.
- `dataset_row`: The rows of the Wen Receipts dataset where a column equals a value exactly (case-insensitive).
- `dataset_search`: Rows of the Wen Receipts dataset whose cells contain the query (case-insensitive), up to 50.
- `dataset_stats`: count, min, max, mean, median and sum of a numeric column of the Wen Receipts dataset (grouping commas and currency are handled; non-numeric rows are excluded and counted).
- `dataset_top`: The highest (or lowest) rows of the Wen Receipts dataset by a numeric column — "which is the most/least X".
- `enquiry_describe`: Read first. States plainly what submit_enquiry does on Wen Receipts: it starts an enquiry with human providers who quote directly. Nothing is bought, ordered or paid; no quote is guaranteed; it is free. Also returns who receives the details, the consent wording, and how the person confirms.
- `enquiry_fields`: Every field of the Wen Receipts enquiry: key, label, type, whether required, help text and the allowed options where there are any. Pass answers to submit_enquiry keyed by field key.
- `entities_export`: Every entity of Wen Receipts register, 200 a page, with provenance. Needs an access key (Authorization: Bearer); export pages are metered per key per day. Without a key the answer says how to get one.
- `entities_in`: The Wen Receipts register entities in one region (a state or a jurisdiction, by id or name), optionally for one service, 50 a page.
- `entities_schema`: Which fields the Wen Receipts register register carries and on how many entities, the regions and services, the identifier schemes, and how to cite it. Call this first.
- `entities_search`: Entities of Wen Receipts register whose name, commercial name, website, address or authority contains the query, optionally within a region (id or name) and a service (slug or name). Up to 50 rows.
- `entity_lookup`: The Wen Receipts register entry for a firm, by its register identifier (scheme + value, e.g. lei) or by the slug of its page. Exact match; returns the whole record with its page.
- `listing_confirm_usdc`: The SERVER finds the transfer by reference and reads the treasury's balance change; a short or wrong-token transfer is reported by name and not credited. On success the listing enters review.
- `listing_describe`: What a listing on Wen Receipts is, what it costs, how it is paid, who publishes it, and every profile field it takes. Read this to the person first.
- `listing_draft`: Creates a listing draft on Wen Receipts. Send the fullest profile you can (listing_describe lists the fields); a scam-shaped or off-list field is refused by name. Returns the listing id and status awaiting_payment.
- `listing_pay_card`: Returns a Stripe Checkout URL at the site's price. A human completes it in a browser; the site learns of payment from Stripe's verified event, never from the browser.
- `listing_pay_stripe`: Send a Stripe payment method id (pm_...) the agent is entitled to use; the server charges the SITE's price off-session. Answers succeeded (the listing enters review) or requires_action (use listing_pay_card for a human); never charges an amount you name.
- `listing_pay_usdc`: Returns the Solana Pay transfer request: recipient, exact amount, USDC mint and a unique reference. Pay it from the wallet (include the reference as a read-only key), then call listing_confirm_usdc.
- `listings_published`: What firms have added on top of the register (published rows only), optionally for one register entry.
- `listing_status`: Every listing of this account with its status (awaiting_payment, pending_review, published, refused, withdrawn, expired).
- `listing_terms`: The clauses a listing is judged by, their version (send it back as termsVersion), and every profile field the directory takes.
- `listing_withdraw`: Takes down a listing of this account.
- `placements_active`: The Sponsored slot's contents for a page (home | region | leaf); labelled as sponsored in the answer.
- `submit_enquiry`: Submits an enquiry to Wen Receipts — NOT a purchase, NOT a guaranteed quote. Step 1: call with the answers (keyed by field key from enquiry_fields) and consent=true; it validates and returns a summary, the consent line and a confirmation token — show the person the summary and the consent line. Step 2: only if the person agrees, call again with the same answers, consent=true and the confirmation token; the enquiry is then submitted, and the person receives an email with a link they must click before any provider sees it. Consent means the person has read and agreed to: "By submitting you agree Wen Receipts may reply to your message by email. We do not sell your details to anyone."
