PNL Toolkit
Back to toolkit

PNL Toolkit for agents

Calculate, create a PNG, and get a link you can keep editing. Free, without an account or API key.

Remote MCP endpoint

https://pnltoolkit.com/mcp

Transport: Streamable HTTP. Authentication: none. Stateless requests. Eight read-only tools: historical_return, dca_backtest, compound_interest, position_size, trade_expectancy, drawdown_recovery, spread_and_fees and inventory_quotes.

Every call returns key numbers, all inputs, assumptions, edit_url, share_url and image_url. Set include_image to true to also receive a PNG up to 1000 pixels wide.

Connect your agent

Claude

In Settings → Connectors, add a custom connector named PNL Toolkit with the endpoint above. Enable it in your conversation. No authentication is required. Custom connector availability depends on your plan and workspace settings.

Remote connector guide

ChatGPT

On ChatGPT web, open Plugins → + → Add custom MCP server. Enter PNL Toolkit and the server URL above, select No authentication, review the confirmation and create the plugin. Install it, then select it with @ in your conversation. Workspace permissions and security settings may restrict custom plugins.

Official ChatGPT setup

Cursor

Add this to .cursor/mcp.json in your project (or your global Cursor MCP configuration), then enable PNL Toolkit.

{
  "mcpServers": {
    "pnl-toolkit": {
      "url": "https://pnltoolkit.com/mcp"
    }
  }
}

Cursor MCP documentation

VS Code

Add this to .vscode/mcp.json, start the server from the MCP server controls and approve the trust prompt. Select its tools in agent chat.

{
  "servers": {
    "pnl-toolkit": {
      "type": "http",
      "url": "https://pnltoolkit.com/mcp"
    }
  }
}

VS Code MCP documentation

Claude Code

claude mcp add --transport http pnl-toolkit https://pnltoolkit.com/mcp

Use /mcp to check the connection.

Claude Code MCP documentation

Try these requests

  1. Use historical_return to calculate buying $1,000 of BTC in October 2016 and holding through September 2026. Show the PNG, data date and editable link.
  2. Use dca_backtest for $200 per month into QQQ from October 2016 through September 2026, with a $1,000 initial deposit and SPY as a benchmark. Include the PNG and an editable link.
  3. Use PNL Toolkit compound_interest: $10,000 initially, $200 each month for 10 years, 8% assumed annual return, 0.2% annual fee and 2% inflation. Show the image and an editable link.
  4. Use position_size: $10,000 account, 1% risk, long at $100, stop $95, target $110, 5 bps fee per side and 2 bps slippage. Return the chart and full assumptions.
  5. Use spread_and_fees with $10,000 one-side notional, a 12 bps full spread, 2 bps maker fee per fill and 3 bps adverse cost. Set include_image=true and give me the share link.

Units and limits

Amounts and prices are USD. Percent inputs use 1 for 1%. Basis points use 1 for 0.01%. Kelly fraction is 0–1; win/loss payoffs are in R. Input schemas and defaults include the supported ranges.

Investment return, DCA and compound interest images are 2000 × 1440. The five model charts are 2000 × 1600. Inline previews are 1000 pixels wide. Requests may receive HTTP 429 with Retry-After when capacity is full. Identical calculations reuse a cache. Shared URLs contain your inputs; anyone with the link can read them.

No financial accounts, orders, payment functions or Pro templates are exposed. Historical return and DCA use the same installed monthly snapshot as the website. Their results include the selected period, available date range and source links in the data field; these are not live quotes. Omitted dates follow the calculator defaults, limited to asset and benchmark availability. Explicit unavailable dates are rejected. Server-side GIFs are not included. These are hypothetical calculations, not investment advice.

We count tool calls, success/failure, known client families and image renders. Clients that do not identify each stateless request are recorded as unknown. We do not log input amounts or personal information in these counters.

Need help? info@pnltoolkit.com

Exporting GIF

Preparing your template…