Google Cloud Logging MCP server

Endpoint: https://logging.googleapis.com/mcp · Authentication: Sign in with OAuth

Queries and manages Cloud Logging log entries and logging resources in a Google Cloud project. Requires Google Cloud credentials through OAuth.

How do I authenticate?

Add the endpoint in your client, start Connect or Sign in, approve the requested scopes, and return to the client. OAuth discovery finds the authorization server; client registration requirements vary by provider. Follow the provider guidance and client setup below.

Authentication and connection guide

Connection specification

Remote endpoint
https://logging.googleapis.com/mcp
Browser access
Not yet measured
Declared MCP transport
Streamable HTTP
Live-validated MCP transport
Streamable HTTP — Observed by the latest catalog validation
Declared authentication
OAuth 2.1
Detected authentication
OAuth 2.1 detected or retained from publisher evidence
Protocol lifecycle
Stateful MCP · 2025-11-25
Authorization server
https://accounts.google.com/

Product documentation · Official listing documentation

Provider guidance

  • Initialization and tool listing succeeded without credentials in the 2026-10-20 audit; tool calls require Google Cloud credentials. Google OAuth clients are pre-registered in a Google Cloud project; the server does not advertise Dynamic Client Registration.

More Observability MCP servers · Browse all MCP servers · Test this endpoint in the MCP Playground

Authorization setup

Registration requirements not verified

The OAuth authorization and app-registration requirements for this exact endpoint have not been verified. A compatible client will request authorization, but follow the publisher documentation and do not guess client credentials or callbacks.

Publisher evidence reviewed .

Publisher documentation

Connect it

Live-validated endpoint: https://logging.googleapis.com/mcp · Streamable HTTP. Registration requirements not verified: The OAuth authorization and app-registration requirements for this exact endpoint have not been verified. A compatible client will request authorization, but follow the publisher documentation and do not guess client credentials or callbacks.

Agent prompt for Claude Code or Codex
Add the Google Cloud Logging MCP server to my MCP client configuration and verify that it works.

What it is: Queries and manages Cloud Logging log entries and logging resources in a Google Cloud project. Requires Google Cloud credentials through OAuth.
Server URL: https://logging.googleapis.com/mcp
Transport: Streamable HTTP (remote MCP server, no local install).
Authentication: OAuth 2.1. Registration requirements not verified: The OAuth authorization and app-registration requirements for this exact endpoint have not been verified. A compatible client will request authorization, but follow the publisher documentation and do not guess client credentials or callbacks.
Tools (6, as last observed by mcptest): get_bucket, get_view, list_buckets, list_log_entries, list_log_names, list_views.
Reference: https://mcptest.io/servers/google-cloud-logging/

Steps:
1. Work out which MCP client I use (Claude Code, Codex, Cursor, VS Code or another) and add the server under the name "google-cloud-logging" in that client's MCP configuration, user scope unless I ask otherwise.
   Claude Code: claude mcp add --transport http --scope user 'google-cloud-logging' 'https://logging.googleapis.com/mcp'
   Other clients: use the setup for that client on the reference page.
2. Never write a credential value into a file that could be committed; reference an environment variable or the client's secret store, and ask me for any value you need.
3. Verify: connect to the server and call tools/list. Confirm the tools above are listed, and report any sign-in step I still have to complete.
MCP client

Claude Code setup

Run in a terminal. This user-scoped entry is available across projects.

claude mcp add --transport http --scope user 'google-cloud-logging' 'https://logging.googleapis.com/mcp'
  • After adding the server, open Claude Code, run /mcp, select the server, and follow the browser flow to authenticate.

Codex CLI setup

Run in a terminal; Codex stores the entry in ~/.codex/config.toml.

codex mcp add 'google-cloud-logging' --url 'https://logging.googleapis.com/mcp'
codex mcp login 'google-cloud-logging'

Cursor setup

Add to .cursor/mcp.json for this project, or ~/.cursor/mcp.json for all projects.

{
  "mcpServers": {
    "google-cloud-logging": {
      "url": "https://logging.googleapis.com/mcp"
    }
  }
}

VS Code setup

Add to .vscode/mcp.json, or run “MCP: Open User Configuration” for a private user-level entry.

{
  "servers": {
    "google-cloud-logging": {
      "type": "http",
      "url": "https://logging.googleapis.com/mcp"
    }
  }
}

Claude setup

Add the endpoint above in Claude:

  • Customize > Connectors > Add custom connector
  • Team/Enterprise: Organization settings > Connectors > Add > Custom > Web

Claude Desktop setup

Add the endpoint above in Claude Desktop:

  • Remote: Customize > Connectors (same as claude.ai)
  • Local: Settings > Developer > Edit Config, or Settings > Extensions for .mcpb files
  • ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows), local servers only

ChatGPT setup

Add the endpoint above in ChatGPT:

  • ChatGPT web: Plugins > Add custom MCP server, then configure authentication and accept the risk warning

