UNPKG

@coding-cloud/coding-cloud-mcp-server

Version:

TypeScript Model Context Protocol (MCP) server for coding-cloud.com API.

33 lines (32 loc) 1.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.searchSnippets = searchSnippets; const transport_util_1 = require("../utils/transport.util"); const logger_util_1 = require("../utils/logger.util"); const error_util_1 = require("../utils/error.util"); const serviceLogger = logger_util_1.Logger.forContext('services/coding-cloud-api.service.ts'); const CODING_CLOUD_API_BASE_URL = 'https://www.coding-cloud.com/api'; serviceLogger.debug('Coding Cloud API service initialized'); async function searchSnippets(query, limit) { const methodLogger = logger_util_1.Logger.forContext('services/coding-cloud-api.service.ts', 'searchSnippets'); methodLogger.debug(`Calling Coding Cloud API for query: "${query}", limit: ${limit}`); const url = new URL(`${CODING_CLOUD_API_BASE_URL}/snippets`); url.searchParams.append('query', query); url.searchParams.append('limit', String(limit)); // Assuming page=1 is the default or desired behavior for now url.searchParams.append('page', '1'); try { const data = await (0, transport_util_1.fetchApi)(url.toString(), { method: 'GET', }); methodLogger.debug(`Received successful data from Coding Cloud API`); return data.snippets || []; // Return snippets or empty array if data is missing } catch (error) { methodLogger.error(`Service error fetching snippet data`, error); if (error instanceof error_util_1.McpError) { throw error; } throw (0, error_util_1.createUnexpectedError)('Unexpected service error while fetching snippet data', error); } }