Skip to main content
Glama
RMITBLOG

Parallels RAS MCP Server

by RMITBLOG

ras_site_get_fslogix

Retrieve FSLogix profile container configuration to verify settings, check storage paths, and troubleshoot profile loading issues in Parallels RAS environments.

Instructions

Get FSLogix profile container configuration, including VHD location paths, size limits, and redirection settings. Use this to verify profile management setup, check storage paths, or troubleshoot profile loading issues.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • Handler function that executes the ras_site_get_fslogix tool. Makes an async GET request to /api/site-settings/fslogix/profile-container endpoint to retrieve FSLogix profile container configuration, including VHD location paths, size limits, and redirection settings. Returns JSON data or handles errors using sanitiseError.
    async () => { try { const data = await rasClient.get("/api/site-settings/fslogix/profile-container"); return { content: [{ type: "text" as const, text: JSON.stringify(data, null, 2) }] }; } catch (err) { return { content: [{ type: "text" as const, text: sanitiseError(err, "Failed to retrieve FSLogix config") }], isError: true }; } }
  • Tool registration for ras_site_get_fslogix. Defines the tool with title 'FSLogix Profile Config', description for retrieving profile container configuration, read-only annotations, and empty input schema. Binds the handler that calls the RAS API.
    server.registerTool( "ras_site_get_fslogix", { title: "FSLogix Profile Config", description: "Get FSLogix profile container configuration, including VHD location paths, " + "size limits, and redirection settings. Use this to verify profile management " + "setup, check storage paths, or troubleshoot profile loading issues.", annotations: READ_ONLY_ANNOTATIONS, inputSchema: {}, }, async () => { try { const data = await rasClient.get("/api/site-settings/fslogix/profile-container"); return { content: [{ type: "text" as const, text: JSON.stringify(data, null, 2) }] }; } catch (err) { return { content: [{ type: "text" as const, text: sanitiseError(err, "Failed to retrieve FSLogix config") }], isError: true }; } } );
  • RasClient.get() method - Helper function used by the tool to make authenticated GET requests to the RAS API. Handles lazy authentication, automatic retry on 401 (token expiration), request timeouts, and error response handling.
    async get(path: string): Promise<unknown> { // Ensure we have a valid session if (!this.authToken) { await this.login(); } const fetchOptions = { method: "GET" as const, headers: { ...this.headers, auth_token: this.authToken!, }, signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS), }; let response = await fetch(`${this.baseUrl}${path}`, fetchOptions); // Token may have expired — re-authenticate once and retry if (response.status === 401) { await this.login(); response = await fetch(`${this.baseUrl}${path}`, { ...fetchOptions, headers: { ...this.headers, auth_token: this.authToken!, }, signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS), }); } if (!response.ok) { const body = await response.text(); throw new Error( `RAS API error (HTTP ${response.status}) on ${path}: ${body.substring(0, 300)}` ); } return response.json(); }
  • sanitiseError() function - Helper utility used to sanitize error messages by removing sensitive data (auth tokens, passwords) and truncating excessively long API responses to prevent information leakage.
    function sanitiseError(err: unknown, context: string): string { const raw = err instanceof Error ? err.message : String(err); // Remove anything that looks like a token or password value let sanitised = raw .replace(/auth_token[=:]\s*\S+/gi, "auth_token=[REDACTED]") .replace(/password[=:]\s*\S+/gi, "password=[REDACTED]"); // Truncate excessively long API response bodies if (sanitised.length > 500) { sanitised = sanitised.substring(0, 500) + "... (truncated)"; } return `${context}: ${sanitised}`; }

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/RMITBLOG/ParallelsRAS_MCP'

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