Windsurf setup

Add the endpoint above in Windsurf:

  • ~/.config/devin/mcp_config.json (%APPDATA%\devin\mcp_config.json on Windows), serverUrl or url
  • Cascade panel > ... > MCPs > Open MCP config file

Gemini CLI setup

Add the endpoint above in Gemini CLI:

  • gemini mcp add --transport http <name> <url>
  • ~/.gemini/settings.json (user) or .gemini/settings.json (project), mcpServers

MCP SDK setup

Add the endpoint above in MCP SDK:

  • Programmatic: new Client(...).connect(new StreamableHTTPClientTransport(url))

Notes for every client

  • Publisher evidence (reviewed 2026-10-20): https://docs.cloud.google.com/logging/docs/use-logging-mcp
  • Provider guidance: Initialization and tool listing succeeded without credentials in the 2026-10-20 audit; tool calls require Google Cloud credentials. Google OAuth clients are pre-registered in a Google Cloud project; the server does not advertise Dynamic Client Registration.

Client compatibility

ClientStatusWhy
Claude CodeSupportedClaude Code supports Streamable HTTP servers and OAuth sign-in.
CodexSupportedCodex supports Streamable HTTP servers and OAuth sign-in.
CursorSupportedCursor supports Streamable HTTP servers and OAuth sign-in.
VS CodeSupportedVS Code supports Streamable HTTP servers and OAuth sign-in.
ClaudeSupportedClaude supports Streamable HTTP servers and OAuth sign-in.
Claude DesktopSupportedClaude Desktop supports Streamable HTTP servers and OAuth sign-in.
ChatGPTPartialStateful routing needs operational care: ChatGPT can preserve MCP sessions, but the deployment must route a session consistently and retain its state.
WindsurfPartialWindsurf's documentation does not state support for OAuth sign-in.
Gemini CLISupportedGemini CLI supports Streamable HTTP servers and OAuth sign-in.
MCP SDKSupportedMCP SDK supports Streamable HTTP servers and OAuth sign-in.

Computed from this server's validated transport, protocol and authentication against documented client support. Checks the catalog has not observed are not counted.

Similar servers

  • Sentry — Remote MCP server for searching, querying, and debugging Sentry issues and application errors. OAuth 2.1
  • PagerDuty — PagerDuty's hosted MCP server provides incident, service, schedule, escalation, and on-call operations. OAuth 2.1
  • Cloudflare Observability — Queries Workers logs and analytics to debug Cloudflare Workers applications. Requires Cloudflare OAuth. OAuth 2.1
  • Cloudflare Radar — Explores Cloudflare Radar internet insights such as global traffic trends. Requires Cloudflare OAuth. OAuth 2.1
  • Cloudflare GraphQL — Explores the Cloudflare GraphQL Analytics API schema and runs analytics queries against an account's zones and Workers. Requires Cloudflare OAuth. OAuth 2.1
  • Axiom — Queries Axiom event datasets with APL, explores datasets and metrics, and manages dashboards, monitors, and notifiers. Requires Axiom OAuth. OAuth 2.1

Guides for this server

Watch this server for breaking changes

Share and embed

Maintain Google Cloud Logging? Embed this badge in your README. It follows the latest catalog validation result and links to this server profile.

mcptest.io: ready

Latest validation evidence

Validation status
Online when last tested
Validation checked at
Oct 26, 2026 at 11:06 AM
Validation detail
Negotiated stateful MCP 2025-11-25 at https://logging.googleapis.com/mcp; detected transport streamable-http; authentication oauth

Tool inventory

What the catalog validator observed on at https://logging.googleapis.com/mcp without credentials. The live server may have changed since; connect in the Playground for the current list.

Tools provided by Google Cloud Logging 6

