{"id":"proofsh-granola-mcp-server","name":"granola-mcp-server","homepage":null,"repo_url":"https://github.com/proofsh/granola-mcp-server","category":"ai-ml","subcategories":[],"tags":["mcp","python","stdio","meeting-intelligence","local-first","pydantic","granola-ai"],"what_it_does":"Provides an experimental MCP (Model Context Protocol) stdio server that exposes Granola.ai meeting intelligence stored in local cache files (search, metadata, transcripts, documents/notes, and cross-meeting pattern analysis) to MCP-capable clients like Claude Desktop.","use_cases":["Search meetings by title/content/participants/transcript text","Retrieve full transcripts with speaker identification","Fetch meeting metadata and associated documents/notes","Analyze patterns across meetings (topics/participants/frequency) over a date range","Support local, privacy-preserving meeting intelligence access via natural-language tool calls"],"not_for":["Serving data to remote users over the network","Real-time meeting ingestion (server reads from a local cache, per documentation)","Cases requiring authenticated multi-tenant access control at the server boundary"],"best_when":"You have Granola.ai installed and populated local cache files, and you want a local MCP server to query them from an MCP client.","avoid_when":"You need network-based access, strong server-side access control, or an officially documented cache/API contract guaranteed to remain stable over time.","alternatives":["Build a custom MCP server around your own meeting archive/exported transcripts","Use Granola.ai directly (if available) without MCP integration","Use local full-text search over exported transcripts (e.g., ripgrep/Elastic/OpenSearch) with a lightweight MCP layer"],"af_score":60.8,"security_score":31.8,"reliability_score":32.5,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T13:50:20.786957+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":false,"scopes":false,"notes":"No auth mechanism is described for the MCP server. The design appears local-only and reads from local cache, relying on OS/process access rather than explicit server-side authentication."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"Repository README describes local processing and does not mention any paid SaaS/API pricing for the MCP server itself."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":60.8,"security_score":31.8,"reliability_score":32.5,"mcp_server_quality":70.0,"documentation_accuracy":70.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":95.0,"rate_limit_clarity":0.0,"tls_enforcement":0.0,"auth_strength":30.0,"scope_granularity":0.0,"dependency_hygiene":55.0,"secret_handling":80.0,"security_notes":"Documentation emphasizes local-only processing and read-only access to local cache files; no explicit secrets, network calls, or server auth are described. Lack of auth/scope controls means security primarily depends on local file permissions and how the MCP client spawns/accesses the process.","uptime_documented":0.0,"version_stability":45.0,"breaking_changes_history":35.0,"error_recovery":50.0,"idempotency_support":"false","idempotency_notes":"Read-only tool calls are implied (search/get); idempotency is likely fine, but no explicit guidance or guarantees are provided in the README.","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Cache file not found if Granola cache has not been created/processed locally yet","Meeting notes may appear empty if rich notes are stored in documentPanels instead of notes_plain (can be toggled with GRANOLA_PARSE_PANELS=0)","Local timezone formatting depends on local detection or TZ override","If installed from source, Claude Desktop Full Disk Access / permission issues and working-directory issues can prevent the server from starting"]}}