Eyevinn Open Source Cloud MCP Server

Official
import { Context, createInstance, getInstance } from '@osaas/client-core'; import { waitForInstanceReady } from './util.js'; import { Encore, EncoreConfig } from '@osaas/client-services'; const SERVICE_ID = 'encore'; export async function createEncoreInstance(ctx: Context, name: string) { const serviceAccessToken = await ctx.getServiceAccessToken(SERVICE_ID); let instance: Encore = await getInstance( ctx, SERVICE_ID, name, serviceAccessToken ); if (!instance) { const config: EncoreConfig = { name }; const newInstance = await createInstance( ctx, SERVICE_ID, serviceAccessToken, config ); if (!newInstance) { throw new Error(`Failed to create instance with name ${name}`); } instance = newInstance; await waitForInstanceReady(SERVICE_ID, name, ctx); } return { jobs: new URL('/encoreJobs', instance.url).toString(), url: instance.url.replace(/\/$/, '') }; } export async function getEncoreInstance(ctx: Context, name: string) { const serviceAccessToken = await ctx.getServiceAccessToken(SERVICE_ID); const instance: Encore = await getInstance( ctx, SERVICE_ID, name, serviceAccessToken ); if (!instance) { throw new Error(`Encore Instance ${name} not found`); } return { jobs: new URL('/encoreJobs', instance.url).toString(), url: instance.url.replace(/\/$/, '') }; }