Skip to main content
Glama
santyvv1993

santyvv-data-mcp

by santyvv1993

santyvv-data-mcp

Market and on-chain data for AI agents. A local (stdio) bridge to the santyvv-data remote MCP server: crypto prices from several venues, token facts, OHLC candles, market overview, DeFi TVL and wallet balances.

Eight tools, no API keys and no accounts. Two are free; the other six are paid per call in USDC on Base through the x402 protocol, so you pay for what you use and nothing else.

Install

npx -y santyvv-data-mcp

You normally don't run it by hand: your MCP client starts it. Add this to your client's config (Claude Desktop, Cursor, VS Code, Cline…):

{
	"mcpServers": {
		"santyvv-data": {
			"command": "npx",
			"args": ["-y", "santyvv-data-mcp"]
		}
	}
}

Without any configuration the two free tools work right away:

Tool

What it gives you

catalogo

everything for sale, its price and its parameters

estado_fuentes

live status of every upstream source (so you know before paying)

Related MCP server: dyoe-agent-tools-mcp

Paying for the paid tools (optional)

To let the bridge pay the six paid tools automatically, give it a wallet with USDC on Base (the bridge signs the exact amount of each call; it never sends funds anywhere else):

{
	"mcpServers": {
		"santyvv-data": {
			"command": "npx",
			"args": ["-y", "santyvv-data-mcp"],
			"env": {
				"X402_PRIVATE_KEY": "0x…",
				"X402_MAX_PRICE_USDC": "0.05"
			}
		}
	}
}

Variable

Default

What it does

X402_PRIVATE_KEY

(none)

wallet that pays each call (USDC on Base)

X402_MAX_PRICE_USDC

0.05

refuses to pay anything above this price per call

SANTYVV_MCP_URL

https://mcp.santyvv.com/mcp

the remote server to bridge to

Paid tools, with their price per call: precio ($0.02), ficha_token ($0.03), velas ($0.01), mercado ($0.03), tvl_protocolo ($0.01), saldo ($0.03).

Notes

  • The key stays local. It is read from your environment, used to sign one payment per call and never sent anywhere else. Use a dedicated wallet with a small balance.

  • This package does not reimplement anything. It asks the remote server for its tool list and forwards calls, so the tools, their prices and the data are always the ones actually served.

  • No accounts, no tracking. No sign-up, no API keys, no cookies.

  • Privacy policy: https://mcp.santyvv.com/privacy · HTTP API with the same data: https://x402.santyvv.com/api · Registered as com.santyvv/tienda in the official MCP Registry.

Develop

npm install
npm run build     # bundles src/index.ts into dist/index.mjs
npm run probar    # starts the bridge over stdio and calls a free tool
npm run probar:publicado   # installs the published package from npm and runs it

This repository is the source of the package published to npm. The same engine also serves the HTTP API (40 routes, same data, same per-call pricing) and is registered as com.santyvv/tienda in the official MCP Registry.

MIT.

Available Tools

8 tools
estado_fuentesUpstream source statusA
Read-only

Live probe of every public source behind the data (response, HTTP status and latency). Free: use it to decide whether a paid call is worth it, and to see where a number came from.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint. The description adds that it is a 'live probe' (consistent with openWorldHint) and specifies the outputs (response, HTTP status, latency), providing useful behavioral context beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that communicates purpose, output, and use case with zero redundancy. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-parameter probe tool with no output schema, the description fully explains what the tool does, what it returns, and when to use it. Nothing essential is missing for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4. The description adds no parameter-related information, but it doesn't need to since there are none.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('probe') and resource ('every public source behind the data'), with details on what is measured (response, HTTP status, latency). It distinguishes itself from sibling data-fetching tools by focusing on status, not data retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit use cases: decide whether a paid call is worth it and trace the origin of a number. While it doesn't name alternatives or when not to use it, the context is clear enough for an agent to select this tool appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ficha_tokenToken profile and priceA
Read-only

What a token is and what it is worth: name, symbol, decimals, supply, contract address and price per token. Use it to confirm that an address is a real contract and what it represents. Cuesta $0.03 por llamada, en USDC sobre Base (protocolo x402).

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoNetwork the token lives on. (por defecto: base)
tokensYesComma-separated contract addresses, up to 10. Example: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint and openWorldHint annotations, the description discloses an important operational detail: the call costs $0.03 in USDC on Base via protocol x402. This is non-obvious and valuable for an agent deciding whether to invoke the tool. It does not contradict the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences each add distinct value: the returned fields, the primary use case, and the cost/payment mechanism. The description is front-loaded with the most important information and contains no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by listing the returned fields and explaining the paid nature of the call. It is slightly unclear about the price currency of the token itself, but for a simple token-profile tool the information is largely sufficient for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already has 100% description coverage for both parameters, so the description does not need to repeat parameter semantics. It adds no input-parameter meaning beyond what the schema provides, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies the resource and what is returned: token name, symbol, decimals, supply, contract address, and price per token. It also gives a concrete purpose: confirming that an address is a real contract and what it represents. However, it does not explicitly distinguish the tool from the sibling 'precio', which likely overlaps on price data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear usage context: 'Use it to confirm that an address is a real contract and what it represents.' This tells an agent when the tool is appropriate, though it does not mention when not to use it or name alternative sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mercadoMarket overviewA
Read-only

