Skip to main content
Glama
joheiss

Crypto HTTP MCP Server

by joheiss

My HTTP MCP Server

A small Model Context Protocol (MCP) server built with:

  • @modelcontextprotocol/sdk

  • express

  • typescript

  • zod

The app exposes a Streamable HTTP MCP endpoint at /mcp and includes a few example tools, resources, and prompts centered around cryptocurrency data.

Project Structure

src/
  server.ts
  http/
    createMcpApp.ts
  mcp/
    createMcpServer.ts
  services/
    cryptoService.ts

Responsibilities

  • src/server.ts Starts the HTTP server and wires the app together.

  • src/http/createMcpApp.ts Contains the HTTP and MCP transport boilerplate: request parsing, origin validation, session management, and /mcp route handling.

  • src/mcp/createMcpServer.ts Defines the MCP server itself: tools, resources, prompts, and their schemas.

  • src/services/cryptoService.ts Contains the business logic for symbol normalization, Binance API calls, and activity log access.

Related MCP server: Binance MCP Server

Features

The server currently registers:

  • Tools: ping, add_numbers, get_price, get_price_change

  • Resources: activity_log, crypto_price

  • Prompt: executive_summary

The crypto-related tools call Binance's public market-data endpoints and append activity to activity.log.

Requirements

  • Node.js 20+

  • npm

Node 20+ is recommended because the app relies on the built-in fetch API.

Install

npm install

Run

Start the server directly from TypeScript with tsx:

npx tsx src/server.ts

By default, the server listens on:

http://127.0.0.1:8787/mcp

You can override the port with PORT:

PORT=3000 npx tsx src/server.ts

Build / Type Check

This repo does not currently include a tsconfig.json or build script, so the simplest way to validate the TypeScript sources is:

npx tsc --noEmit --module nodenext --moduleResolution nodenext --target es2022 --esModuleInterop src/server.ts src/http/createMcpApp.ts src/mcp/createMcpServer.ts src/services/cryptoService.ts

If you want to add a real build pipeline later, the next step would usually be:

  1. Add a tsconfig.json

  2. Add build, dev, and typecheck scripts to package.json

  3. Emit compiled JavaScript into a dist/ directory

Testing

There is not a dedicated automated test suite yet.

Right now, the practical testing flow is:

  1. Run the TypeScript check command above

  2. Start the server with npx tsx src/server.ts

  3. Connect with an MCP client and exercise the registered tools/resources/prompts

Suggested Manual Smoke Tests

  • Call ping and confirm it returns pong

  • Call add_numbers with two values and confirm the sum

  • Call get_price with BTC, ETH, Bitcoin, or Ethereum

  • Call get_price_change and confirm a 24-hour summary is returned

  • Read the activity_log resource and confirm requests are recorded

  • Use the executive_summary prompt and confirm it references the crypto tools correctly

Notes

  • The HTTP boilerplate and session handling are intentionally separate from business logic.

  • Session state is stored in memory, so this server is best suited for local development or simple demos.

  • The crypto tools depend on outbound network access to Binance.

  • The activity log is stored locally in activity.log at the project root.

Future Improvements

  • Add tsconfig.json

  • Add npm scripts for dev, build, typecheck, and test

  • Add automated tests for:

    • symbol normalization

    • Binance response handling

    • MCP tool/resource/prompt registration

    • HTTP session lifecycle

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    A server implementation that streams real-time Binance market data (spot and futures) via WebSockets, enabling applications to receive and process cryptocurrency market information through the Model Context Protocol.
    6
    84 npm
    20
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that exposes Binance cryptocurrency exchange data to LLMs, allowing agents to access real-time prices, order books, and historical market data without requiring API keys.
    20
    MIT
  • F
    license
    B
    quality
    D
    maintenance
    A Model Control Protocol (MCP) server that provides cryptocurrency trading interfaces for Binance exchange, enabling functions like real-time price fetching, account balance queries, order placement/cancellation, and automated arbitrage strategies.
    9
    14
    -
  • A
    license
    A
    quality
    C
    maintenance
    A Model Context Protocol server that provides Claude Code with seamless access to Binance exchange API functionality for market data retrieval, account management, and trading operations.
    10
    84 npm
    32
    MIT