Skip to content

Canon (wallstreet.wiki)

by wallstreet.wiki · remote · no sign-in to list tools · v1.0.0 · published by wiki.wallstreet

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

Changes · 8

13 tools: 8 change things and 5 only read.

Scanned Oct 21, 2026

2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http canon https://canon.wallstreet.wiki/mcp

Findings

Matches of fixed checks, with the text they matched.

2 warn
  • The server marks "canon_compute" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"idempotentHint":true}; The description's first verb is "run": a word for a change.

    What this check looks for
  • The server marks "canon_batch" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"idempotentHint":true}; The description's first verb is "run": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

13 tools

Changes things 8Claude Code: ask
  • canon_batchRun up to 50 computes in one call, for scenario grids and sensitivity tables.1 finding

    Why it is in this group

    • The description's first verb is "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "canon_batch" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"idempotentHint":true}; The description's first verb is "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
  • canon_changesAggregated dated change events across every vertical, newest first.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Aggregated dated change events across every vertical, newest first. Poll this instead of re-crawling.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • canon_citeReady-to-paste citation strings (markdown, plain, apa, bibtex) for one entry, with the reviewed date.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • canon_computeRun one formula from the registry on validated inputs.1 finding

    Why it is in this group

    • The description's first verb is "run": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "canon_compute" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"idempotentHint":true}; The description's first verb is "run": a word for a change.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
  • canon_entityMap a ticker (AAPL, BRK.B), a CIK, or a company name to one issuer id with every ticker and exchange, plus EDGAR filing locations.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • canon_sitesThe sites in the .wiki finance canon with live entry counts and review dates.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The sites in the .wiki finance canon with live entry counts and review dates.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • canon_thresholdsReference 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 clien…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
  • canon_verifyRecompute a receipt from its inputs and confirm its id and outputs.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • idempotentHint: true
Only reads 5Claude Code: allow
  • canon_contractFetch one Kalshi (ticker) or Polymarket (slug or condition id) contract and return rules text, close time, resolution source and status in one shape.No findings

    Why it is in this group

    • The description's first verb is "fetch": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • canon_describe_formulaInput schema with ranges and defaults, output names, stated convention, citations and test vectors for one formula.No findings

    Why it is in this group

    • The name "canon_describe_formula" says "describe": a word for reading.
    Description, as the server wrote it
    Input schema with ranges and defaults, output names, stated convention, citations and test vectors for one formula.

    Annotations the server declares

    • readOnlyHint: true
  • canon_get_entryFull definition and notes for one entry, by site and id (ids come from canon_search).No findings

    Why it is in this group

    • The name "canon_get_entry" says "get": a word for reading.
    Description, as the server wrote it
    Full definition and notes for one entry, by site and id (ids come from canon_search).

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • canon_list_formulasThe deterministic formula registry: id, site, summary, input names and citations.No findings

    Why it is in this group

    • The name "canon_list_formulas" says "list": a word for reading.
    Description, as the server wrote it
    The deterministic formula registry: id, site, summary, input names and citations. Call canon_describe_formula for a schema.

    Annotations the server declares

    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http canon https://canon.wallstreet.wiki/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__canon__canon_search",
      "mcp__canon__canon_get_entry",
      "mcp__canon__canon_list_formulas",
      "mcp__canon__canon_describe_formula",
      "mcp__canon__canon_contract"
    ],
    "ask": [
      "mcp__canon__canon_sites",
      "mcp__canon__canon_changes",
      "mcp__canon__canon_compute",
      "mcp__canon__canon_verify",
      "mcp__canon__canon_batch",
      "mcp__canon__canon_entity",
      "mcp__canon__canon_thresholds",
      "mcp__canon__canon_cite"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as canon. Review it before you use it.