The big picture: total market cap, Bitcoin dominance, 24 h change, the coins by market cap and the top movers. This is the context question, not the one about a single asset. Cuesta $0.03 por llamada, en USDC sobre Base (protocolo x402).

ParametersJSON Schema
NameRequiredDescriptionDefault
vsNoQuote currency. (por defecto: usd)
limiteNoHow many coins to return in the market-cap list. (por defecto: 20)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so the safe read-only nature is covered. The description adds meaningful operational context beyond annotations by disclosing the $0.03 per-call cost paid in USDC on Base via x402. There is no contradiction with the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short sentences with no filler. It front-loads the core scope, then clarifies tool selection, then adds the cost/payment detail. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only market overview with two optional, well-documented parameters, the description covers the main data groups and the payment context. It could be more explicit about the exact response shape or field names, but nothing essential is missing for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%: both vs and limite have descriptions and defaults. The description reinforces the 'coins by market cap' output that limite controls, but it does not add meaning beyond what the schema already provides, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states exactly what the tool returns: total market cap, Bitcoin dominance, 24h change, coins by market cap, and top movers. It also explicitly frames this as the 'context question' rather than a single-asset query, which distinguishes it from siblings like precio and ficha_token.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: use it for a broad market overview, and explicitly says it is not for questions about a single asset. It does not name alternatives directly or list when not to use it, so it falls just short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

precioMarket priceA
Read-only

What an asset is worth right now, in USD, as a MEDIAN across several venues with its spread - not a single exchange's last trade. Use it to quote, to compare venues or to spot a dislocated market. Cuesta $0.02 por llamada, en USDC sobre Base (protocolo x402).

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolsNoComma-separated symbols, up to 20. Example: BTC,ETH,SOL (por defecto: BTC)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare the tool read-only and open-world; the description adds meaningful operational details: median-across-venues methodology, spread inclusion, USD denomination, and a $0.02 per-call fee in USDC on Base via x402. No contradiction with the annotations exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences each carry distinct value: what the tool provides, when to use it, and what it costs. The information is front-loaded and there is no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one optional parameter and no output schema, the description covers the input, use cases, cost, and the core output concept of median price plus spread. It does not specify the exact response format, but an agent still has enough context to invoke and interpret the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents the single parameter symbols fully, including comma-separated format, max length, up to 20 values, example, and default BTC. The description adds no parameter-specific meaning, so the baseline score applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description precisely specifies what the tool returns: an asset's USD value as a median across venues, with spread, explicitly contrasting it with a single exchange's last trade. This clearly distinguishes the tool from sibling market-data tools and makes its scope unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete use cases: quoting, comparing venues, and spotting dislocated markets. It does not explicitly name alternatives or exclusion conditions, but the intended usage context is clear enough for an agent to decide when to call it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

saldoWallet balanceA
Read-only

What an address holds: the native balance of the network and, if you pass a token, that ERC-20 balance with its decimals. Use it to verify a payment or a holding without opening a block explorer. Cuesta $0.03 por llamada, en USDC sobre Base (protocolo x402).

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNoNetwork to query. (por defecto: base)
tokenYesOptional: ERC-20 token contract (USDC on Base: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913).
addressYes20-byte address (0x followed by 40 hex characters).

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description does not need to restate that. It adds useful context: the cost per call ($0.03 in USDC on Base via x402) and the inclusion of token decimals. However, it also misleadingly implies that the token parameter is optional ('if you pass a token'), while the schema marks it as required. This is a behavioral inaccuracy that undermines transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with the core purpose and use case, followed by a cost note. There is no redundant phrasing. The cost information is placed at the end, which is appropriate as a secondary detail. It is highly efficient and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core function and a use case, and the annotations cover safety. However, it lacks any mention of the return format (e.g., whether it returns a number, a string, or an object), which matters because there is no output schema. The misleading implication that token is optional also leaves the agent uncertain about required parameters. For a tool that must be called with two required parameters, this is a gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds minimal parameter-level detail beyond the schema: it mentions that passing a token yields its ERC-20 balance with decimals, but it does not clarify the chain parameter or the requiredness of token. The cost note is unrelated to parameter semantics. Overall, it does not significantly enhance parameter understanding beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: it returns the native balance of an address and optionally the ERC-20 balance with decimals for a given token. The phrase 'verify a payment or a holding' reinforces the purpose. It is easily distinguished from sibling tools like precio, mercado, and velas, which focus on market data, not wallet balances.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly suggests a use case: 'Use it to verify a payment or a holding without opening a block explorer.' This implies when to use it, and the sibling list confirms no overlap with balance queries. However, it does not explicitly mention when not to use it or compare it to a specific alternative, so it stops short of a full routing guide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tvl_protocoloDeFi protocol TVLA
Read-only

