Skip to main content
Glama
hidenorigoto

Sakura Cloud MCP Server

by hidenorigoto

get_apprun_info

Retrieve detailed information about a specific AppRun application by providing its ID and optional zone, enabling precise management and monitoring of Sakura Cloud infrastructure.

Instructions

Get detailed information about a specific AppRun application

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appIdYesThe ID of the AppRun application to retrieve
zoneNoThe zone to use (e.g., "tk1v", "is1a", "tk1a"). Defaults to "tk1v" if not specified.

Implementation Reference

  • The handler implementation within the CallToolRequestSchema that fetches detailed information about a specific AppRun application using the fetchFromAppRunAPI helper.
    } else if (request.params.name === 'get_apprun_info') { try { validateCredentials(); const appId = request.params.arguments?.appId as string; if (!appId) { throw new Error('AppRun application ID is required'); } const zone = request.params.arguments?.zone as string || DEFAULT_ZONE; const appRunInfo = await fetchFromAppRunAPI(`/applications/${appId}`); return { content: [ { type: 'text', text: JSON.stringify(appRunInfo, null, 2) } ] }; } catch (error) { console.error('Error calling tool:', error); throw error; }
  • Tool registration entry in the ListToolsRequestSchema response, including the tool name, description, and input schema.
    name: 'get_apprun_info', description: 'Get detailed information about a specific AppRun application', inputSchema: { type: 'object', properties: { appId: { type: 'string', description: 'The ID of the AppRun application to retrieve' }, zone: { type: 'string', description: 'The zone to use (e.g., "tk1v", "is1a", "tk1a"). Defaults to "tk1v" if not specified.' } }, required: ['appId'] } }, {
  • Helper function that makes authenticated HTTPS requests to the Sakura Cloud AppRun API, used by the get_apprun_info handler to retrieve application details.
    async function fetchFromAppRunAPI(path: string, method: string = 'GET', bodyData?: any): Promise<any> { return new Promise((resolve, reject) => { validateCredentials(); const options = { hostname: 'secure.sakura.ad.jp', port: 443, path: `/cloud/api/apprun/1.0/apprun/api${path}`, method: method, headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', 'Authorization': `Basic ${Buffer.from(`${SACLOUD_API_TOKEN}:${SACLOUD_API_SECRET}`).toString('base64')}` } }; const req = https.request(options, (res) => { let data = ''; res.on('data', (chunk) => { data += chunk; }); res.on('end', () => { try { if (data) { const parsedData = JSON.parse(data); resolve(parsedData); } else { resolve({}); } } catch (err) { reject(new Error(`Failed to parse response: ${err}`)); } }); }); req.on('error', (error) => { reject(error); }); if (bodyData && (method === 'POST' || method === 'PUT')) { req.write(JSON.stringify(bodyData)); } req.end(); }); }
  • Helper function to validate that Sakura Cloud API credentials are available, called by the handler and fetchFromAppRunAPI.
    function validateCredentials(): void { if (!SACLOUD_API_TOKEN || !SACLOUD_API_SECRET) { throw new Error('Missing API credentials. Set SACLOUD_API_TOKEN and SACLOUD_API_SECRET environment variables.'); } }

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/hidenorigoto/sacloud-mcp'

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