{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.alexpota/cloudscope","description":"Azure + GCP cost management: spending, forecasts, anomalies, budgets, idle resources, and tags.","repository":{"url":"https://github.com/alexpota/cloudscope-mcp","source":"github"},"version":"0.3.3","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"cloudscope-mcp","version":"0.3.3","transport":{"type":"stdio"},"environmentVariables":[{"description":"Azure subscription ID to query for cost data. Optional; auto-detected from az login session if not set.","name":"AZURE_SUBSCRIPTION_ID"},{"description":"Azure tenant ID for service principal authentication. Optional; falls back to DefaultAzureCredential (e.g. az login) if unset.","name":"AZURE_TENANT_ID"},{"description":"Service principal client ID. Optional; required only when using ClientSecretCredential.","name":"AZURE_CLIENT_ID"},{"description":"Service principal client secret. Optional; required only when using ClientSecretCredential.","isSecret":true,"name":"AZURE_CLIENT_SECRET"},{"description":"GCP project ID. Recommended to set explicitly in the MCP client env block — may not be inherited from gcloud shell configuration.","name":"GOOGLE_CLOUD_PROJECT"},{"description":"Fully-qualified BigQuery billing export table (project.dataset.table_name). Required for GCP cost queries.","name":"GCP_BILLING_TABLE"},{"description":"Override GCP project ID if the billing dataset lives in a different project than GOOGLE_CLOUD_PROJECT.","name":"GCP_PROJECT_ID"},{"description":"GCP billing account ID (format: XXXXXX-XXXXXX-XXXXXX). Optional; needed only for budget monitoring.","name":"GCP_BILLING_ACCOUNT_ID"},{"description":"Path to GCP service account JSON key file. Optional; falls back to Application Default Credentials (gcloud auth).","isSecret":true,"name":"GOOGLE_APPLICATION_CREDENTIALS"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-05-29T15:44:41.465894Z","publishedAt":"2026-05-29T15:44:41.465894Z","updatedAt":"2026-05-29T15:44:41.465894Z","isLatest":true}}}
