# Marketgenius (remote · marketgenius.app)

Our free Marketgenius investment tools as live, interactive React MCP Apps.

- Trust score: 66/100 (medium)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-04

## Components

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

## Channel facts

- Endpoint: `https://marketgenius.app/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `2026-08-03`

## 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-08-04.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 17 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - 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**: 58/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (poor).
  - Context-footprint check failed: tool/resource definitions use about 3275 tokens (~155/item across 21 items; 17 tools + 4 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 30/100
  - Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 99/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 96% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.
  - Supports UI / widget rendering.

## Install

### Claude

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

### Codex

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

### opencode

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

### OpenClaw

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

### Hermes

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

### Other

```json
{
  "mcpServers": {
    "app-marketgenius-mcp": {
      "type": "http",
      "url": "https://marketgenius.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-08-03 (score 66, +1)

- [functional] Server version: 2026-08-02 → 2026-08-03

### 2026-08-02 (score 65, 0)

- [functional] Server version: 2026-07-31 → 2026-08-02

### 2026-08-01 (score 65, +1)

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

### 2026-07-31 (score 64, +1)

- [functional] MCP protocol: Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.
- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server
- [functional] Server version: 2026-07-30 → 2026-07-31

### 2026-07-30 (score 63, +1)

- [functional] Server version: 2026-07-29 → 2026-07-30

### 2026-07-29 (score 62, 0)

- [functional] Server version: 2026-07-28 → 2026-07-29

### 2026-07-28 (score 62, +1)

- [functional] Server version: 2026-07-26 → 2026-07-28

### 2026-07-27 (score 61, +1)

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

## MCP tools (17)

### `mg_list` (~59 tokens)

List Marketgenius Tools

List all available Marketgenius tools with their names, descriptions, categories, and resource URIs. Use mg_list to discover what's available, or filter by category.

Input parameters:

- `category` (string): Filter by category. Omit to list all tools.

### `mg_calculator_cagr` (~151 tokens)

CAGR Calculator

Open the CAGR Calculator React MCP App UI.
ALWAYS ask first — never call this tool silently:
"Open the calculator directly, or pre-fill it with your inputs?"

IF directly → call this tool now with no params. STOP. Do not ask anything else.
IF pre-fill → collect only the input schema fields — do not guess or invent field names.

Input parameters:

- `beginningValue` (string): Beginning (initial) investment value.
- `currencySymbol` (string): Currency symbol, e.g. "$" or "€". Default: "$"
- `endingValue` (string): Ending (final) investment value.
- `years` (integer): Number of years of investment. Default: 0

### `mg_calculator_cagr_update` (~218 tokens)

CAGR Calculator — Update

Update one or more fields in the already-open CAGR Calculator.
ALWAYS call mg_calculator_cagr_state first — the user may have
changed values manually in the GUI and you must not overwrite them.
Pass the version you received from that call (or from the open tool
if updating immediately after opening). Only pass the fields the
user explicitly asked to change; omit all others. Send all changes
in a single call — multiple sequential calls lose intermediate
updates (only the last one applies).

Input parameters:

- `beginningValue` (string): Beginning (initial) investment value.
- `currencySymbol` (string): Currency symbol, e.g. "$" or "€". Default: "$"
- `endingValue` (string): Ending (final) investment value.
- `sessionId` (string, required): Session ID returned by the open tool.
- `version` (integer, required): Current session version — call mg_calculator_cagr_state first to get this.
- `years` (integer): Number of years of investment. Default: 0

### `mg_calculator_cagr_sync` (~137 tokens)

CAGR Calculator — Sync

Sync user-entered field values of the open CAGR Calculator back
to the session store so the model can read them via the state tool.
Called by the View after any field change; hidden from the model.

Input parameters:

- `beginningValue` (string): Beginning (initial) investment value.
- `currencySymbol` (string): Currency symbol, e.g. "$" or "€". Default: "$"
- `endingValue` (string): Ending (final) investment value.
- `sessionId` (string, required): Session ID returned by the open tool.
- `years` (integer): Number of years of investment. Default: 0

### `mg_calculator_cagr_state` (~67 tokens)

CAGR Calculator — State

Read the current field values of the open CAGR Calculator.
Call this before answering any question about the current values —
the user may have changed fields manually in the GUI.
Do not call this on a loop; call it once on demand.

Input parameters:

- `sessionId` (string, required)

### `mg_calculator_dividend` (~460 tokens)

Dividend Calculator

Open the Dividend Calculator React MCP App UI.
ALWAYS ask first — never call this tool silently:
"Open the calculator directly, or pre-fill it with your inputs?"

IF directly → call this tool now with no params. STOP. Do not ask anything else.
IF pre-fill → ask "By amount invested or by number of shares?", then collect only the
  input schema fields matching that mode — do not guess or invent field names.

Input parameters:

- `baDepositAmount` (string): By amount: Monthly deposit amount.
- `baDepositMonths` (integer): By amount: Deposit months per year (1-12). Default: 1
- `baDivGrowthRate` (number): By amount: Annual dividend growth rate %. Default: 0
- `baDivYield` (string): By amount: Dividend yield percentage.
- `baInflationRate` (number): By amount: Inflation rate %. Default: 0
- `baInitialInvestment` (string): By amount: Initial investment amount.
- `baProjectionPeriod` (integer): By amount: Projection period in years. Default: 0
- `baReinvest` (boolean): By amount: Reinvest dividends. Default: true
- `baSharePriceGrowthRate` (number): By amount: Annual price growth rate %. Default: 0
- `bsDivGrowthRate` (number): By shares: Annual dividend growth rate %. Default: 0
- `bsDivYield` (string): By shares: Dividend yield percentage.
- `bsInflationRate` (number): By shares: Inflation rate %. Default: 0
- `bsProjectionPeriod` (integer): By shares: Projection period in years. Default: 0
- `bsReinvest` (boolean): By shares: Reinvest dividends. Default: true
- `bsSharePrice` (string): By shares: Share price.
- `bsSharePriceGrowthRate` (number): By shares: Annual price growth rate %. Default: 0
- `bsShares` (string): By shares: Number of shares.
- `currencySymbol` (string): Currency symbol, e.g. "$" or "€". Default: "$"
- `mode` (string): Entry mode. Default: "amount"

### `mg_calculator_dividend_update` (~510 tokens)

Dividend Calculator — Update

Update one or more fields in the already-open Dividend Calculator.
ALWAYS call mg_calculator_dividend_state first — the user may have
changed values manually in the GUI and you must not overwrite them.
Pass the version you received from that call (or from the open tool
if updating immediately after opening). Only pass the fields the
user explicitly asked to change; omit all others. Send all changes
in a single call — multiple sequential calls lose intermediate
updates (only the last one applies).

Input parameters:

- `baDepositAmount` (string): By amount: Monthly deposit amount.
- `baDepositMonths` (integer): By amount: Deposit months per year (1-12). Default: 1
- `baDivGrowthRate` (number): By amount: Annual dividend growth rate %. Default: 0
- `baDivYield` (string): By amount: Dividend yield percentage.
- `baInflationRate` (number): By amount: Inflation rate %. Default: 0
- `baInitialInvestment` (string): By amount: Initial investment amount.
- `baProjectionPeriod` (integer): By amount: Projection period in years. Default: 0
- `baReinvest` (boolean): By amount: Reinvest dividends. Default: true
- `baSharePriceGrowthRate` (number): By amount: Annual price growth rate %. Default: 0
- `bsDivGrowthRate` (number): By shares: Annual dividend growth rate %. Default: 0
- `bsDivYield` (string): By shares: Dividend yield percentage.
- `bsInflationRate` (number): By shares: Inflation rate %. Default: 0
- `bsProjectionPeriod` (integer): By shares: Projection period in years. Default: 0
- `bsReinvest` (boolean): By shares: Reinvest dividends. Default: true
- `bsSharePrice` (string): By shares: Share price.
- `bsSharePriceGrowthRate` (number): By shares: Annual price growth rate %. Default: 0
- `bsShares` (string): By shares: Number of shares.
- `currencySymbol` (string): Currency symbol, e.g. "$" or "€". Default: "$"
- `mode` (string): Entry mode. Default: "amount"
- `sessionId` (string, required): Session ID returned by the open tool.
- `version` (integer, required): Current session version — call mg_calculator_dividend_state first to get this.

### `mg_calculator_dividend_sync` (~429 tokens)

Dividend Calculator — Sync

Sync user-entered field values of the open Dividend Calculator back
to the session store so the model can read them via the state tool.
Called by the View after any field change; hidden from the model.

Input parameters:

- `baDepositAmount` (string): By amount: Monthly deposit amount.
- `baDepositMonths` (integer): By amount: Deposit months per year (1-12). Default: 1
- `baDivGrowthRate` (number): By amount: Annual dividend growth rate %. Default: 0
- `baDivYield` (string): By amount: Dividend yield percentage.
- `baInflationRate` (number): By amount: Inflation rate %. Default: 0
- `baInitialInvestment` (string): By amount: Initial investment amount.
- `baProjectionPeriod` (integer): By amount: Projection period in years. Default: 0
- `baReinvest` (boolean): By amount: Reinvest dividends. Default: true
- `baSharePriceGrowthRate` (number): By amount: Annual price growth rate %. Default: 0
- `bsDivGrowthRate` (number): By shares: Annual dividend growth rate %. Default: 0
- `bsDivYield` (string): By shares: Dividend yield percentage.
- `bsInflationRate` (number): By shares: Inflation rate %. Default: 0
- `bsProjectionPeriod` (integer): By shares: Projection period in years. Default: 0
- `bsReinvest` (boolean): By shares: Reinvest dividends. Default: true
- `bsSharePrice` (string): By shares: Share price.
- `bsSharePriceGrowthRate` (number): By shares: Annual price growth rate %. Default: 0
- `bsShares` (string): By shares: Number of shares.
- `currencySymbol` (string): Currency symbol, e.g. "$" or "€". Default: "$"
- `mode` (string): Entry mode. Default: "amount"
- `sessionId` (string, required): Session ID returned by the open tool.

### `mg_calculator_dividend_state` (~67 tokens)

Dividend Calculator — State

Read the current field values of the open Dividend Calculator.
Call this before answering any question about the current values —
the user may have changed fields manually in the GUI.
Do not call this on a loop; call it once on demand.

Input parameters:

- `sessionId` (string, required)

### `mg_calculator_market_cap` (~159 tokens)

Market Cap Calculator

Open the Market Cap Calculator React MCP App UI.
ALWAYS ask first — never call this tool silently:
"Open the calculator directly, or pre-fill it with your inputs?"

IF directly → call this tool now with no params. STOP. Do not ask anything else.
IF pre-fill → ask "Would you like to pre-fill share price and shares outstanding?", then collect only the
  input schema fields matching that mode — do not guess or invent field names.

Input parameters:

- `currencySymbol` (string): Currency symbol, e.g. "$" or "€". Default: "$"
- `marketCap` (string): Market capitalization.
- `sharePrice` (string): Price per share.
- `sharesOutstanding` (string): Total shares outstanding.

### `mg_calculator_market_cap_update` (~206 tokens)

Market Cap Calculator — Update

Update one or more fields in the already-open Market Cap Calculator.
ALWAYS call mg_calculator_market_cap_state first — the user may have
changed values manually in the GUI and you must not overwrite them.
Pass the version you received from that call (or from the open tool
if updating immediately after opening). Only pass the fields the
user explicitly asked to change; omit all others. Send all changes
in a single call — multiple sequential calls lose intermediate
updates (only the last one applies).

Input parameters:

- `currencySymbol` (string): Currency symbol, e.g. "$" or "€". Default: "$"
- `marketCap` (string): Market capitalization.
- `sessionId` (string, required): Session ID returned by the open tool.
- `sharePrice` (string): Price per share.
- `sharesOutstanding` (string): Total shares outstanding.
- `version` (integer, required): Current session version — call mg_calculator_market_cap_state first to get this.

### `mg_calculator_market_cap_sync` (~125 tokens)

Market Cap Calculator — Sync

Sync user-entered field values of the open Market Cap Calculator back
to the session store so the model can read them via the state tool.
Called by the View after any field change; hidden from the model.

Input parameters:

- `currencySymbol` (string): Currency symbol, e.g. "$" or "€". Default: "$"
- `marketCap` (string): Market capitalization.
- `sessionId` (string, required): Session ID returned by the open tool.
- `sharePrice` (string): Price per share.
- `sharesOutstanding` (string): Total shares outstanding.

### `mg_calculator_market_cap_state` (~68 tokens)

Market Cap Calculator — State

Read the current field values of the open Market Cap Calculator.
Call this before answering any question about the current values —
the user may have changed fields manually in the GUI.
Do not call this on a loop; call it once on demand.

Input parameters:

- `sessionId` (string, required)

### `mg_calculator_profit_margin` (~145 tokens)

Profit Margin Calculator

Open the Profit Margin Calculator React MCP App UI.
ALWAYS ask first — never call this tool silently:
"Open the calculator directly, or pre-fill it with your inputs?"

IF directly → call this tool now with no params. STOP. Do not ask anything else.
IF pre-fill → ask "Would you like to pre-fill revenue and cost?", then collect only the
  input schema fields matching that mode — do not guess or invent field names.

Input parameters:

- `cost` (string): Cost of goods sold.
- `currencySymbol` (string): Currency symbol, e.g. "$" or "€". Default: "$"
- `revenue` (string): Annual revenue.

### `mg_calculator_profit_margin_update` (~194 tokens)

Profit Margin Calculator — Update

Update one or more fields in the already-open Profit Margin Calculator.
ALWAYS call mg_calculator_profit_margin_state first — the user may have
changed values manually in the GUI and you must not overwrite them.
Pass the version you received from that call (or from the open tool
if updating immediately after opening). Only pass the fields the
user explicitly asked to change; omit all others. Send all changes
in a single call — multiple sequential calls lose intermediate
updates (only the last one applies).

Input parameters:

- `cost` (string): Cost of goods sold.
- `currencySymbol` (string): Currency symbol, e.g. "$" or "€". Default: "$"
- `revenue` (string): Annual revenue.
- `sessionId` (string, required): Session ID returned by the open tool.
- `version` (integer, required): Current session version — call mg_calculator_profit_margin_state first to get this.

### `mg_calculator_profit_margin_sync` (~113 tokens)

Profit Margin Calculator — Sync

Sync user-entered field values of the open Profit Margin Calculator back
to the session store so the model can read them via the state tool.
Called by the View after any field change; hidden from the model.

Input parameters:

- `cost` (string): Cost of goods sold.
- `currencySymbol` (string): Currency symbol, e.g. "$" or "€". Default: "$"
- `revenue` (string): Annual revenue.
- `sessionId` (string, required): Session ID returned by the open tool.

### `mg_calculator_profit_margin_state` (~68 tokens)

Profit Margin Calculator — State

Read the current field values of the open Profit Margin Calculator.
Call this before answering any question about the current values —
the user may have changed fields manually in the GUI.
Do not call this on a loop; call it once on demand.

Input parameters:

- `sessionId` (string, required)

## Diagnostics

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

## Score history

- 2026-08-04: 66
- 2026-08-03: 66
- 2026-08-02: 65
- 2026-08-01: 65
- 2026-07-31: 64
- 2026-07-30: 63
- 2026-07-29: 62
- 2026-07-28: 62
- 2026-07-27: 61
- 2026-07-26: 60

## Links

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