Servidor MCP

CoinMarketCap

com.coinmarketcap/coinmarketcap
Cripto y Web3 Datos y analítica Público y accesible MCP 2026-07-28

Qué hace este MCP

Provides cryptocurrency prices, market metrics, technical analysis, holder data, news, derivatives metrics, and market trend information.

execute_skill
Runs one platform-hosted skill by unique_name and returns its structured JSON result. Skills are remote backend services the platform executes - not Agent Skills (SKILL.md bundles you load and follow yourself). A valid request to an existing skill starts a synchronous backend run: 30-300 seconds, no job id. The same skill with the same parameters has taken 34s and 295s; each repeat starts a fresh run and can return a different set of fields inside result.data. A run cut off by a client timeout cannot be resumed, only repeated. Success requires result.ok === true in the returned payload; executionMeta.executionTimeMs is a string. Failures may be a JSON error object or plain text, and the MCP isError flag may be true or false, so that flag does not indicate success.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['unique_name'], 'properties': {'parameters': {'type': 'object', 'description': 'Execution parameters for the selected skill, as a structured object built from its inputSchema - not a JSON-encoded string. A string, array or number is rejected as "Invalid parameters json format", meaning the type is wrong, not the encoding.\n\nFill every required field. A non-empty object is schema-checked in about a second, naming the missing required field, rejected enum value or unknown key, before any run starts. Omitting this parameter, or passing {} or null, skips that check entirely: the skill still runs on internal defaults and returns a normal-looking result for a different question. Omit only when the skill declares no parameters.'}, 'unique_name': {'type': 'string', 'description': 'Unique identifier of the skill to run, copied verbatim from the uniqueName field of a find_skill candidate. Lower snake_case, e.g. "daily_market_overview". Matching is byte-exact: changed case, surrounding spaces, hyphens, or an added namespace prefix all return SKILL_NOT_FOUND with no suggested alternative. It is a skill-catalog id, not the name of a tool on this endpoint.'}}, 'additionalProperties': False}
find_skill
Search a registry of hosted analysis services ("skills") and return ranked candidates for a described task. Each skill is a remote service the platform runs - not an Agent Skill you load - and can retrieve fields or return a composed analysis, 30-300s per run. find_skill is not billed - no credits, no x402 payment. Running a skill with execute_skill is. The registry's main value is synthesis: daily market overviews, comparisons that need interpretation, attribution and regime analysis. An isolated query for a quote, supply figure, coin profile, indicator value, market or derivatives snapshot, event date or narrative ranking may recall a broader analysis package rather than only the value. Covers crypto market structure, on-chain and DeFi, CEX and derivatives (funding rate, open interest, cross-venue), whale and flow anomalies, sector rotation and relative strength, sentiment, research, portfolio and risk; prediction- and event-market analytics; U.S. macro, rates and liquidity; U.S. equity indexes, sectors, themes and individual stocks; and cross-asset crypto-vs-equity comparison. Returns one JSON key, candidates. Fields are camelCase: uniqueName (the id execute_skill runs), skillDescription, resultType, domain, and inputSchema only when the skill takes parameters - its absence means no parameters, not a truncated result. domain is an output field; there is no domain or result-type filter. There is no relevance score and the list is never empty, so a returned candidate is not evidence of coverage; skillDescription is the only indication of what a candidate does. Read-only, no side effects.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Describe the data or analysis needed: name the entity (asset, protocol, exchange, market segment, equity ticker, sector or index, or a prediction-market event) and the judgment or metric wanted.\n\nRetrieval is literal about domain vocabulary. Keep the user\'s domain terms verbatim and in English - funding rate, open interest, whale, sector rotation - because paraphrase drops matches: "whale transactions on Ethereum" reaches the whale-monitoring skill, "large transfers over $10M on Ethereum" reaches nothing. Non-English queries return normally but recall fewer matches. Keywords retrieve as well as full sentences; when recall is poor, try different domain terms rather than a higher top_k.\n\nExamples: "Recent whale transactions on Ethereum above $10M in the last 24 hours." / "funding rate open interest regime shift" / "Which U.S. equity sectors led or lagged the broad market in the latest session?"'}, 'top_k': {'type': 'integer', 'default': '10', 'description': 'Max candidates to return. Range 1-20. Raising it adds more distant candidates, not better ones - on a task the library does not cover, top_k 20 returns 20 unrelated skills.'}}, 'additionalProperties': False}
get_crypto_info
Static profile for one or more cryptocurrencies, by numeric CoinMarketCap id: logo, long-form markdown description, official website, social / explorer / whitepaper links, category, tags, date added, and, for tokens, the platform and its contract address. No price, market cap or volume. Links only, not the text of the pages behind them - that text is in search_crypto_info, not here. One result row comes back as an array of objects, two or more as {headers, rows}, and the header set varies from call to call, so column positions are not stable. Unknown ids are dropped and duplicate ids collapse, both with no error, so the row count can be lower than the id count; every row carries its own id. No field selection: each call returns the full profile, and the description alone can exceed 20,000 characters per coin.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'One or more CoinMarketCap numeric ids as one comma-separated string with no whitespace: "1" or "1,1027" (Bitcoin is 1); "1, 1027" fails. Digits only - "BTC" or "bitcoin" fails with an opaque server error that names no cause, and one non-numeric entry fails the whole call. Numeric ids come from search_cryptos.'}}, 'additionalProperties': False}
get_crypto_latest_news
Recent news and web items for ONE cryptocurrency. Requires an id - there is no market-wide or all-coin feed. One item returns an array of objects; two or more return {headers, rows}, and the columns vary: description is dropped when it is empty for every row. Columns are title, description (a prefix cut of content, sometimes mid-word), content, url, publishedAt, quality (numeric string, scale undocumented). content is an excerpt capped near 2000 chars, not the full article; url is the source. publishedAt is a display string like "3 August 2026 12:53 PM UTC+0", not ISO 8601. Items sort by publishedAt descending, and event or prediction pages carry future dates, so the top item can be a future entry rather than today's news. Asset matching is loose and items carry no id or symbol field, so an item can be about a different asset or not recent, with the title as the only relevance signal. No paging, offset, date, language or source filter; limit can only shrink the list.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Exactly one CoinMarketCap numeric id, digits only, e.g. "1" (Bitcoin). A symbol fails with "id is not number"; a well-formed but unknown id returns an empty list, not an error. Numeric ids come from search_cryptos.'}, 'limit': {'type': 'integer', 'default': '10', 'description': 'Requested item count, default 10. The response never exceeds 10 items, so a larger value does not widen coverage; 0 or a negative value is ignored and the default applies.'}}, 'additionalProperties': False}
get_crypto_marketcap_technical_analysis
Technical analysis of the TOTAL crypto market capitalization - the whole market, not any single coin. Single-coin technical analysis is a different tool, get_crypto_technical_analysis. Takes no parameters. An id, or any other argument, is silently ignored and the response is identical, so a normal response is never proof the data was scoped to a coin. Returns macd; rsi with fixed 7/14/21 windows and no timeframe option; fibonacciLevels (swingHigh, swingLow, retracementLevels, extensionLevels - none of them labeled support or resistance); pivotPoint, on a market-cap basis, not a price; and currentMarketCap plus currentVolume, the whole-market totals. No moving averages. Every value is a display string, not a number: market-cap, volume, MACD and fibonacci figures carry a T/B/M magnitude suffix ("2.15 T"), rsi values do not ("40.15").
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
get_crypto_metrics
Holder and address-distribution analytics for one cryptocurrency: addresses bucketed by the USD value they hold, the whales-vs-others share of circulating supply (percent of supply), addresses bucketed by holding duration, top-holder concentration, and total holder counts. No price, market cap, trading volume or supply totals here. Which blocks come back is decided per coin and does not track market-cap rank, so a major asset can return nothing while a small one returns full top-holder concentration. When a coin has no data the call still returns isError:false and a non-empty body, because every response carries the same static definitions glossary of whale / holder / trader vocabulary - identical across coins, with no per-coin values.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Exactly one CoinMarketCap numeric id, digits only, e.g. "1" (Bitcoin). One at a time: a symbol, a slug or a comma-separated list all fail with "id is not number". Numeric ids come from search_cryptos.'}}, 'additionalProperties': False}
get_crypto_quotes_latest
Current market quote for one or more cryptocurrencies - the default tool for price questions. USD only, current snapshot only: no history, no top-N or biggest-mover list. Returns 36 snake_case fields per coin, including price, market_cap, market_cap_dominance, volume_24h, volume_change_24h, fully_diluted_market_cap, circulating_supply, total_supply, max_supply, turnover, rank, date_added and last_updated_time. percent_change_ covers 1h, 24h, 7d, 30d, 60d, 90d, ytd, 1y and all; market_cap_percent_change_ covers the same periods except 60d and ytd. 0 or 1 matches return an array of objects; 2 or more return {headers, rows}. Header order varies between calls, so a column index learned from one call will not hold in the next. Rows come back in the order the ids were given, and id comes back as a string. Each row is roughly 650 characters. isError stays false when nothing is found: an unknown id is dropped silently, so a 5-id call can return 4 rows or an empty array, and inactive coins come back with null price and rank. Missing or null is no data, not a price of zero.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'One or more CoinMarketCap numeric ids as one comma-separated string with no whitespace: "1" or "1,1027" (Bitcoin is 1). Digits only, and one string rather than an array - symbols, slugs, decimals ("BTC", "bitcoin", "1.5") and a space after a comma ("1, 1027") all fail with an opaque server error that names no cause. Numeric ids come from search_cryptos.'}}, 'additionalProperties': False}
get_crypto_technical_analysis
Price technical analysis for ONE cryptocurrency. Returns five blocks, whose keys are also the includeFields values: moving_averages (SMA and EMA, fixed 7/30/200-day), macd, rsi (fixed 7/14/21), fibonacciLevels (retracement and extension), pivotPoint. Windows are fixed - no interval, period or lookback parameter. Every value is a display string, not a number ("63,612.69"). The response echoes no id, name or symbol. Whole-market technical analysis is a different tool, get_crypto_marketcap_technical_analysis.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Exactly one CoinMarketCap numeric id, digits only, e.g. "1" (Bitcoin), with no whitespace. A symbol, a slug or a comma-separated list all fail with "id is not number", so query several coins with one call each. Numeric ids come from search_cryptos.'}, 'includeFields': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional array selecting whole blocks from the five above. Values are case-sensitive and must match the response keys exactly: "moving_averages", "macd", "rsi", "fibonacciLevels", "pivotPoint" - not indicator spellings like "SMA", "Fibonacci" or "pivot points", and not nested keys like "rsi14". It only filters; it cannot add fields absent from the default response.\n\nOmit it or pass [] to get all five. Unrecognized values are dropped one by one with no error, so an all-invalid filter returns {} with isError false - a bad filter value, not a coin without technical analysis.', 'uniqueItems': True}}, 'additionalProperties': False}
get_global_crypto_derivatives_metrics
Global crypto derivatives snapshot, no arguments: open interest and volume for total, futures and perpetuals, each with 24h, 7d, 14d and 30d change windows; one blended funding rate with the same windows; and BTC liquidations by 1h, 4h, 12h and 24h window split long versus short. Values are live intraday and the payload carries no timestamp of any kind, so figures cannot be given an as-of time. Every value is a display string, not a number ("385.08 B", "993,927.14"). Boundaries: funding is one global blended rate, unit not marked in the value and averaging method undisclosed - no per-exchange or per-contract funding. Liquidations are BTC only. No long/short open-interest ratio and no positioning data, so leverage imbalance is not a field here; no options, basis or implied volatility; no history beyond the fixed change windows. There is no symbol, exchange or interval parameter; the same fixed snapshot comes back regardless.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
get_global_metrics_latest
Whole-crypto-market snapshot, USD only, no parameters. Returns one fixed ~5.5 KB dashboard with 8 sections: last_updated, market_size (total market cap), liquidity (24h volume - total, spot, derivatives, plus a spot_vs_perp_ratio), sentiment (fear and greed), rotation (altcoin season), dominance (btc, eth, others), leverage (open interest, average funding rate, and BTC-only liquidation totals with no long/short split), and trad_fi_flows (BTC and ETH spot-ETF AUM). Windows come from a fixed vocabulary - 24h/7d/30d change, yesterday/last_week/ last_month history, yearly max/min - and not every section carries all of them. ETF data is AUM levels only; net inflow or outflow is absent, and AUM differences are not flows. Every value is a display string, not a number - T/B/M suffixes and +/- glyphs ("2.15 T", "389.54 B", "+58.4%"), timestamps as rendered text ("3 August 2026 12:00 AM UTC+0"). Dominance carries a leading + but is a share of total market cap, not a change. The fear-and-greed and altcoin-season index integers are the only numeric fields, and the altcoin-season regime is delivered as that index on a 0-100 scale. About 1.4 KB of the payload is definition prose. Freshness is mixed: open interest, market-cap changes, volume and dominance move intraday, while fear and greed, altcoin season and ETF AUM come from a daily 00:00 UTC snapshot. last_updated is that daily label, not the as-of time of the intraday fields. There is no asset, convert-currency or window parameter: the reply is always this same whole-market USD payload.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
get_upcoming_macro_events
Forward-dated crypto catalysts extracted from news articles - a news-derived catalyst list, not an authoritative economic calendar. Because dates are read out of article text, a dated claim inside an article, such as an analyst target or a prediction-market quote, can surface as a row with the same shape as a scheduled event; the row does not distinguish the two. Which event types are present at any time follows the upstream news corpus, so a type absent from the response reflects the corpus, not the absence of a scheduled event. Returns one key upcomingEventNews as headers plus positional rows: title, content, url, eventDate, originalNewsContent. Row order is unsorted and changes between calls, so the first row is not the nearest event, and one event can occupy several rows sourced from different sites. content is a snippet hard-cut at 100 characters, often mid-word. The full text, and the country or jurisdiction an event belongs to, appear only in originalNewsContent. eventDate is a display string - for example "10 August 2026", sometimes with a time and UTC offset - not ISO-8601. One call returns tens of KB, most of it source-article text, and cannot be narrowed: no parameters, no date, type or region filter, no way to change the row count.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
search_crypto_info
Semantic search over ONE cryptocurrency's own published pages - its website, whitepaper and community forum. Returns 2-3 rows of url, title and raw page text: an uncleaned scrape carrying navigation noise, one row can exceed 85,000 characters, and a row's content can be empty. id is a hard corpus filter: it alone decides whose pages are searched, and the prompt cannot reach outside it. "What is bitcoin?" under Ethereum's id returns Ethereum's whitepaper with no error; each row's url shows which site it came from. No relevance floor - an unrelated prompt or a keyword-only match still returns top-ranked rows and no error. prompt and id are the only inputs: nothing selects result count, text length, document type or language. Structured fields - logo, links, tags, contract address - are in get_crypto_info, not here.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['prompt', 'id'], 'properties': {'id': {'type': 'string', 'description': 'Exactly one CoinMarketCap numeric id, digits only, e.g. "1" (Bitcoin). Required - it selects whose material is searched. One id only: a symbol like "BTC" or a list like "1,1027" fails with "id is not number". Numeric ids come from search_cryptos.'}, 'prompt': {'type': 'string', 'description': 'What you want to find in this coin\'s own material, e.g. "what is the consensus mechanism?". Any language works, English not required. Returned text is in whatever language the source page uses (French and Spanish pages seen).'}}, 'additionalProperties': False}
search_cryptos
Resolve one cryptocurrency name, symbol or slug to the CoinMarketCap numeric id that asset-scoped tools take as input. Returns id, name, symbol, slug and rank - no price data. Matching is near-exact on one term, not fuzzy and not ranked by market cap. A partial or misspelled term matches literally and can miss the major coin: "bit" returns BitDAO and Biconomy, not Bitcoin; "bitcon" returns BitCone. Such a hit looks like a normal success - one or two rows, no error, and no similarity or confidence field, so the returned name, symbol and rank are the only signal of match quality. One term per call: "BTC,ETH" and "BTC ETH" return an empty array. No match also returns an empty array, not an error. One row comes back as an array of objects; two or more as {headers, rows}, where each row's values follow the order in headers.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'default': '3', 'description': 'Max rows, default 3, valid 1-5. Raising it does not surface more candidates - matching returns 0-2 rows either way.'}, 'query': {'type': 'string', 'description': 'One coin\'s name, symbol or slug, case-insensitive: "BTC", "btc", "Bitcoin", "bitcoin". A multi-word coin name like "Bitcoin Cash" is fine; a list of coins is not.'}}, 'additionalProperties': False}
trending_crypto_narratives
A ranked snapshot of which CoinMarketCap narrative categories are trending, with each one's aggregate market cap, volume and percent change over 24h, 7d, 30d, 90d and 1y, plus performance relative to the whole crypto market. Takes no parameters: a named narrative cannot be requested, and there is no limit, sort or filter argument. The response carries no news content and no social posts, sentiment or engagement metrics. Its only social fields are socialKeywords, a list of raw keyword strings, and socialKeywordUniqueAuthorCount. Returns categoryList as a headers plus positional rows table, whose topCoinList column nests a second headers/rows table carrying a few coins with a 7d price change each; it does not identify a narrative's constituent tokens. slug identifies a narrative, ranks are positions within this response, and the same slug can appear more than once. Every figure is a display string, not a number ("1.64 T", "+6.67%"). Repeated calls can return an identical cached snapshot.
Solo lectura Acceso externo Idempotente
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Añadido
get_crypto_marketcap_technical_analysis
17 de September de 2026 a las 12:34
Añadido
get_crypto_info
17 de September de 2026 a las 12:34
Añadido
get_global_metrics_latest
17 de September de 2026 a las 12:34
Añadido
get_crypto_technical_analysis
17 de September de 2026 a las 12:34
Añadido
get_crypto_latest_news
17 de September de 2026 a las 12:34
Añadido
find_skill
17 de September de 2026 a las 12:34
Añadido
get_crypto_quotes_latest
17 de September de 2026 a las 12:34
Añadido
execute_skill
17 de September de 2026 a las 12:34
Añadido
get_upcoming_macro_events
17 de September de 2026 a las 12:34
Añadido
search_cryptos
17 de September de 2026 a las 12:34
Añadido
get_global_crypto_derivatives_metrics
17 de September de 2026 a las 12:34
Añadido
get_crypto_metrics
17 de September de 2026 a las 12:34
Añadido
search_crypto_info
17 de September de 2026 a las 12:34
Añadido
trending_crypto_narratives
17 de September de 2026 a las 12:34