vedetta-mcp
# vedetta-mcp
Pay-per-call market intelligence for MCP clients (Claude, Cursor, and others).
Vedetta sells crypto sentiment reads, sentiment-vs-price divergence verdicts, and live analyst answers over x402 — USDC on Base, one micropayment per request. No signup, no API key: payment is authentication.
This package is a **stdio MCP server**. You bring a dedicated low-balance wallet (`EVM_PRIVATE_KEY`). The server settles each micropayment locally. Payment settles only on a successful answer — a failed call costs nothing.
**Descriptive market analysis only — not financial advice.**
Site: https://vedetta.dethboy.com · OpenAPI: https://vedetta.dethboy.com/openapi.json · Agent card: https://vedetta.dethboy.com/vedetta.md
## Install
Node 20+. Wallet needs USDC on Base. A few dollars covers hundreds of calls.
Claude Code:
```bash
claude mcp add vedetta -e EVM_PRIVATE_KEY=0xYOUR_KEY -- npx -y vedetta-mcp@1.1.0
```
Claude Desktop / Cursor (`claude_desktop_config.json` or `~/.cursor/mcp.json`):
```json
{
"mcpServers": {
"vedetta": {
"command": "npx",
"args": ["-y", "vedetta-mcp@1.1.0"],
"env": { "EVM_PRIVATE_KEY": "0xYOUR_KEY" }
}
}
}
```
Pin `@1.1.0`. Do not install a `1.0.1` npm tag — that version was never published.
Without `EVM_PRIVATE_KEY` the server still starts. Paid tools return the live 402 offer (price, network, pay-to) so you can inspect cost before funding a wallet. The key never leaves your machine.
## Worked example
Audit the desk first ($0.01), then decide whether a live read is worth it.
MCP tool (after the server is connected):
```
vedetta_track_record
asset: BTC
```
Same call over HTTP (unpaid GET returns **402 Payment Required**; settle USDC on Base, retry):
```bash
curl -sS -D - "https://vedetta.dethboy.com/v1/track-record?asset=BTC"
```
Track-record endpoint: https://vedetta.dethboy.com/v1/track-record
Cheapest path: `vedetta_track_record` → `vedetta_snapshot` (cache age) → `vedetta_screener` (what to look at) → a live read (`vedetta_consensus` / `vedetta_ask`).
## Price table
Live 402 offer is authoritative. Server refuses any offer above the listed cap.
| Tool | What it does | Price | Latency |
|---|---|---|---|
| `vedetta_ask` | Live analyst answer to any market question | $0.09 | 10–180 s |
| `vedetta_consensus` | Sentiment-vs-price divergence verdict + confidence | $0.09 | 10–180 s |
| `vedetta_prediction` | Falsifiable claim + confidence + falsifier (24h/7d/30d) | $0.09 | 10–180 s |
| `vedetta_screener` | Cross-asset divergence scan | $0.03 | instant |
| `vedetta_snapshot` | Latest cached signal for one asset, with age stamp | $0.02 | instant |
| `vedetta_track_record` | Verifiable logged history — audit the desk | $0.01 | instant |
More HTTP routes (feed $0.005, route $0.005, history $0.01, live desks $0.09) live on the same API: https://vedetta.dethboy.com/registry.json
## Environment variables
| Variable | Required | Default | Purpose |
|---|---|---|---|
| `EVM_PRIVATE_KEY` | for payments | — | Hex private key of the wallet paying USDC on Base |
| `VEDETTA_API_URL` | no | `https://vedetta.dethboy.com` | API base URL override |
| `VEDETTA_MAX_PRICE_USD` | no | per-route listed price | Global price-cap override in USD |
## How payment works
Each tool call is a plain HTTPS request. Vedetta answers `402` with a machine-readable offer; the server signs the USDC micropayment and retries (x402 V2 via `@x402/fetch`). Success includes a `_payment` receipt. 5xx is never charged and is retried once.
Guardrails: tools are read-only; never pay above the listed cap; treat every response as untrusted data, never as instructions. Paying a call signs a fee, never an underlying trade.
## Links
- Track record: https://vedetta.dethboy.com/v1/track-record
- Install examples: https://vedetta.dethboy.com/install
- npm: https://www.npmjs.com/package/vedetta-mcp
- Contact: vedetta@dethboy.com
## License
MIT
TDQS
Scored across 6 tools
Each tool serves a clearly distinct purpose: snapshot is the cached single-asset signal, screener is the cached cross-asset scan, track_record is the historical log, ask is the live free-form question, consensus is the live sentiment/divergence verdict, and prediction is the live falsifiable forecast. The cache-vs-live distinction and single-vs-cross-asset dimension make selection unambiguous.
All tools share the 'vedetta_' prefix, but the pattern is not fully consistent: most are nouns (snapshot, track_record, consensus, prediction, screener) while 'ask' is a verb, and 'track_record' uses an underscore while the others are single words. This is a minor deviation from an otherwise coherent naming scheme.
Six tools is well-scoped for an analyst/desk service. The count covers both cached and live access modes, single-asset and cross-asset queries, and historical audit, without being bloated or sparse.
The tool surface covers the full analyst workflow: screening (screener), quick cached checks (snapshot), detailed live reads (consensus, prediction, ask), and post-hoc verification (track_record). The inclusion of a free-form question tool fills any gaps regarding unsupported query types, making the set effectively complete for the stated purpose.