@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
JavaScript
;
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);
}
}