# Canon (wallstreet.wiki)

> Finance canon lookup plus 30 deterministic formulas, each with a verifiable receipt.

- name: wiki.wallstreet/canon
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 85/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/wiki.wallstreet%2Fcanon
- tools: https://api.protogrid.dev/v1/servers/wiki.wallstreet%2Fcanon/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "canon": {
      "type": "http",
      "url": "https://canon.wallstreet.wiki/mcp"
    }
  }
}
```


## Trust

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

## Quality 85/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: 86 (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
- pass `tools.annotations`: 13 of 13 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: canon_changes (destructiveHint, idempotentHint); canon_compute (destructiveHint, openWorldHint); canon_batch (destructiveHint, openWorldHint); …
- pass `tools.token_cost`: about 2,019 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: 13, about 2,019 tokens to load them all
- tool set hash: d374ee8b9e6fc14c021c8c5c6d727eae
- badge: [![protogrid quality](https://protogrid.dev/badge/wiki.wallstreet/canon.svg)](https://protogrid.dev/servers/wiki.wallstreet/canon)
- 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://canon.wallstreet.wiki/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (13)

- `canon_batch`: Run up to 50 computes in one call, for scenario grids and sensitivity tables. Each item returns its own receipt; the batch receipt id is sha256 over the sorted item receipt ids, so a whole table can be cited by one hash.
- `canon_changes`: Aggregated dated change events across every vertical, newest first. Poll this instead of re-crawling.
- `canon_cite`: Ready-to-paste citation strings (markdown, plain, apa, bibtex) for one entry, with the reviewed date. Use when writing a report that quotes the canon.
- `canon_compute`: Run one formula from the registry on validated inputs. Returns outputs, the convention used, citations, and a receipt whose id is sha256 over formula, version, canonical inputs and outputs. Invalid inputs return an explicit problem list and a working example instead of nulls.
- `canon_contract`: Fetch one Kalshi (ticker) or Polymarket (slug or condition id) contract and return rules text, close time, resolution source and status in one shape. For a paid cross-venue identity check with a snapshot receipt, call GET /v1/contracts/compare over REST.
- `canon_describe_formula`: Input schema with ranges and defaults, output names, stated convention, citations and test vectors for one formula.
- `canon_entity`: Map a ticker (AAPL, BRK.B), a CIK, or a company name to one issuer id with every ticker and exchange, plus EDGAR filing locations. Use before joining prices, filings and news so identifiers line up; source is the SEC public ticker file.
- `canon_get_entry`: Full definition and notes for one entry, by site and id (ids come from canon_search).
- `canon_list_formulas`: The deterministic formula registry: id, site, summary, input names and citations. Call canon_describe_formula for a schema.
- `canon_search`: Search defined terms and reference tables across all canon sites (options, fixed income, quants, PE, M&A, private credit, venture, hedge funds). Returns ranked hits with a citable url and the JSON source.
- `canon_sites`: The sites in the .wiki finance canon with live entry counts and review dates.
- `canon_thresholds`: Reference table of the regulatory figures agents get wrong: 13F, 13D and 13G, Form 4, Form PF tiers, adviser registration, 3(c)(1) and 3(c)(7), accredited investor, qualified client, Form D, CFTC 4.13(a)(3), ERISA 25 percent, AIFMD, HSR, Reg T. Each row carries the rule, authority, effective date, primary source and a confidence label. Filter by words or authority.
- `canon_verify`: Recompute a receipt from its inputs and confirm its id and outputs. Use it to check a number another agent or document claims came from this service.
