Skip to main content
Glama
XcodeServer.d.ts3.38 kB
import { Server } from '@modelcontextprotocol/sdk/server/index.js'; import { CallToolResult } from '@modelcontextprotocol/sdk/types.js'; import type { EnvironmentValidation, McpResult } from './types/index.js'; export declare class XcodeServer { server: Server; currentProjectPath: string | null; private environmentValidation; private isValidated; private canOperateInDegradedMode; private includeClean; private preferredScheme; private preferredXcodeproj; constructor(options?: { includeClean?: boolean; preferredScheme?: string; preferredXcodeproj?: string; }); /** * Validates the environment and sets up the server accordingly */ validateEnvironment(): Promise<EnvironmentValidation>; /** * Checks if a tool operation should be blocked due to environment issues */ validateToolOperation(toolName: string): Promise<McpResult | null>; /** * Determines tool limitations based on environment validation */ private getToolLimitations; /** * Enhances error messages with configuration guidance */ enhanceErrorWithGuidance(error: Error | { message?: string; }, _toolName: string): Promise<string | null>; private setupToolHandlers; openProject(projectPath: string): Promise<McpResult>; executeJXA(script: string): Promise<string>; validateProjectPath(projectPath: string): McpResult | null; findProjectDerivedData(projectPath: string): Promise<string | null>; getLatestBuildLog(projectPath: string): Promise<import("./types/index.js").BuildLogInfo | null>; build(projectPath: string, schemeName?: string, destination?: string | null): Promise<import('./types/index.js').McpResult>; clean(projectPath: string): Promise<import('./types/index.js').McpResult>; test(projectPath: string, destination: string, commandLineArguments?: string[]): Promise<import('./types/index.js').McpResult>; run(projectPath: string, commandLineArguments?: string[]): Promise<import('./types/index.js').McpResult>; debug(projectPath: string, scheme: string, skipBuilding?: boolean): Promise<import('./types/index.js').McpResult>; stop(projectPath?: string): Promise<import('./types/index.js').McpResult>; getSchemes(projectPath: string): Promise<import('./types/index.js').McpResult>; getRunDestinations(projectPath: string): Promise<import('./types/index.js').McpResult>; setActiveScheme(projectPath: string, schemeName: string): Promise<import('./types/index.js').McpResult>; getWorkspaceInfo(projectPath: string): Promise<import('./types/index.js').McpResult>; getProjects(projectPath: string): Promise<import('./types/index.js').McpResult>; openFile(filePath: string, lineNumber?: number): Promise<import('./types/index.js').McpResult>; parseBuildLog(logPath: string, retryCount?: number, maxRetries?: number): Promise<import("./types/index.js").ParsedBuildResults>; canParseLog(logPath: string): Promise<boolean>; getCustomDerivedDataLocationFromXcodePreferences(): Promise<string | null>; /** * Call a tool directly without going through the MCP protocol * This is used by the CLI to bypass the JSON-RPC layer */ callToolDirect(name: string, args?: Record<string, unknown>): Promise<CallToolResult>; } //# sourceMappingURL=XcodeServer.d.ts.map

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/lapfelix/XcodeMCP'

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