mkts Market Data

Stocks, ETFs, crypto, commodities, forex: quotes, fundamentals, SEC filings, point-in-time history.

我该使用它吗

质量与安全性

A
描述质量
97%
模式完整度
89%
命名质量
97%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~3,696token 数(工具定义)
~1.4 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 2.89%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "market-data": {
      "url": "https://mkts.io/api/mcp"
    }
  }
}

远程端点

https://mkts.io/api/mcpstreamable-http

它能做什么

工具清单

工具(15)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢compare_assets(symbols)

Compare 2 to 10 market symbols using the same normalized mkts snapshot. Returns requested and resolved symbols plus normalized asset records with provenance metadata.

输入模式

{
  "type": "object",
  "properties": {
    "symbols": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 25
      },
      "minItems": 2,
      "maxItems": 10,
      "description": "Ticker symbols such as AAPL, MSFT, BTC, or EUR/USD."
    }
  },
  "required": [
    "symbols"
  ],
  "additionalProperties": false
}
🟢get_archive_series(symbols, from, to)

Get what mkts recorded for up to 100 symbols on every day in a date range, from the immutable point-in-time archive. This is the shape a portfolio backtest actually needs — N symbols by M days in one call, where get_asset_series would take one call per holding and get_assets_as_of one per day. Each row carries observedAt and isRevision, so a later restatement stays visible rather than replacing the original. Days the market was shut are absent, not zero-filled. Limits: 366 days, and symbols multiplied by days must not exceed 10000.

输入模式

{
  "type": "object",
  "properties": {
    "symbols": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 25
      },
      "minItems": 1,
      "maxItems": 100,
      "description": "Symbols to fetch, e.g. [\"AAPL\",\"MSFT\",\"BTC\"]."
    },
    "from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "First date, YYYY-MM-DD."
    },
    "to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Last date, YYYY-MM-DD. Defaults to today."
    }
  },
  "required": [
    "symbols",
    "from"
  ],
  "additionalProperties": false
}
🟢get_asset_intraday(symbol, type, from, to, interval)

Get every price observation mkts made of one symbol inside a time window, rather than just the daily close. Use for intraday movement, timing questions, or checking what a price was doing during a session; use get_asset_series instead for daily closes over months. Cadence is not uniform across the archive — roughly 15 minutes since March 2026 and much sparser before — so the response reports observedIntervalMinutes for the window you asked for, and you should read it before treating the data as fixed bars. interval buckets the result, keeping the last observation in each bucket. Maximum window 92 days; intraday reaches back further on paid tiers.

输入模式

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "maxLength": 25,
      "description": "Ticker, e.g. BTC, AAPL, EUR/USD."
    },
    "type": {
      "type": "string",
      "enum": [
        "stock",
        "etf",
        "crypto",
        "commodity",
        "forex"
      ],
      "description": "Only needed when a ticker is shared across asset types. Omit to get the larger by market cap."
    },
    "from": {
      "type": "string",
      "description": "ISO 8601 timestamp or YYYY-MM-DD. Defaults to 24 hours before \"to\"."
    },
    "to": {
      "type": "string",
      "description": "ISO 8601 timestamp or YYYY-MM-DD. Defaults to now."
    },
    "interval": {
      "type": "string",
      "enum": [
        "raw",
        "15m",
        "1h",
        "4h",
        "1d"
      ],
      "default": "1h",
      "description": "Bucket size; each bucket keeps its last observation. raw returns every observation without bucketing."
    }
  },
  "required": [
    "symbol"
  ],
  "additionalProperties": false
}
🟢get_asset_profile(symbol, type)

Look up one asset by symbol and return what it is and where it stands: name, asset type, price, 24h percent change, market cap, 24h volume, sector for stocks and ETFs, supply figures for crypto, and when it was last observed. Served from the mkts snapshot, which refreshes about every 15 minutes, so it is fast and the default for "what is X" or "how is X doing". Use get_asset_quote instead when the user needs the latest print or intraday detail such as day high and low or pre- and post-market prices; use get_assets_bulk for several symbols at once.

输入模式

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "maxLength": 25,
      "description": "Ticker as commonly written: AAPL, BTC, SPY, GC=F for gold futures, EUR/USD for forex, HL-HYPE-PERP for a Hyperliquid perpetual."
    },
    "type": {
      "type": "string",
      "enum": [
        "stock",
        "etf",
        "crypto",
        "commodity",
        "forex"
      ],
      "description": "Only needed when a ticker is shared across asset types. Omit to get the larger by market cap."
    }
  },
  "required": [
    "symbol"
  ],
  "additionalProperties": false
}
🟢get_asset_quote(symbol, type)

Get a current quote for a stock, ETF, cryptocurrency, commodity, or forex pair. Returns price fields, market state when available, an observation timestamp, and upstream source.

