Canon (wallstreet.wiki)
Finance canon lookup plus 30 deterministic formulas, each with a verifiable receipt.
Should I use this
Quality & Safety
Findings (1)
- LOWin canon_entity
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"canon": {
"url": "https://canon.wallstreet.wiki/mcp"
}
}
}Remote endpoints
https://canon.wallstreet.wiki/mcpstreamable-httpWhat it can do
Tool inventory
Tools (13)
🟢canon_sites
The sites in the .wiki finance canon with live entry counts and review dates.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢canon_search(q, site, limit)
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.
Input Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Search phrase, e.g. \"modified duration\" or \"option pool shuffle\""
},
"site": {
"description": "Restrict to one site",
"type": "string",
"enum": [
"wallstreet.wiki",
"hedgefund.wiki",
"options.wiki",
"fixed-income.wiki",
"quants.wiki",
"pe-finance.wiki",
"m-a.wiki",
"privatecredit.wiki",
"venture-capital.wiki"
]
},
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"q"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢canon_get_entry(site, id)
Full definition and notes for one entry, by site and id (ids come from canon_search).
Input Schema
{
"type": "object",
"properties": {
"site": {
"type": "string",
"enum": [
"wallstreet.wiki",
"hedgefund.wiki",
"options.wiki",
"fixed-income.wiki",
"quants.wiki",
"pe-finance.wiki",
"m-a.wiki",
"privatecredit.wiki",
"venture-capital.wiki"
]
},
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Entry id or slug, e.g. \"modified-duration\""
}
},
"required": [
"site",
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢canon_changes(since)
Aggregated dated change events across every vertical, newest first. Poll this instead of re-crawling.
Input Schema
{
"type": "object",
"properties": {
"since": {
"description": "ISO date; only events on or after this date",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢canon_list_formulas
The deterministic formula registry: id, site, summary, input names and citations. Call canon_describe_formula for a schema.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢canon_describe_formula(formula)
Input schema with ranges and defaults, output names, stated convention, citations and test vectors for one formula.
Input Schema
{
"type": "object",
"properties": {
"formula": {
"type": "string",
"enum": [
"options.bsm.price",
"options.bsm.greeks",
"options.implied_vol",
"options.put_call_parity",
"options.vertical_spread",
"options.kelly",
"options.expected_move",
"bonds.price",
"bonds.ytm",
"bonds.risk",
"hf.sharpe",
"hf.sortino",
"hf.max_drawdown",
"hf.fee_net",
"quant.annualize",
"quant.var_parametric",
"pe.irr",
"pe.multiples",
"vc.round",
"ma.accretion_dilution",
"ma.lbo_returns",
"credit.all_in_yield",
"credit.coverage",
"cal.is_trading_day",
"cal.holidays",
"cal.trading_days_between",
"cal.add_trading_days",
"cal.settlement",
"cal.next_expiration",
"cal.year_fraction"
]
}
},
"required": [
"formula"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢canon_compute(formula, inputs)
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.
Input Schema
{
"type": "object",
"properties": {
"formula": {
"type": "string",
"enum": [
"options.bsm.price",
"options.bsm.greeks",
"options.implied_vol",
"options.put_call_parity",
"options.vertical_spread",
"options.kelly",
"options.expected_move",
"bonds.price",
"bonds.ytm",
"bonds.risk",
"hf.sharpe",
"hf.sortino",
"hf.max_drawdown",
"hf.fee_net",
"quant.annualize",
"quant.var_parametric",
"pe.irr",
"pe.multiples",
"vc.round",
"ma.accretion_dilution",
"ma.lbo_returns",
"credit.all_in_yield",
"credit.coverage",
"cal.is_trading_day",
"cal.holidays",
"cal.trading_days_between",
"cal.add_trading_days",
"cal.settlement",
"cal.next_expiration",
"cal.year_fraction"
]
},
"inputs": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "Inputs keyed by name; see canon_describe_formula"
}
},
"required": [
"formula",
"inputs"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢canon_verify(receipt)
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.
Input Schema
{
"type": "object",
"properties": {
"receipt": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "The receipt object returned by canon_compute"
}
},
"required": [
"receipt"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢canon_batch(items)
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.
Input Schema
{
"type": "object",
"properties": {
"items": {
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"formula": {
"type": "string",
"enum": [
"options.bsm.price",
"options.bsm.greeks",
"options.implied_vol",
"options.put_call_parity",
"options.vertical_spread",
"options.kelly",
"options.expected_move",
"bonds.price",
"bonds.ytm",
"bonds.risk",
"hf.sharpe",
"hf.sortino",
"hf.max_drawdown",
"hf.fee_net",
"quant.annualize",
"quant.var_parametric",
"pe.irr",
"pe.multiples",
"vc.round",
"ma.accretion_dilution",
"ma.lbo_returns",
"credit.all_in_yield",
"credit.coverage",
"cal.is_trading_day",
"cal.holidays",
"cal.trading_days_between",
"cal.add_trading_days",
"cal.settlement",
"cal.next_expiration",
"cal.year_fraction"
]
},
"inputs": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"formula",
"inputs"
]
}
}
},
"required": [
"items"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢canon_entity(q, limit)
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.
Input Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"q"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢canon_thresholds(q, authority)
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.
Input Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"maxLength": 200
},
"authority": {
"type": "string",
"maxLength": 40
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢canon_contract(venue, id)
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.
Input Schema
{
"type": "object",
"properties": {
"venue": {
"type": "string",
"enum": [
"kalshi",
"polymarket"
]
},
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"venue",
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢canon_cite(site, id, format)
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.
Input Schema
{
"type": "object",
"properties": {
"site": {
"type": "string",
"enum": [
"wallstreet.wiki",
"hedgefund.wiki",
"options.wiki",
"fixed-income.wiki",
"quants.wiki",
"pe-finance.wiki",
"m-a.wiki",
"privatecredit.wiki",
"venture-capital.wiki"
]
},
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"format": {
"type": "string",
"enum": [
"markdown",
"plain",
"apa",
"bibtex"
]
}
},
"required": [
"site",
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Evidence