Coinbound-MCP-Server

Ersa-tech/Coinbound-MCP-Server

3.1

If you are the rightful owner of Coinbound-MCP-Server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Coinbound MCP Server is a robust tool designed to connect AI models and development environments to live cryptocurrency market data, providing a secure and efficient way to access real-time crypto information.

Coinbound MCP Server: Your AI's Gateway to Live Crypto Data

The Coinbound MCP Server is a production-grade tool that connects AI models and development environments to live, real-time cryptocurrency market data. It acts as a reliable, cached, and rate-limited bridge to the CoinGecko API, designed for high-performance applications.

What Problem Does This Solve?

Large Language Models (LLMs) and AI agents have no built-in access to real-time information like cryptocurrency prices. This server solves that problem by providing a secure, structured, and efficient way for any AI or application to query up-to-date crypto data without needing to handle API keys, caching, or rate limits directly.

Key Use Cases

  • AI-Powered Financial Analysis: An AI agent can use this server to fetch the latest market data to analyze trends, generate reports, or answer user questions about crypto prices.
  • Web3 Marketing Tools: Marketing applications can integrate this data to display live price tickers, portfolio trackers, or market sentiment dashboards.
  • Automated Content Creation: A script could use this server to automatically generate daily market summary articles or social media posts with the latest prices.
  • Development & Prototyping: Developers can quickly prototype crypto-related applications without the overhead of setting up their own data pipeline.

šŸš€ Core Features

  • Real-time Data: Access to top 500 cryptocurrencies with current prices, market caps, and 24h changes
  • Smart Caching: Edge-cached responses with 45-second TTL for optimal performance
  • Rate Limiting: Built-in quota management with 95,000 daily requests
  • Production Ready: Deployed on Cloudflare Workers with 99.9% uptime
  • Professional UI: Interactive cookbook website with search, pagination, and API testing
  • No Emojis: Clean, professional interface suitable for business environments

šŸ—ļø Architecture

  • Backend: Cloudflare Workers with TypeScript
  • Caching: Cloudflare Cache API for cryptocurrency data
  • Storage: Cloudflare KV for quota management
  • Frontend: Vanilla JavaScript with modern CSS
  • Data Source: CoinGecko API (free tier)

šŸ“Š Live Demo

Visit our live demonstration: coinbound-cookbook.pages.dev

šŸ”— API Endpoints

Base URL

  • Production: https://coinbound-mcp-server.coinbound.workers.dev
  • Local Development: http://localhost:8787

Endpoints

GET /crypto

Returns top 500 cryptocurrencies with current market data.

Response Example:

[
  {
    "id": "bitcoin",
    "name": "Bitcoin",
    "symbol": "btc",
    "current_price": 43250.50,
    "market_cap": 847523849284,
    "price_change_percentage_24h": 2.45
  }
]
GET /quota

Returns current API quota usage and remaining requests.

Response Example:

{
  "date": "2025-08-18",
  "count": 1247,
  "cap": 95000,
  "remaining": 93753
}
GET /health

Health check endpoint.

Response Example:

{
  "status": "healthy",
  "timestamp": "2025-08-18T14:06:50.597Z"
}
GET /sse

Server-Sent Events endpoint for MCP clients.

šŸ› ļø Local Development

Prerequisites

  • Node.js 18+
  • npm or yarn
  • Cloudflare Wrangler CLI

Setup MCP Server

  1. Clone the repository
git clone https://github.com/coinbound/coinbound-mcp-server.git
cd coinbound-mcp-server
  1. Install dependencies
cd coinbound-mcp-server
npm install
  1. Create KV namespace
wrangler kv:namespace create QUOTA_KV
  1. Update wrangler.toml Update the KV namespace ID in coinbound-mcp-server/wrangler.toml:
[[kv_namespaces]]
binding = "QUOTA_KV"
id = "your-kv-namespace-id"
  1. Start development server
npm run dev

The MCP server will be available at http://localhost:8787

Setup Cookbook Website

  1. Navigate to cookbook directory
cd coinbound-cookbook
  1. Start local server
python -m http.server 3000

The cookbook website will be available at http://localhost:3000

šŸš€ Deployment

Deploy MCP Server to Cloudflare Workers

cd coinbound-mcp-server
npm run deploy

Deploy Cookbook to Cloudflare Pages

cd coinbound-cookbook
wrangler pages deploy . --project-name coinbound-cookbook

Deploy Cookbook to Render.com

  1. Connect your GitHub repository to Render.com
  2. Create a new Static Site
  3. Set build directory to coinbound-cookbook
  4. Deploy

šŸ”§ AI & Developer Integration Guide

This server is designed for easy integration into any environment. Below are copy-paste examples for the most common use cases.

1. For AI Agents (via MCP)

AI agents that support the Model Context Protocol (MCP) can connect directly. This is the most powerful way to give an AI autonomous access to the data.

Universal MCP Configuration (mcp_config.json):

{
  "servers": {
    "coinbound-crypto-server": {
      "transport": { 
        "type": "sse", 
        "url": "https://coinbound-mcp-server.coinbound.workers.dev/sse" 
      },
      "resources": [
        { 
          "name": "crypto-data", 
          "description": "Fetches the top 500 cryptocurrencies by market cap, including price, market cap, and 24h change. Data is cached for ~45s." 
        }
      ]
    }
  }
}

