Skip to main content
Glama
juliengrelet

Wisembly MCP Server

by juliengrelet
getSessions.ts2.34 kB
import { GetEvent } from "../interfaces/event.js"; import { createErrorResponse, createSuccessResponse, formatResponseEvent } from "../utils/formatResponse.js"; import { CallToolResult } from "@modelcontextprotocol/sdk/types.js"; import { WisemblyApiError } from "./errors/index.js"; import { API_URL } from "../config.js"; import fetch from "node-fetch"; /** * Fetches event data from the Wisembly API * @param params - Object containing the event keyword * @returns Promise resolving to CallToolResult with event data or error */ const getSessions = async ({ keyword }: GetEvent): Promise<CallToolResult> => { try { const url: string = `${API_URL}/api/6/event/${encodeURIComponent(keyword)}/sessions`; const headers: Record<string, string> = { 'Accept': 'application/vnd.api+json', 'Content-Type': 'application/vnd.api+json', }; if (process.env.API_TOKEN) { headers['Wisembly-Api-Key'] = process.env.API_TOKEN; } const response = await fetch(url, { method: 'GET', headers }); if (!response.ok) { const error: string = await response.text().catch((): string => 'Unknown error'); throw new WisemblyApiError( `Failed to fetch sessions "${keyword}"`, response.status, response.statusText, error ); } let data: unknown; try { data = await response.json(); } catch { throw new WisemblyApiError( `Invalid JSON response for event "${keyword}"`, response.status, response.statusText, 'Response is not valid JSON' ); } const formattedResponse: string = formatResponseEvent(data, keyword); return createSuccessResponse(formattedResponse); } catch (error: unknown) { console.error(`❌ Error in get_wisembly_sessions:`, error); if (error instanceof WisemblyApiError) { return createErrorResponse( `❌ Wisembly API Error for sessions "${keyword}":\n\nHTTP ${error.status}: ${error.statusText}\n\nMessage: ${error.message}\n\nResponse: ${error.response || 'No additional details'}` ); } const errorMessage = error instanceof Error ? error.message : String(error); return createErrorResponse(`❌ Network error fetching Wisembly event "${keyword}":\n\n${errorMessage}`); } }; export { getSessions };

Latest Blog Posts

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/juliengrelet/mcp-wisembly'

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