Skip to main content
Glama

Nobitex Market Data MCP Server

by xmannii
nobitex.service.ts1.62 kB
import { z } from "zod"; const NOBITEX_API_BASE = "https://api.nobitex.ir"; // Schemas for Nobitex API parameters export const MarketStatsParamsSchema = z.object({ srcCurrency: z.string().describe("Source currency symbol (e.g., 'btc', 'usdt')"), dstCurrency: z.string().describe("Destination currency symbol (e.g., 'rls')"), }); export type MarketStatsParams = z.infer<typeof MarketStatsParamsSchema>; /** * Handles communication with the Nobitex public market API. */ export class NobitexService { private baseUrl: string; constructor(baseUrl: string = NOBITEX_API_BASE) { this.baseUrl = baseUrl; } // Core request function private async makeRequest(endpoint: string, body: object = {}) { try { const response = await fetch(`${this.baseUrl}${endpoint}`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(body), }); const responseBody = await response.json(); if (!response.ok) { throw new Error(`Nobitex API request failed (${response.status}): ${JSON.stringify(responseBody)}`); } if (responseBody.status !== 'ok') { } return responseBody; } catch (error) { throw new Error(`Failed to fetch from ${endpoint}: ${error instanceof Error ? error.message : String(error)}`); } } async getMarketStats(params: MarketStatsParams) { const data = await this.makeRequest('/market/stats', params); return data.stats || data; } async getGlobalStats() { return await this.makeRequest('/market/global-stats', {}); } }

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/xmannii/nobitex-mcp-server'

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