A server that fetches real-time cryptocurrency prices from Bitget's API, allowing users to query current prices of any cryptocurrency paired with USDT
15 stars1 watching4 forks

Coin MCP Server 🚀💰

Welcome to the Coin MCP Server – your one-stop shop for snagging the latest cryptocurrency prices faster than you can say "To the moon!" 🌙 Built with FastMCP and spiced up with zod for validation, this little server is here to fetch token prices from Bitget’s API like a trusty crypto butler. 🧑‍💼

中文文档 | English


What Does It Do? 🤔

This project spins up a server that lets you query the current price of any cryptocurrency (paired with USDT) using Bitget’s slick API. Want to know how much your favorite token is worth right now? Just ask, and boom – the price is yours! 💸

  • Tool: getTokenPrice
  • Mission: Fetch the latest price of a token (e.g., BGB, BTC, ETH).
  • Superpower: It’s fast, it’s simple, and it’s powered by FastMCP! ⚡

Features 🌟

  • 🎯 Dead-Simple API: Pass a token symbol, get a price. No fuss, no muss.
  • 🛡️ Zod Validation: Parameters are checked tighter than a vault door.
  • 📡 Bitget Integration: Pulls live data straight from Bitget’s market ticker API.
  • 🧠 Error Handling: Catches hiccups like a pro and logs them for you to giggle at later.

Getting Started 🏁

Ready to dive into the crypto price pool? Here’s how to get this baby running:

Prerequisites

  • Deno: You’ll need Deno installed because we’re fancy and modern. Grab it here.
  • Bitget API Access: No API key needed – we’re hitting the public endpoint like champs! But if you’ve got a custom BGURL, set it as an environment variable.

Installation

  1. Clone this repo like it’s hot:
    git clone https://github.com/pwh-pwh/coin-mcp-server.git
    cd coin-mcp-server
    
  2. Install dependencies (Deno handles this automagically via imports!).

Running the Server

Fire it up with:

deno run --allow-net --allow-env --allow-read main.ts

or

deno run --allow-net --allow-env --allow-read https://deno.land/x/coin_mcp_server@v1.0.1/main.ts
  • --allow-net: Lets us talk to Bitget’s API.
  • --allow-env: Grabs your BGURL env variable if you’ve set one.

The server will start in stdio mode, ready to serve up prices like a crypto vending machine! 🍔


Configuration

config.json

{
  "mcpServers": {
    "coin-mcp": {
      "command": "deno",
      "args": [
        "run",
        "--allow-net",
        "--allow-read",
        "--allow-env",
        "https://deno.land/x/coin_mcp_server@v1.0.1/main.ts"
      ]
    }
  }
}

Usage Example 🎮

Here’s how you’d call getTokenPrice:

{
  "tool": "getTokenPrice",
  "parameters": {
    "token": "BGB"
  }
}

Response:

"42.069"  // The latest BGB/USDT price (not a real price, just vibes!)

If the token doesn’t exist or the API hiccups, it’ll throw an error with a cheeky log to remind you it tried its best. 😅


Code Sneak Peek 👀

Here’s the magic behind the curtain:

  • FastMCP: Spins up the server with a cool name and version.
  • Zod: Keeps your token parameter in check.
  • Bitget API: Fetches ticker data from https://api.bitget.com/api/v2/spot/market/tickers.

The getBitgetPrice function is the MVP, grabbing that sweet lastPr (last price) from the response. Check the logs for price updates or error comedy gold! 😂


Environment Variables 🌍

  • BGURL: Custom Bitget API base URL (defaults to https://api.bitget.com if not set). Set it like:
    export BGURL="https://your-custom-bitget-url.com"
    

Troubleshooting 🛠️

  • “HTTP error! status: 404”: Double-check your token symbol. BGBUSDT isn’t the same as BGB!
  • “Network error”: Make sure you’ve got internet and Deno’s --allow-net flag.
  • Still stuck?: Yell into the void (or open an issue). We’ll figure it out together! 🙌

Why This Exists 🎉

Because who doesn’t want to know the price of their crypto stash in real-time? Whether you’re a trader, a HODLer, or just crypto-curious, this server’s got your back. Plus, it’s a fun way to flex some Deno skills and play with APIs. 😎


Contributing 🤝

Got ideas? Found a bug? Want to add a feature like moon phase price predictions? Fork it, tweak it, PR it! Let’s make this the coolest MCP server in the galaxy. 🌌


License 📜

MIT – Do whatever you want with it, just don’t blame me if your token moons or dumps! 🌑📉


Happy crypto hunting, and may your bags always be green! 💚

Features

FastMCP
Validation
Integration
ErrorHandling
RealTime

Category

Monitoring