Example AI Prompt:

"Using the coinbound-crypto-server, access the crypto-data resource and tell me the current price and market cap of Ethereum. Then, find the top 5 performing coins in the last 24 hours."

2. For Web Applications (JavaScript/TypeScript)

You can call the server's REST endpoints directly from any frontend application. The server is configured with CORS to allow browser-based requests.

JavaScript Example (Browser Fetch):

async function getTop500Crypto() {
  const apiUrl = 'https://coinbound-mcp-server.coinbound.workers.dev/crypto';
  try {
    const response = await fetch(apiUrl);
    if (!response.ok) {
      throw new Error(`HTTP error! status: ${response.status}`);
    }
    const data = await response.json();
    console.log('Successfully fetched 500 cryptocurrencies:', data);
    // Example: Find Bitcoin's data
    const bitcoin = data.find(coin => coin.id === 'bitcoin');
    console.log('Bitcoin Price:', bitcoin.current_price);
  } catch (error) {
    console.error('Failed to fetch crypto data:', error);
  }
}

getTop500Crypto();

3. For Backend Services (Node.js)

Integrate the data into your backend services for server-side processing.

Node.js Example (using node-fetch):

import fetch from 'node-fetch';

async function getCryptoData() {
  const apiUrl = 'https://coinbound-mcp-server.coinbound.workers.dev/crypto';
  try {
    const response = await fetch(apiUrl);
    const data = await response.json();
    console.log('Top 5 coins by market cap:');
    console.log(data.slice(0, 5));
  } catch (error) {
    console.error('Error fetching data:', error);
  }
}

getCryptoData();

4. For Data Analysis & Scripting (Python)

Use the data in Python scripts for data analysis, machine learning, or automation.

Python Example (using requests library):

import requests
import json

def get_crypto_data():
    api_url = "https://coinbound-mcp-server.coinbound.workers.dev/crypto"
    try:
        response = requests.get(api_url)
        response.raise_for_status()  # Raises an HTTPError for bad responses
        data = response.json()
        print("Successfully fetched data for {} coins.".format(len(data)))
        
        # Example: Print names of the top 5 coins
        for coin in data[:5]:
            print(f"- {coin['name']} (${coin['current_price']})")
            
    except requests.exceptions.RequestException as e:
        print(f"Error fetching data: {e}")

if __name__ == "__main__":
    get_crypto_data()
{
  "mcpServers": {
    "coinbound-mcp": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-fetch", "https://coinbound-mcp-server.coinbound.workers.dev"],
      "env": {}
    }
  }
}

Custom MCP Client

{
  "servers": {
    "coinbound-mcp-server": {
      "transport": { 
        "type": "sse", 
        "url": "https://coinbound-mcp-server.coinbound.workers.dev/sse" 
      },
      "resources": [
        { 
          "name": "crypto-data", 
          "description": "Top 500 cryptocurrencies (USD), cached ~45s via CoinGecko." 
        }
      ]
    }
  }
}

šŸ“ Project Structure

coinbound-mcp-server/
ā”œā”€ā”€ coinbound-mcp-server/          # MCP Server (Cloudflare Workers)
│   ā”œā”€ā”€ src/
│   │   ā”œā”€ā”€ index.ts              # Main worker entry point
│   │   ā”œā”€ā”€ quota.ts              # Quota management
│   │   └── mcp/
│   │       └── crypto.ts         # MCP server definition
│   ā”œā”€ā”€ package.json
│   ā”œā”€ā”€ tsconfig.json
│   └── wrangler.toml             # Cloudflare Workers config
ā”œā”€ā”€ coinbound-cookbook/            # Documentation Website
│   ā”œā”€ā”€ index.html                # Main webpage
│   ā”œā”€ā”€ css/
│   │   └── styles.css           # Coinbound-branded styles
│   ā”œā”€ā”€ js/
│   │   └── app.js               # Interactive functionality
│   ā”œā”€ā”€ wrangler.toml            # Cloudflare Pages config
│   └── _headers                 # Security headers
ā”œā”€ā”€ .gitignore
└── README.md

šŸŽØ Features

Search and Pagination

  • Search cryptocurrencies by name or symbol
  • Pagination with 25, 50, or 100 items per page
  • Responsive design for all device sizes

Real-time Updates

  • Auto-refresh every 60 seconds
  • Visual status indicators
  • Error handling and retry mechanisms

Professional Design

  • Coinbound brand colors (#e85d35)
  • Clean, emoji-free interface
  • Responsive grid layout
  • Interactive API testing

šŸ”’ Security

  • CORS headers configured for cross-origin requests
  • Rate limiting with quota management
  • Input validation and error handling
  • Security headers for production deployment

šŸ“Š Monitoring

  • Health check endpoint for uptime monitoring
  • Quota tracking and reporting
  • Error logging and debugging tools
  • Performance metrics via Cloudflare Analytics

šŸ¤ Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

šŸ“„ License

MIT License - see LICENSE file for details.

šŸ†˜ Support

For support, please contact:

šŸ¢ About Coinbound

Coinbound is a leading Web3 and cryptocurrency marketing agency. We build professional tools and infrastructure for crypto marketing teams who need reliable, scalable solutions.


Built with ā¤ļø by the Coinbound team