{"id":"matteoantoci-google-slides-mcp","name":"google-slides-mcp","homepage":null,"repo_url":"https://github.com/matteoantoci/google-slides-mcp","category":"automation","subcategories":[],"tags":["mcp","google","slides","oauth","automation","devtools"],"what_it_does":"google-slides-mcp is an MCP (Model Context Protocol) server that provides tool functions to interact with the Google Slides API, enabling an agent to create presentations, fetch presentation/slide data, perform batch updates to modify slides, and summarize slide text content.","use_cases":["Generating new Google Slides presentations from structured instructions","Reading and extracting slide text (including optional speaker notes)","Programmatically updating slide content using batchUpdate requests","Agent-driven slide generation workflows (e.g., drafts then refinements)"],"not_for":["High-throughput or latency-sensitive production systems (tool calls over stdio; no evidence of performance tuning)","Use cases requiring fine-grained access controls beyond Google OAuth scopes","Applications needing a public hosted API/webhooks (this is an MCP stdio server)","Workflows that require deterministic idempotent writes without tracking request/slide state"],"best_when":"You want an LLM/agent to operate Google Slides via a local MCP stdio transport, using OAuth credentials configured in the MCP runner.","avoid_when":"You cannot safely handle Google OAuth refresh tokens (long-lived credentials) or you need strict guarantees of repeatable, idempotent updates across retries.","alternatives":["Google Slides API directly (REST) with a custom integration","Other MCP servers/wrappers for Google APIs (if available) or a generic Google Drive/Slides MCP","Use Google Apps Script for slide generation (where appropriate)"],"af_score":52.8,"security_score":67.2,"reliability_score":17.5,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T13:40:11.332026+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["OAuth 2.0 using client credentials + refresh token (Google Refresh Token flow)"],"oauth":true,"scopes":true,"notes":"Authentication is handled via environment variables injected into the MCP process: GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, and GOOGLE_REFRESH_TOKEN. README indicates scopes like https://www.googleapis.com/auth/presentations (and optional Drive scopes)."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"No pricing information provided; cost likely comes from Google API usage rather than this package."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":52.8,"security_score":67.2,"reliability_score":17.5,"mcp_server_quality":75.0,"documentation_accuracy":70.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":45.0,"rate_limit_clarity":10.0,"tls_enforcement":80.0,"auth_strength":80.0,"scope_granularity":70.0,"dependency_hygiene":55.0,"secret_handling":45.0,"security_notes":"Security posture is largely inherited from Google OAuth/Google APIs. The README recommends providing a Google Refresh Token and client secret via environment variables injected into the MCP process, which reduces accidental logging risk but still places highly sensitive long-lived credentials in the runtime environment. No explicit guidance is provided on secret lifecycle/rotation, logging redaction, or minimizing scope/least privilege beyond listing scopes. README also does not mention rate limits or explicit retry/backoff behavior, which can lead to throttling-related failures.","uptime_documented":0.0,"version_stability":40.0,"breaking_changes_history":0.0,"error_recovery":30.0,"idempotency_support":"false","idempotency_notes":"Not described. Batch updates can be non-idempotent depending on the request content; no explicit idempotency keys/retry-safe semantics are documented.","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Writes via batch_update_presentation may not be idempotent; retries could duplicate or further mutate slides","OAuth credentials are long-lived (refresh token); misconfiguration can cause auth failures across all tools","fields/page retrieval may require correct identifiers (presentationId, pageObjectId); wrong IDs will fail"]}}