Canli Capital

315 finance tools, 35 prompts: quant, SEC and EU filings, fact checks, rates, odds, DeFi, macro.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
97%
Naming quality
93%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~935Tokens (tool definitions)
~2.4 KBTypical response size
Moderate attention impact (0.73% of 128k context)

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": {
    "canli-mcp": {
      "command": "npx",
      "args": [
        "canli-mcp"
      ]
    }
  }
}

Runnable packages

npmcanli-mcp0.6.0stdio

Remote endpoints

https://canlicapital.com/mcp/canlistreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢find_tool(query, limit)

Search the 311 finance tools (packs: quant, validation, fundamentals, research, backtest, markets) by what you need, e.g. "deflated sharpe", "black scholes greeks", "revenue as of 2019". Returns names, packs, argument signatures and one-line descriptions, best first.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 200,
      "description": "What you need, in plain words."
    },
    "limit": {
      "description": "Default 6.",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "required": [
    "query"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🟢describe_tool(name)

Get one tool's full description and exact input JSON Schema before calling run_tool.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 100,
      "description": "A tool name from find_tool."
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}
🔴run_tool(name, arguments, calls, return, digits, ...)

Run one tool ({name, arguments}) or several in one call ({calls: [...]}). Any argument can be {"$file": "path.csv", "column": "close"} (or "columns": [...] / "all") instead of pasted numbers. {"$result": i, "path": "close"} passes batch call i's output into a later call; every result also has a ref ("r1", "r2", ...) that later run_tool calls can pass the same way, {"$result": "r1", "path": "close"}, so data never needs to be copied.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Tool name from find_tool (single call).",
      "type": "string",
      "maxLength": 100
    },
    "arguments": {
      "description": "The tool's arguments (single call).",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "calls": {
      "description": "Several calls in one round trip. Calls without $result references run concurrently.",
      "minItems": 1,
      "maxItems": 25,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 100
          },
          "arguments": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {}
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false
      }
    },
    "return": {
      "description": "For a batch: every result (default) or only the last one.",
      "type": "string",
      "enum": [
        "all",
        "last"
      ]
    },
    "digits": {
      "description": "Round fractional numbers in the results to this many significant figures (4-6 saves output tokens); whole numbers such as counts, shares and IDs are never changed. Default: as each tool returns them.",
      "type": "integer",
      "minimum": 3,
      "maximum": 10
    },
    "select": {
      "description": "Return only these fields of each result, as dotted paths, e.g. [\"verdict\", \"multiple_testing.best\", \"rows.0.accession\"] (table rows take column names).",
      "minItems": 1,
      "maxItems": 30,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 200
      }
    },
    "receipt": {
      "description": "Add input and output SHA-256 and pack versions so the result can be recomputed and compared.",
      "type": "boolean"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": {}
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools