Skip to main content
Glama

Algorand MCP

by GoPlausible
system.ts3.23 kB
import { Tool, ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js'; import { ResponseProcessor } from '../../../utils/responseProcessor.js'; import { env } from '../../../env.js'; export const systemTools: Tool[] = [ { name: 'api_ultrade_system_time', description: 'Get current system time', inputSchema: { type: 'object', properties: {} } }, { name: 'api_ultrade_system_maintenance', description: 'Get system maintenance status', inputSchema: { type: 'object', properties: {} } }, { name: 'api_ultrade_system_version', description: 'Get system version', inputSchema: { type: 'object', properties: {} } } ]; async function getSystemTime(): Promise<any> { try { const response = await fetch(`${env.ultrade_api_url}/system/time`, { method: 'GET', headers: { 'Content-Type': 'application/json' } }); if (!response.ok) { throw new McpError( ErrorCode.InternalError, `Ultrade API error: ${response.status} ${response.statusText}` ); } return await response.json(); } catch (error) { if (error instanceof McpError) { throw error; } throw new McpError( ErrorCode.InternalError, `Failed to get system time: ${error instanceof Error ? error.message : String(error)}` ); } } async function getSystemMaintenance(): Promise<any> { try { const response = await fetch(`${env.ultrade_api_url}/system/maintenance`, { method: 'GET', headers: { 'Content-Type': 'application/json' } }); if (!response.ok) { throw new McpError( ErrorCode.InternalError, `Ultrade API error: ${response.status} ${response.statusText}` ); } return await response.json(); } catch (error) { if (error instanceof McpError) { throw error; } throw new McpError( ErrorCode.InternalError, `Failed to get system maintenance status: ${error instanceof Error ? error.message : String(error)}` ); } } async function getSystemVersion(): Promise<any> { try { const response = await fetch(`${env.ultrade_api_url}/system/version`, { method: 'GET', headers: { 'Content-Type': 'application/json' } }); if (!response.ok) { throw new McpError( ErrorCode.InternalError, `Ultrade API error: ${response.status} ${response.statusText}` ); } return await response.json(); } catch (error) { if (error instanceof McpError) { throw error; } throw new McpError( ErrorCode.InternalError, `Failed to get system version: ${error instanceof Error ? error.message : String(error)}` ); } } export async function handleSystemTools(args: any): Promise<any> { switch (args.name) { case 'api_ultrade_system_time': return await getSystemTime(); case 'api_ultrade_system_maintenance': return await getSystemMaintenance(); case 'api_ultrade_system_version': return await getSystemVersion(); default: throw new McpError( ErrorCode.MethodNotFound, `Unknown tool: ${args.name}` ); } }

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/GoPlausible/algorand-mcp'

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