输入模式

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "maxLength": 25,
      "description": "Ticker, coin ID, or forex pair."
    },
    "type": {
      "type": "string",
      "enum": [
        "auto",
        "stock",
        "etf",
        "crypto",
        "commodity",
        "forex"
      ],
      "default": "auto",
      "description": "auto picks the asset the symbol most commonly means (the larger by market cap when a ticker is shared, e.g. META the stock over MetaDAO); set a type to pick the other."
    }
  },
  "required": [
    "symbol"
  ],
  "additionalProperties": false
}
🟢get_asset_series(symbol, from, to, type)

Get what mkts recorded for one symbol on every day in a date range, from the immutable point-in-time archive. Use this for backtesting rather than calling get_assets_as_of once per day — a 90-day study is one call here and 90 there. Distinct from get_price_history, which fetches OHLCV live from upstream providers: this returns what was observed at the time, with observedAt and isRevision per row, so a later restatement is visible instead of silently replacing the original. Days the market was shut are absent rather than zero-filled. Maximum range 366 days.

输入模式

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "maxLength": 25,
      "description": "Ticker or mkts symbol."
    },
    "from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "First date in the range, YYYY-MM-DD."
    },
    "to": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Last date in the range, YYYY-MM-DD. Defaults to today."
    },
    "type": {
      "type": "string",
      "enum": [
        "stock",
        "etf",
        "crypto",
        "commodity",
        "forex"
      ],
      "description": "Only needed when a ticker is shared across asset types. Omit to get the larger by market cap."
    }
  },
  "required": [
    "symbol",
    "from"
  ],
  "additionalProperties": false
}
🟢get_assets_as_of(symbols, date)

Get what mkts recorded about one or more symbols on a specific past date, from the immutable point-in-time archive. Pass a single symbol or up to 100. Use for backtesting, reconstructing a past decision, or checking whether a figure was later revised — not for current prices, which get_assets_bulk serves. Revisions recorded after the requested date are excluded, so results never leak hindsight into a historical decision. Check isExactDate on each result: false means the market was closed and the most recent earlier observation was returned instead.

输入模式

{
  "type": "object",
  "properties": {
    "symbols": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 25
      },
      "minItems": 1,
      "maxItems": 100,
      "description": "One or more symbols, e.g. [\"AAPL\"] or [\"AAPL\",\"MSFT\",\"BTC\"]."
    },
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "The date to look up, YYYY-MM-DD."
    }
  },
  "required": [
    "symbols",
    "date"
  ],
  "additionalProperties": false
}
🟢get_assets_bulk(symbols)

Get current data for an explicit list of up to 100 symbols in a single call. Use this instead of calling get_asset_quote repeatedly — a watchlist fetched one symbol at a time exhausts the rate limit for no benefit. Returns the resolved assets plus unresolvedSymbols naming anything not tracked, so a short list is never silently short.

输入模式

{
  "type": "object",
  "properties": {
    "symbols": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 25
      },
      "minItems": 1,
      "maxItems": 100,
      "description": "Ticker symbols, e.g. [\"AAPL\",\"BTC\",\"EUR/USD\"]."
    }
  },
  "required": [
    "symbols"
  ],
  "additionalProperties": false
}
🟢get_filings(symbol, type, limit)

List recent SEC filings for a US-listed company or fund, newest first, from SEC EDGAR. Each filing has its date, form type, a plain-language title (for 8-Ks, the events reported), the period it covers, and links to the EDGAR index page and the main document. Use to find the latest 10-K, 10-Q or 8-K, or to see what a company has filed recently. Insider-ownership forms (3, 4, 5, 144) are not included. A fund trust files for all its funds together; sharedFiler in the result marks this, and some filings may concern sibling funds.

输入模式

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "maxLength": 25,
      "description": "US ticker of a stock or ETF, e.g. NVDA, BRK-B, SPY."
    },
    "type": {
      "type": "string",
      "minLength": 1,
      "maxLength": 12,
      "description": "Only filings of this exact SEC form type, e.g. 10-K (annual report), 10-Q (quarterly report), 8-K (current report), DEF 14A (proxy statement). Omit for all types."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "default": 10,
      "description": "Maximum filings to return, newest first."
    }
  },
  "required": [
    "symbol"
  ],
  "additionalProperties": false
}
🟢get_fundamentals(symbol, period, module)

Get annual or quarterly financial-statement time series for a stock: income statement, balance sheet and cash flow, built from the company's own SEC filings (source "sec-edgar"), or from the equities provider for funds and companies EDGAR does not cover. Values are in the reporting currency the response names, which is not always USD. Modules can return all statements or a smaller financials, balance-sheet, or cash-flow payload.

