Skip to main content
Glama
poqopo

crypto_market_html_mcp

by poqopo

Crypto Market HTML Agent

완성된 리서치 JSON과 시장 금액을 결합해 독립 실행 가능한 인터랙티브 HTML을 만드는 MCP 서버입니다.

등록용 이름: crypto_market_html_mcp. 라이선스: MIT.

시작하기

Python 3.11 이상과 uv가 필요합니다.

git clone https://github.com/poqopo/crypto-market-html.git
cd crypto-market-html
uv sync --python 3.12
uv run python agent.py

서버는 stdio MCP를 사용하며 stdout은 프로토콜 전용입니다.

MCP 클라이언트 설정 예:

{
  "mcpServers": {
    "crypto_market_html": {
      "command": "uv",
      "args": ["--directory", "/ABSOLUTE/PATH/crypto-market-html", "run", "python", "agent.py"]
    }
  }
}

Related MCP server: OpenNews MCP

도구와 디자인

Tool

역할

fetch_market_snapshot

CoinGecko의 USD 가격·시가총액·24h 거래량·등락률·BTC/ETH 도미넌스 수집

build_crypto_market_html

본문 근거와 시장 데이터를 연결해 단일 HTML 생성

입력 news_digestCrypto News Research Agentanalyze_crypto_insights 결과입니다. 이 에이전트는 새로운 기사 해석을 생성하지 않습니다.

화면 기능:

  • BTC·비BTC·ETH 집합 다이어그램 클릭과 코인 필터

  • 관측값과 분리된 도미넌스 가정 슬라이더·복원

  • 본문·인사이트 검색과 카드/목록 전환

  • 근거 문단 강조·원문 위치 링크·기사 상세 패널

  • 리서치 JSON 내보내기

BTC와 비BTC의 교집합은 없고 ETH는 비BTC의 부분집합입니다. 원 크기는 면적 비례가 아닌 집합 도식입니다. 슬라이더는 실제 시세나 상단의 관측 비중을 바꾸지 않습니다.

HTML 데모

uv run python demo.py

output/report.html을 브라우저에서 열면 됩니다. 데모 리서치·시세는 2026-09-19의 가상 데이터이며 실제 시장 보고서가 아닙니다. 인사이트는 규칙 기반 초안이라는 표시를 보존합니다.

실시간 시세 모드는 mode=live(기본)입니다. 필요할 때 COINGECKO_DEMO_API_KEY를 환경변수로 주입합니다. 연결 실패 시 데모 값으로 자동 대체하지 않습니다.

Contents

AGENTS.md, HTML 구성 스킬, 보고서 프롬프트, 입력 계약, templates/report.html과 가상 데모 데이터가 포함되어 있습니다.

MCP Prompt: market_html_brief(date). MCP Resource: market://demo-snapshot.

테스트

uv run python -m unittest discover -s tests -v

실제 MCP 도구 호출로 시장 스냅샷과 기사 근거가 연결된 HTML을 생성합니다.

Available Tools

2 tools
build_crypto_market_htmlC

Design standalone interactive HTML with paragraph-linked insights, article dialogs, market filters and dominance scenarios.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNo오늘의 코인 시장 브리핑
news_digestYes
market_snapshotYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits itself. It describes the intended output traits but does not state side effects, whether it returns HTML or writes a file, whether it makes network calls, or how it handles the required inputs. This is a meaningful gap for a tool with no annotation support.

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?

The description is a single efficient sentence with no filler, and it leads with the core action and deliverable. The trailing feature list is moderately dense but acceptable, so it earns a strong score without being perfect.

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

Completeness2/5

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

Given the tool has two required nested objects with zero schema descriptions, no annotations, and no usage guidance, the description is incomplete. An output schema exists and reduces the need to document return values, but the input contract and invocation context remain under-specified.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for the lack of parameter documentation. It does not explain news_digest or market_snapshot by name, and the feature list ('market filters', 'dominance scenarios') only vaguely hints at what market_snapshot may contain. It adds little direct value for parameter understanding.

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 states a specific verb ('Design') and a concrete deliverable ('standalone interactive HTML'), and lists features that make its output recognizable. It does not explicitly contrast with the sibling fetch_market_snapshot, but the verb-resource pairing makes the distinction obvious enough.

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

Usage Guidelines2/5

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

No guidance is given about when to call this tool versus fetch_market_snapshot, or whether it should be used after market data has been retrieved. The description implies an HTML-building use case but leaves the workflow and prerequisites to the agent.

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

fetch_market_snapshotB

Fetch USD prices, market caps, 24h volumes/changes and global market totals; or explicit demo data.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNolive
coinsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It discloses that demo data can be returned, but does not explain behavior like rate limits, caching, or the shape of response (though output schema exists). It does not contradict annotations since none exist.

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?

One sentence, concise, front-loads the main purpose (Fetch USD prices...). The mention of demo data is a bit tacked on at the end but acceptable. No wasted words.

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?

With only 2 parameters, no required params, and an output schema, the description is partially complete. It tells what data is fetched, but lacks guidance on parameter usage (mode, coins) and when to use demo. It's adequate for a simple fetch but leaves actionable gaps.

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

Parameters2/5

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

Schema coverage is 0%, so the description must explain the parameters. It mentions the fields fetched and demo data, but does not explain the 'mode' parameter (how to select demo) or the 'coins' parameter (what it filters). The description adds little over the schema's enum and default.

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 the tool fetches market data (prices, caps, volumes, changes, global totals) for USD, and mentions demo data as an option. It does not mention the sibling tool 'build_crypto_market_html', so it doesn't distinguish itself from that sibling, but the purpose is specific and clear.

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?

The description implies two modes ('live' and 'demo') and that demo data is explicit, but it does not state when to use live vs demo or when to prefer this tool over the sibling. The context that this is about fetching raw data vs building HTML is implicit, but not stated.

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. 2 tool updatesv0.1.0
    • First observedbuild_crypto_market_html
    • First observedfetch_market_snapshot

TDQS

B3.3/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have completely distinct purposes: one fetches market data, the other builds HTML from it. There is no ambiguity or overlap between fetching and rendering.

Naming Consistency5/5

Both tool names follow a consistent verb_noun snake_case pattern (fetch_market_snapshot, build_crypto_market_html), making the naming predictable and readable.

Tool Count3/5

With only 2 tools, the server is on the thin side, but the tools cover the core pipeline of fetching data and generating HTML. The count is borderline for the scope, not excessive.

Completeness4/5

The domain is narrowly focused on generating crypto market HTML. The two tools provide a complete workflow from data retrieval to final output. Minor gaps like data refresh scheduling or multiple template variants exist, but agents can work around them.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    D
    quality
    D
    maintenance
    Enables deep research into cryptocurrency tokens by gathering data from multiple sources like CoinGecko and DeFiLlama to generate structured reports. It allows users to track research progress, fetch web content, and manage resources locally for comprehensive crypto analysis.
    9
    68 npm
    4
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    A cryptocurrency news aggregation server providing AI-powered sentiment ratings, trading signals, and real-time market updates. It allows users to search news by coin, source, or engine type and filter results based on AI impact scores and bullish/bearish signals.
    11
    2,367
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Researches any company in ~10 seconds using 10 data sources. Returns structured reports with bull/bear verdict for stocks, crypto, and private companies.
    2
    12
    AGPL 3.0