Skip to main content
Glama
Soonthorn6996

Crypto News & Market MCP Server

🪙 Crypto News & Market MCP Server

MCP Server (Python) สำหรับดึงข้อมูล Crypto จากแหล่ง ฟรีทั้งหมด ออกแบบมาให้ deploy เป็น MCP Online บน Railway แล้วเชื่อมเข้ากับ Claude ได้ทันที

✨ Tools ที่มีให้ใช้งาน

Tool

หน้าที่

แหล่งข้อมูล

ต้องใช้ key?

get_crypto_price

ราคา / market cap / %เปลี่ยนแปลง 24h

CoinGecko

get_market_overview

ภาพรวมตลาด + Top N เหรียญ + BTC dominance

CoinGecko

get_trending_coins

เหรียญกระแสแรงใน 24h

CoinGecko

get_fear_greed_index

ดัชนีความกลัว/โลภ

Alternative.me

get_crypto_news

ข่าวล่าสุดจาก CoinDesk/Cointelegraph/Decrypt/Bitcoin Magazine

RSS

search_coin

ค้นหา CoinGecko id จากชื่อ/symbol

CoinGecko

get_cryptopanic_news

ข่าว + sentiment (votes)

CryptoPanic

✅ (optional)

6 ใน 7 tool ทำงานได้ทันทีโดย ไม่ต้องมี API key เลย


Related MCP server: market-data-mcp

📁 โครงสร้างไฟล์

News CRYPTO API/
├── server.py          # ตัว MCP server (FastMCP + Streamable HTTP)
├── oauth_provider.py  # OAuth 2.1 provider + หน้า login (สำหรับ Claude.ai/Cowork web)
├── requirements.txt   # dependencies
├── railway.json       # config สำหรับ Railway
├── Procfile           # start command สำรอง
├── .python-version    # ระบุ Python 3.12 ให้ Nixpacks
├── .env.example       # ตัวอย่างตัวแปร env (ทุกตัว optional)
└── .gitignore

🧪 1) ทดสอบบนเครื่อง (Local)

# สร้าง virtual env
python -m venv .venv
.venv\Scripts\activate        # Windows
# source .venv/bin/activate   # macOS/Linux

pip install -r requirements.txt
python server.py

Server จะรันที่ http://localhost:8000/mcp

ทดสอบด้วย MCP Inspector:

npx @modelcontextprotocol/inspector
# ใส่ URL: http://localhost:8000/mcp  | Transport: Streamable HTTP

🚂 2) Deploy ขึ้น Railway

วิธีที่แนะนำ: ผ่าน GitHub

  1. push โค้ดทั้งหมดนี้ขึ้น GitHub repo

  2. ไปที่ railway.appNew ProjectDeploy from GitHub repo

  3. เลือก repo นี้ → Railway จะอ่าน railway.json + requirements.txt แล้ว build อัตโนมัติ

  4. ไปที่ tab Settings → Networking → Generate Domain เพื่อเปิด public URL

  5. (ถ้าจะใช้ CryptoPanic) ไปที่ tab Variables เพิ่ม CRYPTOPANIC_TOKEN

Railway จะ inject ตัวแปร PORT ให้เอง — โค้ดอ่านค่านี้อยู่แล้ว ไม่ต้องตั้งเพิ่ม

วิธีผ่าน CLI

npm i -g @railway/cli
railway login
railway init
railway up
railway domain          # เปิด public URL

หลัง deploy จะได้ URL ประมาณ:

https://your-app.up.railway.app/mcp

🔌 3) เชื่อมต่อกับ Claude

Claude Code (CLI)

# ไม่ได้ล็อก token
claude mcp add --transport http crypto-news https://your-app.up.railway.app/mcp

# ถ้าล็อกด้วย MCP_BEARER_TOKEN ให้ส่ง header ไปด้วย
claude mcp add --transport http crypto-news https://your-app.up.railway.app/mcp \
  --header "Authorization: Bearer <YOUR_TOKEN>"

Claude.ai / Cowork (Web) — ผ่าน OAuth 2.1

