Skip to main content
Glama
cstamigo-droid

crypto-intel-mcp

crypto-intel-mcp

License: MIT Python MCP crypto-intel-mcp MCP server

crypto-intel-mcp - coin analysis demo

Crypto market intelligence for any LLM, over the Model Context Protocol.

Gives any MCP client (Claude Desktop, Claude Code, agents) clean tools for crypto price, momentum, and what's trending — and blends them into a single scored verdict. Runs entirely on CoinGecko's free public API (no key), fails gracefully (a missing source returns "no data", never a fabricated value), and outputs Markdown by default or JSON on demand.

# Crypto Intelligence — BTC

**Signal:** Lean positive  `[........|##......]` +22/100  · confidence 80%

Building momentum → LEAN LONG. BTC momentum: 24h +1.9% · 7d +4.4% · 30d -17.0%.
- In CoinGecko trending (elevated attention).
- Total crypto market cap +1.8% 24h, BTC dominance 57%.

Tools

Tool

What it does

Source

Status

crypto_analyze

Hero tool. Blends momentum + trending + market tide into one scored verdict (RISK-ON → AVOID).

composite

crypto_get_quote

Live price, 24h change, market-cap rank, volume, distance from ATH.

CoinGecko

crypto_momentum

Multi-timeframe momentum (24h/7d/30d) scored into one directional signal.

CoinGecko

crypto_trending

The coins the market is searching for most right now.

CoinGecko

Every tool returns Markdown (human-readable, default) or JSON (response_format="json") for programmatic use.


Related MCP server: crypto-prices-mcp

Live demo output (2026-06-15)

crypto_get_quote bitcoin:
  BTC $66,504.00  +3.4% 24h  · rank #1  · -47% from ATH

