# StockMap (remote · stockmap.io)

US stock research: a model's nightly 14-day read on each stock, its reasons, and its graded record.

- Trust score: 69/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

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

## Channel facts

- Endpoint: `https://stockmap.io/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.9.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-05.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (unwatch).
  - 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**: 85/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 1690 tokens (~84/item across 20 items; 12 tools + 8 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability observed for 7 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.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.
  - An AI judge read all 14 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).
  - Supports UI / widget rendering.

## Install

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

StockMap is a hosted endpoint at https://stockmap.io/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 io-stockmap-stockmap 'https://stockmap.io/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "io-stockmap-stockmap": {
      "url": "https://stockmap.io/mcp"
    }
  }
}
```

### VS Code

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

### Codex

```toml
[mcp_servers.io-stockmap-stockmap]
url = "https://stockmap.io/mcp"
```

### opencode

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

### OpenClaw

```bash
openclaw mcp add io-stockmap-stockmap --url 'https://stockmap.io/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-stockmap-stockmap:
    url: "https://stockmap.io/mcp"
```

### Netclaw

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

### Vellum

```bash
assistant mcp add io-stockmap-stockmap -t streamable-http -u 'https://stockmap.io/mcp'
```

### Other

```json
{
  "mcpServers": {
    "io-stockmap-stockmap": {
      "type": "http",
      "url": "https://stockmap.io/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-05 (score 69, 0)

- [security] The server rewrote its instructions, which are the text every model session reads

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

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “compare_stocks” rewrote its description, which is the text the model reads
- [security] Tool “stock_call” rewrote its description, which is the text the model reads

### 2026-11-01 (score 68, +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-10-30 (score 67, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “bitcoin_test” rewrote its description, which is the text the model reads
- [security] Tool “compare_stocks” rewrote its description, which is the text the model reads
- [security] Tool “crypto_stocks” rewrote its description, which is the text the model reads
- [security] Tool “crypto_today” rewrote its description, which is the text the model reads
- [security] Tool “is_it_altseason” rewrote its description, which is the text the model reads
- [security] Tool “last_night” rewrote its description, which is the text the model reads
- [security] Tool “market_map” rewrote its description, which is the text the model reads
- [security] Tool “my_watchlists” rewrote its description, which is the text the model reads
- [security] Tool “sector” rewrote its description, which is the text the model reads
- [security] Tool “stock_call” rewrote its description, which is the text the model reads
- [functional improvement] Stability: unverified → 0.03
- [functional] Schema quality: excellent → good

### 2026-10-29 (score 66)

First indexed and scored.

## MCP tools (12)

### `stock_call` (~144 tokens)

Stock call

StockMap's published call on one US stock, the same for every reader, by symbol or company name: the model's nightly 14-day read (a call or a lean), the strongest reasons for and against, how its past calls on the stock did, the price and the day's change, and what changed last night. Use it when someone asks how a US stock looks, whether it reads strong or weak right now, or what the model's read on it is. Each answer carries the not-advice line and the run date.

Input parameters:

- `stock` (string, required): A US stock's symbol (NVDA, BRK.B) or its company name (Nvidia)

Output parameters:

- `closest` (array): The stocks the query may have meant
- `covers` (integer): How many stocks StockMap calls
- `not_advice` (string)
- `query` (string)
- `run`
- `stock`: None when no one stock matched

### `compare_stocks` (~146 tokens)

Compare stocks

StockMap's published calls on two to five US stocks side by side, the same for every reader, by symbol or company name: each stock's nightly 14-day read (a call or a lean), whether it changed last night, the insights for and against it, and how the model's past calls on it did. Use it when someone asks how two to five US stocks stack up against each other, or which of them the model's calls read stronger. Each answer carries the not-advice line and the run date.

Input parameters:

- `stocks` (array, required): Two to five US stocks, each by symbol (NVDA, BRK.B) or company name (Nvidia)

Output parameters:

- `covers` (integer): How many stocks StockMap calls
- `missed` (array)
- `not_advice` (string)
- `queries` (array)
- `run`
- `stocks` (array): In the order asked, each once

### `last_night` (~79 tokens)

Last night

What changed in StockMap's calls last night: how many stocks' calls changed band on the market map and the biggest of them, the calls graded last night (made 14 days earlier) with one line on why each was right or wrong, and when the next run starts. Each answer carries the not-advice line and the run date.

Output parameters:

- `all_changes_url` (string)
- `calls_issued`: Calls the run made
- `changed_on_map`: Stocks whose call changed band on the map
- `changes` (array): The biggest of them by market cap
- `graded`: The calls graded last night
- `grades` (array)
- `more_changes` (integer): The changes not listed; all of them are on /what-changed
- `next_run_utc`: When the next run starts
- `not_advice` (string)
- `record_url` (string)
- `run`: The run the night is from: the day it ran and the close it called from
- `run_in_flight` (boolean): True: tonight's run has not landed yet, so this is the previous night (B2's name for run.not_landed)

### `market_map` (~96 tokens)

Market map

The US stock market on StockMap's map: the 11 sectors, each with its share of the market, its 2-week lean from the model's nightly calls on its stocks, its move on the day and its best and worst stock. A summary, not every stock. Use it when someone asks how the US market looks, or which sectors lead or lag. Each answer carries the not-advice line and the run date.

Output parameters:

- `map_url` (string)
- `not_advice` (string)
- `run`
- `sectors` (array): Biggest first
- `sectors_url` (string)
- `stocks` (integer): The stocks on the map

### `sector` (~130 tokens)

Sector

StockMap's read of one US sector or industry, by name (Information Technology, semiconductors, banks): its 2-week lean from the model's nightly calls, how its stocks' calls split, its industries, and its largest stocks with each one's call and move on the day. Use it when someone asks how a US sector or industry looks, or which of its stocks look strong or weak. Each answer carries the not-advice line and the run date.

Input parameters:

- `name` (string, required): A US sector or industry by name: Information Technology, Health Care, semiconductors, banks, software

Output parameters:

- `closest` (array): The sectors and industries it may have meant
- `not_advice` (string)
- `query` (string)
- `run`
- `scope`: None when no one sector or industry matched

### `crypto_today` (~75 tokens)

Crypto today

Why crypto is up or down today, from StockMap's Crypto today page: Bitcoin's 24-hour move, how many coins beat it, funding, and the hour's paragraph, every number with its source. Market data with no call on any coin. Each answer carries the stamp, the sources and the not-advice line.

Output parameters:

- `answer_text` (string): The page's own sentences, joined
- `as_of`: The feed's time, ISO 8601 UTC
- `card`: The page's share card data, with its image URLs (C-1b)
- `not_advice` (string)
- `numbers` (array): The page's tiles
- `page_url` (string)
- `question` (string)
- `sentences` (array)
- `source_names` (array)
- `stale` (boolean): True when the feed is behind: the page shows the same numbers under a banner
- `stale_reason`
- `stamp` (string): When the numbers are from, as the page stamps them; two clocks give two stamps

### `is_it_altseason` (~79 tokens)

Is it altseason?

Is it altseason: how many of the top-100 coins (stablecoins out) beat Bitcoin over the last 7 days, beside how many lag it in a typical week, from StockMap's Altseason page. Market data with no call on any coin. Each answer carries the stamp, the sources and the not-advice line.

Output parameters:

- `answer_text` (string): The page's own sentences, joined
- `as_of`: The feed's time, ISO 8601 UTC
- `card`: The page's share card data, with its image URLs (C-1b)
- `not_advice` (string)
- `numbers` (array): The page's tiles
- `page_url` (string)
- `question` (string)
- `sentences` (array)
- `source_names` (array)
- `stale` (boolean): True when the feed is behind: the page shows the same numbers under a banner
- `stale_reason`
- `stamp` (string): When the numbers are from, as the page stamps them; two clocks give two stamps

### `crypto_stocks` (~87 tokens)

Crypto stocks

Which US crypto stocks StockMap's model leans on: how many it leans outperform, neutral or underperform, how many of its graded two-week windows on them were right, and Bitcoin's move since the last US close. The calls are the stock model's, on the stocks, never on coins. Each answer carries the stamp, the sources and the not-advice line.

Output parameters:

- `answer_text` (string): The page's own sentences, joined
- `as_of`: The feed's time, ISO 8601 UTC
- `card`: The page's share card data, with its image URLs (C-1b)
- `not_advice` (string)
- `numbers` (array): The page's tiles
- `page_url` (string)
- `question` (string)
- `sentences` (array)
- `source_names` (array)
- `stale` (boolean): True when the feed is behind: the page shows the same numbers under a banner
- `stale_reason`
- `stamp` (string): When the numbers are from, as the page stamps them; two clocks give two stamps

### `bitcoin_test` (~169 tokens)

Did my coins beat Bitcoin?

Did the person's coins beat Bitcoin: their holdings as they would paste them on StockMap's Bitcoin test page ("ETH 2, SOL 40 since Jan 15"), priced then and now beside the same dollars held in Bitcoin, from CoinGecko's prices. Nothing is stored. Arithmetic on past prices: no call on any coin, and no advice on the holdings. Each answer carries the stamp, the sources and the not-advice line.

Input parameters:

- `holdings` (string, required): The coins and amounts as the person would paste them, with a date if they gave one: "ETH 2, SOL 40, DOGE 10000 since Jan 15"
- `since`: When they bought, for holdings the paste gives no date (the page's "Held since"), YYYY-MM-DD

Output parameters:

- `answer_text` (string): The page's own sentences, joined
- `as_of`: The feed's time, ISO 8601 UTC
- `card`: The page's share card data, with its image URLs (C-1b)
- `not_advice` (string)
- `numbers` (array): The page's tiles
- `page_url` (string)
- `question` (string)
- `sentences` (array)
- `source_names` (array)
- `stale` (boolean): True when the feed is behind: the page shows the same numbers under a banner
- `stale_reason`
- `stamp` (string): When the numbers are from, as the page stamps them; two clocks give two stamps

### `my_watchlists` (~59 tokens)

My watchlists

The signed-in person's StockMap watchlists: each list's stocks with the model's published call on each (the same call every reader sees), the calls that changed last night first. Each answer carries the not-advice line and the run date.

Output parameters:

- `lists` (array)
- `not_advice` (string)
- `run`
- `url` (string)

### `watch` (~108 tokens)

Watch a stock

Add a US stock to the signed-in person's StockMap watchlist: to the list named (made if it is new) or their first list. A stock is on one list at a time, so naming another list moves it.

Input parameters:

- `stock` (string, required): A US stock's symbol (NVDA, BRK.B) or its company name (Nvidia)
- `watchlist`: The list's name, made if the person has none by that name; left out, their first list

Output parameters:

- `already` (boolean): True: it was on that list already, and nothing changed
- `list` (string): The list it is on now
- `moved_from`: The list it was moved off, if it was on another
- `not_advice` (string)
- `run`
- `stock`
- `url` (string)

### `unwatch` (~49 tokens)

Stop watching a stock

Remove a US stock from the signed-in person's StockMap watchlists.

Input parameters:

- `stock` (string, required): A US stock's symbol (NVDA, BRK.B) or its company name (Nvidia)

Output parameters:

- `not_advice` (string)
- `removed_from`: The list it was taken off; None: it was on none
- `run`
- `stock`
- `url` (string)

## Diagnostics

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

## Score history

- 2026-11-05: 69
- 2026-11-04: 69
- 2026-11-03: 68
- 2026-11-02: 68
- 2026-11-01: 68
- 2026-10-31: 67
- 2026-10-30: 67
- 2026-10-29: 66

## Common questions

### What is the StockMap MCP server?

StockMap is an MCP server listed in the public MCP registry as io.stockmap/stockmap. US stock research: a model's nightly 14-day read on each stock, its reasons, and its graded record. This page covers its hosted endpoint (https://stockmap.io/mcp).

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

StockMap scores 69 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 StockMap MCP server expose?

StockMap exposes 12 tools: stock_call, compare_stocks, last_night, market_map, sector, and 7 more. Their descriptions and schemas cost roughly 1,221 tokens of context every time the server is loaded.

### Does the StockMap MCP server require authentication?

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

### Is the StockMap MCP server still maintained?

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

## Links

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