# compoundsim (remote · compoundsim.app)

Compound interest and Monte Carlo simulators for investing, retirement and past asset returns.

- Trust score: 70/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-06

## Components

- remote · `compoundsim.app`: 70/100 (this document), [markdown](https://verifymcp.io/servers/app-compoundsim-compoundsim/compoundsim.md), [page](https://verifymcp.io/servers/app-compoundsim-compoundsim/compoundsim)

## Channel facts

- Endpoint: `https://compoundsim.app/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-06.

- **Endpoint Security**: 74/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Nothing on it is marked destructive, but we can't show that an anonymous caller can only read: full credit needs the server to list at least one tool and every tool to be verifiably read-only. We use a best-effort check of tool names and descriptions to tell read-only tools from tools that change things, so some genuinely read-only tools may not get full credit. Names that start with a read verb (get, list, read, search and similar) and accurate readOnlyHint annotations help. Meet that to earn full credit, or require authorisation.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 54/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 1792 tokens (~358/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 17/100
  - Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 5 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 6 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the compoundsim MCP server?

compoundsim is a hosted endpoint at https://compoundsim.app/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http app-compoundsim-compoundsim 'https://compoundsim.app/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "app-compoundsim-compoundsim": {
      "url": "https://compoundsim.app/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "app-compoundsim-compoundsim": {
      "type": "http",
      "url": "https://compoundsim.app/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.app-compoundsim-compoundsim]
url = "https://compoundsim.app/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "app-compoundsim-compoundsim": {
      "type": "remote",
      "url": "https://compoundsim.app/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add app-compoundsim-compoundsim --url 'https://compoundsim.app/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  app-compoundsim-compoundsim:
    url: "https://compoundsim.app/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "app-compoundsim-compoundsim": {
      "Transport": "http",
      "Url": "https://compoundsim.app/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add app-compoundsim-compoundsim -t streamable-http -u 'https://compoundsim.app/mcp'
```

### Other

```json
{
  "mcpServers": {
    "app-compoundsim-compoundsim": {
      "type": "http",
      "url": "https://compoundsim.app/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-06 (score 70, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-11-04 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-02 (score 68, 0)

- [functional improvement] Stability: unverified → 0.03
- [cosmetic] “simulate_fixed_rate” reworded the description of “annual_return_pct”

### 2026-11-01 (score 68)

First indexed and scored.

## MCP tools (5)

### `simulate_portfolio` (~471 tokens)

Simulate monthly investing in a portfolio

Monte Carlo simulation of investing monthly (plus an optional starting sum) in one asset or a mix rebalanced monthly. Returns the range of outcomes by year (10th to 90th percentile), the deepest fall along the way, the mix's own past return and volatility, and a compoundsim.app url that shows the same scenario.

Input parameters:

- `currency` (string): Currency of every amount, in and out. In a currency other than USD the paths carry its exchange-rate swings against the dollar (trend removed). Defaults to the language's currency.
- `history` (string): The span of past monthly returns the model is fitted to: the last 5, 10 or 20 years, or all the data. An asset with less data than the span asked for uses all of its own.
- `history_from` (integer): First calendar year of a custom span (with history_to); replaces history.
- `history_to` (integer): Last calendar year of a custom span.
- `inflation_percent` (number): Annual inflation. When given, every amount out is in today's money at this rate; omitted, amounts are nominal.
- `initial` (number): Starting sum invested at once.
- `language` (string): Language of the page the returned url opens; match the user's language.
- `monthly` (number, required): Amount invested at the end of every month.
- `portfolio` (required): A preset name or weights in percent by asset (any total; they are scaled to 100). Assets: sp500 = S&P 500, ndx100 = Nasdaq 100, sox = SOX (Semiconductors), schd = US dividend stocks (SCHD), acwi = MS…
- `years` (integer): Years of investing.

### `compare_portfolios` (~293 tokens)

Compare portfolios side by side

Runs the same monthly-investing plan through 2 to 4 portfolios (the same simulation as simulate_portfolio) and returns each one's final outcome range, deepest fall, past return and volatility, and url, for questions like 'S&P 500 or all-country stocks?'.

Input parameters:

- `currency` (string): Currency of every amount, in and out. In a currency other than USD the paths carry its exchange-rate swings against the dollar (trend removed). Defaults to the language's currency.
- `history` (string): The span of past monthly returns the model is fitted to: the last 5, 10 or 20 years, or all the data. An asset with less data than the span asked for uses all of its own.
- `history_from` (integer): First calendar year of a custom span (with history_to); replaces history.
- `history_to` (integer): Last calendar year of a custom span.
- `inflation_percent` (number): Annual inflation. When given, every amount out is in today's money at this rate; omitted, amounts are nominal.
- `initial` (number): Starting sum invested at once.
- `language` (string): Language of the page the returned url opens; match the user's language.
- `monthly` (number, required): Amount invested at the end of every month.
- `portfolios` (array, required): The portfolios to compare.
- `years` (integer): Years of investing.

### `simulate_withdrawal` (~479 tokens)

Simulate spending down a portfolio in retirement

Monte Carlo simulation of withdrawing a yearly percentage of a starting balance, raised with inflation every month, from a portfolio (the 4% rule and its variants). Returns the share of paths that still had money at the end, when the others ran out, the remaining balance range in today's money, the success rate at withdrawal rates from 2% to 8%, and a compoundsim.app url.

Input parameters:

- `balance` (number, required): Starting balance.
- `currency` (string): Currency of every amount, in and out. In a currency other than USD the paths carry its exchange-rate swings against the dollar (trend removed). Defaults to the language's currency.
- `history` (string): The span of past monthly returns the model is fitted to: the last 5, 10 or 20 years, or all the data. An asset with less data than the span asked for uses all of its own.
- `history_from` (integer): First calendar year of a custom span (with history_to); replaces history.
- `history_to` (integer): Last calendar year of a custom span.
- `inflation_percent` (number): Annual inflation the withdrawals rise with; balances are in today's money.
- `language` (string): Language of the page the returned url opens; match the user's language.
- `portfolio` (required): A preset name or weights in percent by asset (any total; they are scaled to 100). Assets: sp500 = S&P 500, ndx100 = Nasdaq 100, sox = SOX (Semiconductors), schd = US dividend stocks (SCHD), acwi = MS…
- `withdrawal_rate_pct` (number): First year's withdrawal as a percentage of the starting balance.
- `years` (integer): Years the money has to last.

### `simulate_fixed_rate` (~210 tokens)

Compound interest at a fixed rate

Deterministic compound growth of monthly contributions (plus an optional starting sum) at a fixed annual return. Returns contributions, gains and total by year, and a compoundsim.app url. Use simulate_portfolio for the range of outcomes of real assets.

Input parameters:

- `annual_return_pct` (number): Effective annual return (CAGR), applied as the equivalent monthly rate.
- `currency` (string): Currency of every amount, in and out. In a currency other than USD the paths carry its exchange-rate swings against the dollar (trend removed). Defaults to the language's currency.
- `inflation_percent` (number): Annual inflation. When given, every amount out is in today's money at this rate; omitted, amounts are nominal.
- `initial` (number): Starting sum invested at once.
- `language` (string): Language of the page the returned url opens; match the user's language.
- `monthly` (number, required): Amount invested at the end of every month.
- `years` (integer): Years of investing.

### `get_asset_returns` (~243 tokens)

Past annualised returns of assets

Annualised past returns of the assets compoundsim simulates, over the last 5, 10 or 20 years, all the data, or a calendar span: total return with dividends reinvested, price return, the dividends' share, volatility, and the return after US inflation (in USD) or the exchange rate's share of the return (in another currency).

Input parameters:

- `assets` (array): Assets to include; all of them when omitted.
- `currency` (string): Currency of every amount, in and out. In a currency other than USD the paths carry its exchange-rate swings against the dollar (trend removed). Defaults to the language's currency.
- `language` (string): Language of the page the returned url opens; match the user's language.
- `period` (string): The span measured: the last 5, 10 or 20 years, or all the data. An asset with less data than the span asked for uses all of its own.
- `period_from` (integer): First calendar year of a custom span (with period_to); replaces period.
- `period_to` (integer): Last calendar year of a custom span.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/app-compoundsim-compoundsim/compoundsim#diagnostics

## Score history

- 2026-11-06: 70
- 2026-11-05: 69
- 2026-11-04: 69
- 2026-11-03: 68
- 2026-11-02: 68
- 2026-11-01: 68

## Common questions

### What is the compoundsim MCP server?

compoundsim is an MCP server listed in the public MCP registry as app.compoundsim/compoundsim. Compound interest and Monte Carlo simulators for investing, retirement and past asset returns. This page covers its hosted endpoint (https://compoundsim.app/mcp).

### Is the compoundsim MCP server safe to use?

compoundsim scores 70 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the compoundsim MCP server expose?

compoundsim exposes 5 tools: simulate_portfolio, compare_portfolios, simulate_withdrawal, simulate_fixed_rate, get_asset_returns. Their descriptions and schemas cost roughly 1,696 tokens of context every time the server is loaded.

### Does the compoundsim MCP server require authentication?

No. We connected to compoundsim without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the compoundsim MCP server still maintained?

compoundsim is still listed as active in the MCP registry. We last reached this channel on 6 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What did VerifyMCP test on the compoundsim MCP server?

VerifyMCP ran 13 checks on compoundsim, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.

## Links

- Remote endpoint: https://compoundsim.app/mcp
- Website: https://compoundsim.app/mcp
- Changelog RSS feed: https://verifymcp.io/servers/app-compoundsim-compoundsim/compoundsim.xml
- Changelog JSON feed: https://verifymcp.io/servers/app-compoundsim-compoundsim/compoundsim/changelog.json
- Trust report (JSON): https://verifymcp.io/servers/app-compoundsim-compoundsim/compoundsim.json
- HTML version of this page: https://verifymcp.io/servers/app-compoundsim-compoundsim/compoundsim