crypto_momentum bitcoin:
  Lean positive  [........|##......] +21/100  · confidence 80%
  BTC momentum: 24h +3.4% · 7d +4.9% · 30d -14.8%

crypto_trending:
  ZEC, PENGU, SIREN, TAO, NEAR, BTC, HYPE, GRAM, SUI, H

crypto_analyze bitcoin:
  Lean positive  [........|###.....] +35/100  · confidence 80%
  Building momentum → LEAN LONG. In CoinGecko trending (elevated attention).
  Total crypto market cap +3.6% 24h, BTC dominance 57%.

All values are live from CoinGecko's free public API — no key, no fabrication.


Quick start

git clone https://github.com/cstamigo-droid/crypto-intel-mcp crypto-intel-mcp
cd crypto-intel-mcp
python -m venv .venv && .venv\Scripts\activate     # Windows
pip install -r requirements.txt

python -m crypto_intel_mcp     # starts the MCP server over stdio (no .env needed)

Smoke test (hits the live CoinGecko API and prints each signal):

python tests/test_smoke.py bitcoin

Use it in Claude Desktop

Add this to claude_desktop_config.json (%APPDATA%\Claude\ on Windows, ~/Library/Application Support/Claude/ on macOS), then restart Claude Desktop:

{
  "mcpServers": {
    "crypto-intel-mcp": {
      "command": "python",
      "args": ["-m", "crypto_intel_mcp"],
      "cwd": "C:/path/to/crypto-intel-mcp"
    }
  }
}

Why it's built this way

  • Uniform result contract. Every source returns the same Result shape, so an LLM can reason across tools instead of parsing N formats.

  • Graceful degradation. A source with no data returns "no data", not a fake value. Missing data never invents an answer.

  • Resilient + cached. A short per-source TTL cache avoids hammering rate-limited endpoints when an agent calls several tools in one turn.


Disclaimer

For research and educational use only. Data comes from third-party sources and may be delayed or incomplete.

License

MIT

Available Tools

4 tools
crypto_analyzeA
Read-onlyIdempotent

Run a full analysis of a coin and return one scored verdict.

Blends multi-timeframe momentum with whether the coin is trending and the overall crypto market tide into a single verdict (RISK-ON → AVOID) with a gauge and the reasoning behind it.

This is the primary tool — prefer it for "should I look at X?" questions.

Examples: - "Give me a full read on bitcoin" -> coin='BTC' - "Should I be looking at SOL?" -> coin='solana'

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already indicate read-only, idempotent, non-destructive. Description adds detail on verdict scale (RISK-ON → AVOID), gauge, reasoning, and blending of momentum, trend, and market tide. No contradictions.

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?

Concise three-paragraph structure with clear main purpose, usage guidance, and examples. No extraneous text. Information is front-loaded.

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?

Given output schema exists, description adequately covers return format (verdict, gauge, reasoning) and input semantics. Complements annotations and schema without redundancy.

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 descriptions for both parameters are complete, covering format and examples. The tool description does not add new parameter info, but examples demonstrate usage. With good schema descriptions, minimal additional value from description.

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?

Description clearly states it runs a full analysis and returns a scored verdict. Identifies the resource (coin) and verb (analyze). Distinguishes from siblings by calling itself the primary tool for 'should I look at X?' questions.

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?

Explicitly advises to prefer this tool for 'should I look at X?' questions. Provides example queries mapping to parameter. Does not explicitly mention when not to use siblings, but the primary tool designation implies alternatives exist.

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

crypto_get_quoteA
Read-onlyIdempotent

Get a current price snapshot for a cryptocurrency.

Informational (not a buy/sell signal): live price, 24h change, market-cap rank, 24h volume, and distance from all-time high.

Examples: - "What's bitcoin trading at?" -> coin='BTC' - "How far is ETH from its all-time high?" -> coin='ethereum'

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint true, idempotentHint true, and destructiveHint false. The description adds value by listing the specific data returned (live price, 24h change, etc.) and clarifying it is not a trading signal. No contradiction.

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?

Two concise sentences plus examples. Front-loaded with the main action, no unnecessary words. Every sentence adds value.

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?

Given the tool's simplicity, the presence of an output schema, and the description covering the core purpose and returned data, it is largely complete. Could optionally mention default response_format, but not a gap.

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?

Input schema already describes both parameters with examples. The tool description adds real-world usage examples that map natural language to coin values, which aids understanding without repeating schema. Baseline 3 is elevated to 4 due to helpful examples.

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?

Clearly states 'Get a current price snapshot for a cryptocurrency', specifying verb, resource, and distinguishing it as informational. Sibling tools (analyze, momentum, trending) suggest this is for quick quotes, and the description reinforces that.

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

Usage Guidelines3/5

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

Description says 'Informational (not a buy/sell signal)' and gives examples, but does not explicitly tell when to use this tool versus siblings like crypto_analyze or crypto_momentum. The context is implied but not spelled out.

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

crypto_momentumA
Read-onlyIdempotent

Score a coin's price momentum across 24h, 7d and 30d into one signal.

Returns a directional score from -100 (breaking down) to +100 (strong broad-based upward momentum), weighting recent action more heavily.

Examples: - "Does solana have momentum?" -> coin='SOL' - "Is bitcoin trending up or down?" -> coin='bitcoin'

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

Beyond readOnlyHint and idempotentHint annotations, the description explains the score range (-100 to +100) and that recent action is weighted more heavily. This adds behavioral nuance, though it could mention error handling for invalid coins.

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 brief, with a clear opening sentence defining the tool, followed by two illustrative examples. No extraneous content; every sentence contributes value.

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?

Given the tool's simplicity (one required parameter, output schema present), the description covers the core behavior, scoring methodology, and common use cases. The output schema handles return values, so missing details like pagination or errors are acceptable.

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 describes the 'coin' parameter as a symbol/name/id. The description's examples (e.g., 'coin=''SOL''') reinforce this but do not add significant new semantic meaning. With schema description coverage stated as 0%, the description partially compensates but could be more detailed on input variations.

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 'Score a coin's price momentum across 24h, 7d and 30d into one signal,' specifying a verb and resource. It distinguishes from siblings by focusing on a composite momentum score, unlike crypto_trending (lists trending coins) or crypto_get_quote (current price).

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?

Examples like 'Does solana have momentum?' and 'Is bitcoin trending up or down?' provide clear usage context. However, it does not explicitly contrast with sibling tools or state when not to use, but the context is sufficient for typical queries.

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. Dates show when Glama detected each change.

  1. 4 tool updatesv0.1.0
    • First observedcrypto_analyze
    • First observedcrypto_get_quote
    • First observedcrypto_momentum
    • First observedcrypto_trending

TDQS

A4.3/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: crypto_analyze gives a full verdict, crypto_get_quote provides price snapshots, crypto_momentum scores momentum, and crypto_trending lists trending coins. No overlapping responsibilities.

Naming Consistency5/5

All tools follow a consistent snake_case pattern with the 'crypto_' prefix, using descriptive verbs (analyze, get_quote, momentum, trending). No mixing of conventions.

Tool Count5/5

Four tools is well-scoped for a crypto analysis server. Each tool serves a necessary function without redundancy or omission, covering core analysis needs.

Completeness4/5

The tool set covers the primary domain: full analysis, price snapshot, momentum, and trending. While minor gaps like historical data or news exist, the core workflow of assessing a coin's potential is complete.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cstamigo-droid/crypto-intel-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server