Eyevinn Open Source Cloud MCP Server

Official
import { ErrorCode, McpError, ReadResourceRequest } from '@modelcontextprotocol/sdk/types.js'; import { Context, listSubscriptions } from '@osaas/client-core'; export function listOscResources() { return [ { uri: `eyevinnosc://catalog/myactiveservices`, name: 'My active services', description: 'List all my active services in Eyevinn Open Source Cloud', mimeType: 'application/json' } ]; } export async function handleOscResourceRequest( hostname: string, pathname: string, request: ReadResourceRequest, context: Context ) { if (hostname === 'catalog' && pathname === '/myactiveservices') { const subscriptions = await listSubscriptions(context); const activeSubscriptions = subscriptions.map((subscription) => ({ serviceId: subscription.serviceId })); return { contents: [ { uri: request.params.uri, mimeType: 'application/json', text: JSON.stringify(activeSubscriptions, null, 2) } ] }; } else { throw new McpError( ErrorCode.InvalidRequest, `Unknown OSC resource: ${request.params.uri}` ); } }