Skip to main content
Glama

gcp_run_status

Check Cloud Run service status and deployment state in Google Cloud Platform. Retrieve service health, region details, and project information for monitoring and troubleshooting.

Instructions

Cloud Run 상태|서비스 상태|배포 상태|run status - Cloud Run 서비스 상태를 조회합니다

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
serviceYesCloud Run 서비스 이름
regionNo리전 (예: asia-northeast3). 기본: gcloud 설정값
project_idNoGCP 프로젝트 ID (기본: 현재 설정된 프로젝트)
formatNo출력 형식 (기본: text)text

Implementation Reference

  • Main handler function that executes the tool: builds and runs gcloud command to describe Cloud Run service, parses output, formats status, handles errors.
    export async function gcpRunStatus(args: GcpRunStatusArgs) { try { const projectId = await getProjectId(args.project_id); // Build command let command = `run services describe ${args.service} --project=${projectId} --format=json`; if (args.region) { command += ` --region=${args.region}`; } const result = await executeGcloud(command, 30000); // Parse JSON output let serviceInfo: any = {}; try { serviceInfo = JSON.parse(result.stdout || '{}'); } catch { serviceInfo = {}; } // Extract relevant information const status = { name: serviceInfo.metadata?.name || args.service, url: serviceInfo.status?.url || 'N/A', region: args.region || serviceInfo.metadata?.labels?.['cloud.googleapis.com/location'] || 'N/A', revision: serviceInfo.status?.latestReadyRevisionName || 'N/A', status: serviceInfo.status?.conditions?.find((c: any) => c.type === 'Ready')?.status === 'True' ? 'Ready' : 'Not Ready', traffic: serviceInfo.status?.traffic?.map((t: any) => ({ revisionName: t.revisionName || t.latestRevision ? 'latest' : 'unknown', percent: t.percent || 0, })) || [], lastDeployed: serviceInfo.metadata?.creationTimestamp || null, containerImage: serviceInfo.spec?.template?.spec?.containers?.[0]?.image || 'N/A', }; if (args.format === 'json') { return { content: [ { type: 'text', text: JSON.stringify({ project: projectId, ...status, raw: serviceInfo, }, null, 2), }, ], }; } return { content: [ { type: 'text', text: formatRunStatus(status), }, ], }; } catch (error: any) { return { content: [ { type: 'text', text: formatError(error), }, ], isError: true, }; } }
  • Tool schema definition including name, description, annotations, and inputSchema with properties for service, region, project_id, format.
    export const gcpRunStatusDefinition = { name: 'gcp_run_status', description: 'Cloud Run 상태|서비스 상태|배포 상태|run status - Cloud Run 서비스 상태를 조회합니다', annotations: { title: 'Cloud Run 상태 조회', readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true, }, inputSchema: { type: 'object' as const, properties: { service: { type: 'string', description: 'Cloud Run 서비스 이름', }, region: { type: 'string', description: '리전 (예: asia-northeast3). 기본: gcloud 설정값', }, project_id: { type: 'string', description: 'GCP 프로젝트 ID (기본: 현재 설정된 프로젝트)', }, format: { type: 'string', enum: ['text', 'json'], description: '출력 형식 (기본: text)', default: 'text', }, }, required: ['service'], }, };
  • src/index.ts:77-89 (registration)
    Registration of all tools including gcpRunStatusDefinition in the tools array used for ListToolsRequestHandler.
    const tools = [ gcpSetupDefinition, gcpLogsReadDefinition, gcpRunStatusDefinition, gcpRunLogsDefinition, gcpSqlQueryDefinition, gcpSqlProxyDefinition, gcpStorageListDefinition, gcpSecretListDefinition, gcpAuthStatusDefinition, gcpServicesListDefinition, gcpBillingInfoDefinition, ];
  • src/index.ts:217-218 (registration)
    Dispatch/execution handler in the CallToolRequestSchema switch case that calls the gcpRunStatus function.
    case 'gcp_run_status': return await gcpRunStatus(args as any) as CallToolResult;

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/su-record/hi-gcloud'

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