输入模式

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "maxLength": 25,
      "description": "US stock or ETF ticker, e.g. MSFT."
    },
    "period": {
      "type": "string",
      "enum": [
        "annual",
        "quarterly"
      ],
      "default": "annual",
      "description": "Fiscal years or fiscal quarters."
    },
    "module": {
      "type": "string",
      "enum": [
        "all",
        "financials",
        "balance-sheet",
        "cash-flow"
      ],
      "default": "all",
      "description": "financials is the income statement (revenue, margins, EPS); choose one module for a smaller response, or all for every statement."
    }
  },
  "required": [
    "symbol"
  ],
  "additionalProperties": false
}
🟢get_macro_snapshot

Get the current mkts macro dashboard, including major equity proxies, crypto, commodities, the US dollar, volatility, and the US 10-year yield.

输入模式

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢get_market_snapshot

Get the current global cryptocurrency market totals, volume, dominance, active asset counts, and the underlying snapshot timestamp.

输入模式

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢get_news(symbol, category, limit)

Get recent market news from the configured source feeds. Filter by an asset symbol or by markets, crypto, commodities, or forex category. Returns source and publication links.

输入模式

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "maxLength": 25,
      "description": "Only headlines mentioning this asset, matched on its ticker and name. Overrides category."
    },
    "category": {
      "type": "string",
      "enum": [
        "markets",
        "crypto",
        "commodities",
        "forex"
      ],
      "description": "Only feeds covering this market. Omit for all."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10,
      "default": 5,
      "description": "Maximum headlines to return, newest first."
    }
  },
  "additionalProperties": false
}
🟢get_price_history(symbol, range)

Get bounded daily price history for a symbol. Stocks and ETFs include OHLCV when available; cryptocurrency history may contain close and volume only.

输入模式

{
  "type": "object",
  "properties": {
    "symbol": {
      "type": "string",
      "maxLength": 25,
      "description": "Ticker, e.g. AAPL, BTC, GC=F."
    },
    "range": {
      "type": "string",
      "enum": [
        "1M",
        "3M",
        "6M",
        "YTD",
        "1Y"
      ],
      "default": "3M",
      "description": "How far back from today: one, three or six months, year to date, or one year."
    }
  },
  "required": [
    "symbol"
  ],
  "additionalProperties": false
}
🟢screen_assets(type, sector, minPrice, maxPrice, minChange, ...)

Find assets matching price, daily-move, volume, market-cap, asset-type and sector filters, sorted as requested. Use for questions like "biggest movers today", "tech stocks over $1T" or "cheapest crypto by price"; all filters are optional and combine with AND. Covers the whole mkts universe (stocks, ETFs, crypto, commodities, forex) from the snapshot, which refreshes about every 15 minutes. Returns at most 25 assets. For valuation or profitability filters such as P/E or margins, this tool does not apply; fetch fundamentals for specific symbols with get_fundamentals.

输入模式

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "stock",
        "etf",
        "crypto",
        "commodity",
        "forex"
      ],
      "description": "Only this asset class."
    },
    "sector": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "Stocks and ETFs only; exact name, case-insensitive: Technology, Healthcare, Financial Services, Consumer Cyclical, Consumer Defensive, Communication Services, Industrials, Energy, Basic Materials, Real Estate, Utilities."
    },
    "minPrice": {
      "type": "number",
      "description": "Minimum price in USD (forex: the quoted rate)."
    },
    "maxPrice": {
      "type": "number",
      "description": "Maximum price in USD (forex: the quoted rate)."
    },
    "minChange": {
      "type": "number",
      "description": "Minimum 24h change in percent; 5 means +5%, -3 means -3%."
    },
    "maxChange": {
      "type": "number",
      "description": "Maximum 24h change in percent; -5 finds assets down 5% or more."
    },
    "minVolume": {
      "type": "number",
      "minimum": 0,
      "description": "Minimum 24h volume as reported: shares for stocks and ETFs, USD for crypto."
    },
    "minMarketCap": {
      "type": "number",
      "minimum": 0,
      "description": "Minimum market cap in USD; 1000000000000 is $1T. Any value above 0 excludes assets with no market cap, such as forex and many ETFs."
    },
    "sort": {
      "type": "string",
      "enum": [
        "price",
        "change24h",
        "volume24h",
        "marketCap"
      ],
      "default": "marketCap",
      "description": "Field to rank by. Use change24h with direction desc for top gainers, asc for top losers."
    },
    "direction": {
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ],
      "default": "desc",
      "description": "desc for largest first, asc for smallest first."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 25,
      "default": 10,
      "description": "Maximum assets to return."
    }
  },
  "additionalProperties": false
}

社区

评价此服务器

证据

最近观测

已验证未记录版本15 个工具