Some details were sanitized for public display.

  • get_bucketoutputSchema declared

    Use this as the primary tool to get a specific log bucket by name. Log buckets are containers that store and organize your log data.

    Input name: string
    • name: stringrequired

      Required. The resource name of the bucket: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" "folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]" For example: `"projects/my-project/locations/global/buckets/my-bucket"`

  • get_viewoutputSchema declared

    Use this as the primary tool to get a specific view on a log bucket. Log views provide fine-grained access control to the logs in your buckets.

    Input name: string
    • name: stringrequired

      Required. The resource name of the policy: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]" For example: `"projects/my-project/locations/global/buckets/my-bucket/views/my-view"`

  • list_bucketsoutputSchema declared

    Use this as the primary tool to list the log buckets in a Google Cloud project. Log buckets are containers that store and organize your log data. This tool is useful for understanding how your logs are stored and for managing your logging configurations.

    Input pageSize?: integer, pageToken?: string, parent: string
    • pageSize?: integeroptional

      Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `nextPageToken` in the response indicates that more results might be available.

    • pageToken?: stringoptional

      Optional. If present, then retrieve the next batch of results from the preceding call to this method. `pageToken` must be the value of `nextPageToken` from the previous response. The values of other method parameters should be identical to those in the previous call.

    • parent: stringrequired

      Required. The parent resource whose buckets are to be listed: "projects/[PROJECT_ID]/locations/[LOCATION_ID]" "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]" "folders/[FOLDER_ID]/locations/[LOCATION_ID]" Note: The locations portion of the resource must be specified, but supplying the character `-` in place of [LOCATION_ID] will return all buckets.

  • list_log_entriesoutputSchema declared

    Use this as the primary tool to search and retrieve log entries from Google Cloud Logging. It's essential for debugging application behavior, finding specific error messages, or auditing events. The 'filter' is powerful and can be used to select logs by severity, resource type, text content, and more. IMPORTANT: This tool will only work with a single resource project at a time. Calls with multiple resource projects will fail.

    Input filter?: string, orderBy?: string, pageSize?: integer, pageToken?: string, projectIds?: array, resourceNames: array
    • filter?: stringoptional

      Optional. A filter that chooses which log entries to return. For more information, see [Logging query language] ([REDACTED URI] Only log entries that match the filter are returned. An empty filter matches all log entries in the resources listed in `resource_names`. Referencing a parent resource that is not listed in `resource_names` will cause the filter to return no results. The maximum length of a filter is 20,000 characters. To make queries faster, you can make the filter more selective by using restrictions on [indexed fields] (http

    • orderBy?: stringoptional

      Optional. How the results should be sorted. Presently, the only permitted values are `"timestamp asc"` (default) and `"timestamp desc"`. The first option returns entries in order of increasing values of `LogEntry.timestamp` (oldest first), and the second option returns entries in order of decreasing timestamps (newest first). Entries with equal timestamps are returned in order of their `insert_id` values. We recommend setting the `order_by` field to `"timestamp desc"` when listing recently ingested log entries. If not set, the default value of `"timestamp asc"` may take a long time to fetch ma

    • pageSize?: integeroptional

      Optional. The maximum number of results to return from this request. Default is 50. If the value is negative, the request is rejected. The presence of `next_page_token` in the response indicates that more results might be available.

    • pageToken?: stringoptional

      Optional. If present, then retrieve the next batch of results from the preceding call to this method. `page_token` must be the value of `next_page_token` from the previous response. The values of other method parameters should be identical to those in the previous call.

    • projectIds?: arrayoptional

      Optional. Deprecated. Use `resource_names` instead. One or more project identifiers or project numbers from which to retrieve log entries. Example: `"my-project-1A"`.

    • resourceNames: arrayrequired

      Required. Names of one or more parent resources from which to retrieve log entries. Resources may either be resource containers or specific `LogViews`. For the case of resource containers, all logs ingested into that container will be returned regardless of which `LogBuckets` they are actually stored in - i.e. these queries may fan out to multiple regions. In the event of region unavailability, specify a specific set of `LogViews` that do not include the unavailable region. * `projects/[PROJECT_ID]` * `organizations/[ORGANIZATION_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]` * `folders/[FOLDER

  • list_log_namesoutputSchema declared

    Use this as the primary tool to list the log names in a Google Cloud project. This is useful for discovering what logs are available for a project. Only logs which have log entries will be listed.

    Input pageSize?: integer, pageToken?: string, parent: string, resourceNames?: array
    • pageSize?: integeroptional

      Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `nextPageToken` in the response indicates that more results might be available.

    • pageToken?: stringoptional

      Optional. If present, then retrieve the next batch of results from the preceding call to this method. `pageToken` must be the value of `nextPageToken` from the previous response. The values of other method parameters should be identical to those in the previous call.

    • parent: stringrequired

      Required. The resource name to list logs for: * `projects/[PROJECT_ID]` * `organizations/[ORGANIZATION_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]` * `folders/[FOLDER_ID]`

    • resourceNames?: arrayoptional

      Optional. List of resource names to list logs for: * `projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` * `organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` * `folders/[FOLDER_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]` To support legacy queries, it could also be: * `projects/[PROJECT_ID]` * `organizations/[ORGANIZATION_ID]` * `billingAccounts/[BILLING_ACCOUNT_ID]` * `folders/[FOLDER_ID]` The resour

  • list_viewsoutputSchema declared

    Use this as the primary tool to list the log views in a given log bucket. Log views provide fine-grained access control to the logs in your buckets. This is useful for managing who has access to which logs.

    Input pageSize?: integer, pageToken?: string, parent: string
    • pageSize?: integeroptional

      Optional. The maximum number of results to return from this request. Non-positive values are ignored. The presence of `nextPageToken` in the response indicates that more results might be available.

    • pageToken?: stringoptional

      Optional. If present, then retrieve the next batch of results from the preceding call to this method. `pageToken` must be the value of `nextPageToken` from the previous response. The values of other method parameters should be identical to those in the previous call.

    • parent: stringrequired

      Required. The bucket whose views are to be listed: "projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]"