หน้า web รองรับเฉพาะ OAuth (ไม่รองรับ static token) — ต้องตั้งค่า OAUTH_LOGIN_PASSWORD ก่อน

  1. Settings → Connectors → Add custom connector

  2. ใส่ URL: https://your-app.up.railway.app/mcp (ไม่ต้องกรอก Client ID/Secret)

  3. กด connect → ระบบจะเปิดหน้า login ของ server → กรอก OAUTH_LOGIN_PASSWORD

  4. กด "อนุญาต & เชื่อมต่อ" → Claude จะได้รับ token อัตโนมัติ แล้วใช้งานได้เลย เช่น:

    • "ราคา BTC, ETH, SOL ตอนนี้เท่าไหร่ (อ้างอิง THB)"

    • "ภาพรวมตลาด crypto วันนี้เป็นยังไง"

    • "ดัชนี Fear & Greed ตอนนี้"

    • "ข่าว crypto ล่าสุด 5 ข่าว"

วิธีนี้เป็น OAuth 2.1 เต็มรูปแบบ (Dynamic Client Registration + PKCE) ที่ MCP SDK จัดการให้ การล็อกที่แท้จริงอยู่ที่หน้า login — ใครไม่รู้ password ก็เชื่อมต่อไม่ได้


🔑 ตัวแปร Environment (ทุกตัว optional)

ตัวแปร

ใช้ทำอะไร

ไม่ใส่จะเป็นยังไง

OAUTH_LOGIN_PASSWORD

เปิด OAuth 2.1 (สำหรับ Claude.ai/Cowork web) — รหัสที่กรอกหน้า login

ไม่เปิด OAuth

PUBLIC_URL

base URL สาธารณะ (OAuth issuer)

บน Railway อ่านจาก RAILWAY_PUBLIC_DOMAIN ให้เอง

MCP_BEARER_TOKEN

ล็อกแบบ Bearer (เหมาะกับ CLI) — ทำงานคู่กับ OAuth ได้

ไม่เปิด bearer

COINGECKO_DEMO_KEY

เพิ่ม rate limit CoinGecko

ใช้ได้ปกติ แต่ rate limit ต่ำกว่า

CRYPTOPANIC_TOKEN

เปิด tool get_cryptopanic_news

tool นี้จะแจ้งให้ไปสมัคร (tool อื่นใช้ได้หมด)

PORT

พอร์ตที่รัน

Railway ตั้งให้เอง / local = 8000

เลือกโหมด auth อัตโนมัติ: ตั้ง OAUTH_LOGIN_PASSWORD → OAuth · ตั้งแค่ MCP_BEARER_TOKEN → Bearer · ไม่ตั้งอะไร → Open ตั้งทั้งคู่ได้: web ใช้ OAuth, CLI ใช้ static token เดิม (ทำงานพร้อมกัน)


⚠️ หมายเหตุ

  • ความปลอดภัย: ใช้บน web → ตั้ง OAUTH_LOGIN_PASSWORD (OAuth 2.1, กั้นด้วยหน้า login) · ใช้บน CLI → ตั้ง MCP_BEARER_TOKEN · request ที่ไม่มี/ผิด credential จะได้ HTTP 401 ถ้าไม่ตั้งอะไรเลย server จะเปิดให้ใครก็เรียกได้ (ข้อมูล read-only สาธารณะ เสี่ยงต่ำ แต่ควรล็อกไว้)

  • OAuth state เป็น in-memory: เมื่อ Railway redeploy/restart token จะหาย ต้อง authorize ใหม่บน web (ยอมรับได้สำหรับ connector ส่วนตัว)

  • Rate limit: CoinGecko free มีโควต้าจำกัด ถ้าเจอ error 429 ให้เว้นช่วงแล้วลองใหม่ หรือใส่ COINGECKO_DEMO_KEY

  • ข้อมูลทั้งหมดเพื่อการศึกษาเท่านั้น ไม่ใช่คำชี้ชวนในการลงทุน

F
license - not found
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/Soonthorn6996/Crypto-NEWS-MCP'

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