How much money is deposited in a DeFi protocol (TVL in USD) with its 24 h and 7 day change. The measure of a protocol's size and health before you interact with it. Cuesta $0.01 por llamada, en USDC sobre Base (protocolo x402).

ParametersJSON Schema
NameRequiredDescriptionDefault
protocolNoDeFiLlama protocol identifier. Example: aave (por defecto: aave)

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and openWorldHint, so the description's main added value is disclosing the $0.01 per-call cost and the USDC-on-Base payment mechanism via x402. This is useful operational context beyond annotations and does not contradict them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: first sentence states what it returns, second gives the use case, third covers cost/payment. Every sentence earns its place and no filler is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple task with one optional parameter, the description is nearly complete: it explains the output metrics, the purpose, and the cost/payment context. It could add a note about data source freshness, but the schema's DeFiLlama reference and the read-only annotation cover most needs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is only one optional parameter and the schema already documents it fully (DeFiLlama protocol identifier, default aave, example aave). The description adds no parameter-specific meaning beyond what the schema provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource (DeFi protocol) and the returned data: TVL in USD plus 24h and 7d changes. It is distinguishable from sibling tools like precio, saldo, and velas, though it does not explicitly name them. A slightly more direct action verb would make it fully explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'measure of a protocol's size and health before you interact with it' gives a clear use context for when to call the tool. It does not mention exclusions or alternative siblings, so it stops short of full guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

velasOHLC candlesA
Read-only

Recent candles for a trading pair at the interval you ask for (1m to 1d). What you need to compute trend or volatility, or to draw a chart without an exchange API key. Cuesta $0.01 por llamada, en USDC sobre Base (protocolo x402).

ParametersJSON Schema
NameRequiredDescriptionDefault
limiteNoHow many candles to return. (por defecto: 100)
symbolYesPair to query. Example: BTCUSDT
intervalNoSize of each candle. (por defecto: 1h)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

ReadOnlyHint and openWorldHint already cover the read-only and open-world aspects, and the description adds useful context about not needing an exchange key and the $0.01 per-call cost in USDC on x402. However, the stated interval range '1m to 1d' conflicts with the schema enum that also allows 1w and 1M, which is misleading behavior disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences deliver the core action, use case, and cost information with little waste. It loses the top score because the interval parenthetical is inaccurate and the billing sentence switches to Spanish, which slightly hurts readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple and all parameters are documented in the schema, but there is no output schema and the description never states the shape of the returned candles (e.g., timestamp, OHLCV fields) or their ordering. Cost and keyless access are disclosed, but the return format remains under-specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline applies: symbol, interval, and limite are already well documented with defaults, an example, and an enum. The description's only param-related addition is the interval range, which actually understates the schema enum and does not add useful meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool returns recent OHLC candles for a trading pair at a requested interval, and connects it to trend/volatility/charting use cases. It does not explicitly distinguish this from siblings like precio or mercado, though the candle-specific language makes the resource clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear context for when to use the tool: to compute trend or volatility, to draw charts, and to access market data without an exchange API key. It stops short of naming alternatives or saying when not to use it, so it misses the top score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 8 tool updatesv1.0.0
    • First observedcatalogo
    • First observedestado_fuentes
    • First observedficha_token
    • First observedmercado
    • First observedprecio
    • First observedsaldo
    • First observedtvl_protocolo
    • First observedvelas

TDQS

A4/5.0

Scored across 8 tools

Disambiguation4/5

Most tools map cleanly to one resource (market overview, candles, TVL, balances, source health), but `precio` and `ficha_token` both return a current price and `mercado` also includes price context, so an agent needs to read descriptions carefully to pick the right one.

Naming Consistency5/5

All eight names are lowercase, underscore-separated, and follow a consistent noun-led pattern such as `precio`, `velas`, `ficha_token`, and `tvl_protocolo`. The mix of Spanish and English financial terms like `token` and `tvl` is minor and does not break the naming convention.

Tool Count5/5

Eight tools is a well-scoped count for a read-only crypto and market-data server. Each tool covers a distinct data product, and the two free meta tools provide useful discovery and source-health context without bloating the surface.

Completeness4/5

The core read-only domain is well covered: market overview, asset price, candles, token metadata, protocol TVL, and wallet balances. The main gaps are the lack of a direct token-search/discovery tool and transaction-level data, but agents can work around these using `mercado` and `saldo`.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers