Koskamo

stox.market MCP

An MCP server providing percentile fingerprints, curated peers, theme clusters, and market-stress context for US stocks. It offers tools to analyze stock character, compare tickers, identify competitive peers, screen by metrics, and assess market regime, delivering judgment layer context rather than raw data.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

stox.market MCP logo, by stox.marketCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-06Published by stox.market
MCP endpoint (Streamable HTTP)
https://mcp.stox.market/mcp
Vendor documentation

What its tools do

6 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

6 of 6 have a description · 6 of 6 declare behavior hints · 2 of 5 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Analyze the character of a single stock using 16 percentile scores vs the S&P 500 cohort
  • Compare 2-5 tickers side by side using a 16-score matrix
  • Identify true competitive peers based on segment overlap rather than GICS
  • Screen stocks using min/max bounds on metrics for momentum or fallen-leader queries

Source and maintenance

Community listingRegistry 0.2.2
Maintenance checked

Protocol and capabilities

Server
stox 0.2.2
MCP protocol negotiated in check
2025-11-25
Tools
6 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Stox (stox.market) research tools: cross-sectional percentile fingerprints for S&P 500 / NDX stocks, curated competitive peers and co-movement theme clusters, a min/max screener over all 16 metrics, and market-stress context. The same metrics render as human-readable leaderboards at stox.market/lists (sector slices, frozen earnings-season editions) — link a board when the user wants a browsable view. Informational only — descriptive statistics and research citations, never investment advice or buy/sell recommendations; do not present outputs as advice. Percentiles are point-in-time cross-sectional ranks (100 = best).

Tools

6 advertised

fingerprint — Stock percentile fingerprint
Advertised by the server during the last successful anonymous check.
Advertised read-only

The character of one stock in ~550 tokens: 16 percentile scores (vs the S&P 500 cohort) across four panels — Market Beat, Trend Persistence, Business Growth, Pressure (money flow) — plus the composite P3 score (the validated 3-factor form), curated competitive peers (not GICS), a one-line character read, and the price line. Use for 'is this number good?' and quick company character.

fingerprint input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "ticker"
  ],
  "properties": {
    "as_of": {
      "type": "string",
      "description": "RESERVED (phase 2): YYYY-MM-DD point-in-time snapshot; currently only the live snapshot is served"
    },
    "ticker": {
      "type": "string",
      "description": "US ticker, e.g. NVDA"
    }
  }
}
fingerprint annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
compare — Compare fingerprints side by side
Advertised by the server during the last successful anonymous check.
Advertised read-only

The 16 percentile scores + P3 + 1Y price change for 2-5 tickers as one compact matrix (rows = metrics, columns = tickers). Use when weighing names against each other; percentiles make the comparison fair across sectors and sizes.

compare input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "tickers"
  ],
  "properties": {
    "tickers": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 5,
      "minItems": 2,
      "description": "2-5 US tickers"
    }
  }
}
compare annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
peers — Curated competitive peers
Advertised by the server during the last successful anonymous check.
Advertised read-only

The stock's TRUE competitive cluster — LLM-curated from segment overlap (who it actually competes with for revenue), not GICS classification. Costco's peers are WMT/TGT/KR, not 'Discount Stores'. Each peer carries its P3 score. Honest empty list for monopolies/private-rival cases.

peers input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "ticker"
  ],
  "properties": {
    "ticker": {
      "type": "string"
    }
  }
}
peers annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
theme_cluster — Co-movement theme cluster
Advertised by the server during the last successful anonymous check.
Advertised read-only

The statistical theme a stock actually trades with: clusters built from years of price co-movement (market-removed residuals → random-matrix cleaning → Ward linkage), not sector labels. Returns the cluster's name, description, cohesion, sector mix and up to 20 member tickers. Different question from `peers` (business competition) — this is who it MOVES with.

theme_cluster input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "ticker"
  ],
  "properties": {
    "ticker": {
      "type": "string"
    }
  }
}
theme_cluster annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
screen — Metric screen (P3-sorted, min/max on all 16 scores)
Advertised by the server during the last successful anonymous check.
Advertised read-only

Screen the S&P 500 + NDX universe on ANY of the 16 percentile scores, with minimum AND maximum bounds, optionally within one GICS sector, sorted by the validated P3 composite or by any single metric. Metric keys: marketBeat1Y/1M/1W/1D (price vs SPY), rankPersistence52W/26W/13W + trendPersistence (rank stability), businessBeat + revGrowthYoy + marginGrowthYoy + fcfGrowthYoy (business growth), accumDistFlow/30/5/2 (money flow 60/30/5/2-day). Examples: momentum — {sort_by:'marketBeat1M', filters:[{metric:'businessBeat', min:70}]}; fallen leaders — {filters:[{metric:'rankPersistence52W', min:80},{metric:'marketBeat1Y', max:40}]}. Legacy min_perform/min_persist/min_profit/min_pressure still work (the four headline scores).

screen input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "n": {
      "type": "number",
      "maximum": 25,
      "minimum": 1,
      "description": "max results (default 12)"
    },
    "sector": {
      "type": "string",
      "description": "GICS sector filter, e.g. 'Energy'"
    },
    "filters": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "metric"
        ],
        "properties": {
          "max": {
            "type": "number",
            "maximum": 100,
            "minimum": 0
          },
          "min": {
            "type": "number",
            "maximum": 100,
            "minimum": 0
          },
          "metric": {
            "type": "string",
            "description": "one of the 16 metric keys"
          }
        }
      },
      "description": "bounds on any metrics; entries AND together"
    },
    "sort_by": {
      "type": "string",
      "description": "'p3' (default) or any metric key; descending"
    },
    "min_profit": {
      "type": "number",
      "maximum": 100,
      "minimum": 0
    },
    "min_perform": {
      "type": "number",
      "maximum": 100,
      "minimum": 0
    },
    "min_persist": {
      "type": "number",
      "maximum": 100,
      "minimum": 0
    },
    "min_pressure": {
      "type": "number",
      "maximum": 100,
      "minimum": 0
    }
  }
}
screen annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}
market_regime — Market stress context
Advertised by the server during the last successful anonymous check.
Advertised read-only

Where market stress sits right now: the dashboard's 8-indicator stance, each indicator's traffic-light band, the VIX 5-year percentile (the ONE input validated as predicting forward risk — blended composites tested worse), and the S2 stress-confirmation badge (SPY below its 40-week average AND VIX above its 80th percentile of the trailing year). Descriptive context, not a market call.

market_regime input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {}
}
market_regime annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (3 of 3 answered).

  1. 2026-11-06: 1 of 1 checks answered
  2. 2026-11-07: 2 of 2 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
331 ms
95th percentile latency
331 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 331 ms · metadata changed · 6 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http stox-market-mcp https://mcp.stox.market/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add stox-market-mcp --url https://mcp.stox.market/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable stox-market-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "stox-market-mcp": {
      "url": "https://mcp.stox.market/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "stox-market-mcp": {
      "type": "streamableHttp",
      "url": "https://mcp.stox.market/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start stox-market-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "stox-market-mcp": {
      "type": "http",
      "url": "https://mcp.stox.market/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http stox-market-mcp https://mcp.stox.market/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://mcp.stox.market/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "stox-market-mcp": {
      "serverUrl": "https://mcp.stox.market/mcp"
    }
  }
}

Let your agent find its tools

Find servers like stox.market MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.