Skip to main content
Glama
btn0s

Granola MCP Server

by btn0s

get_granola_transcript

Retrieve a specific meeting transcript using its unique ID to access recorded discussions and content from the Granola platform.

Instructions

Get a specific Granola transcript by its ID.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesThe transcript ID to retrieve

Implementation Reference

  • Handler for the 'get_granola_transcript' tool. Extracts ID from arguments, fetches the document using GranolaApiClient, validates it's a meeting transcript, converts ProseMirror content to markdown, and returns formatted JSON response.
    case "get_granola_transcript": {
      const id = args?.id as string;
      const doc = await apiClient.getDocumentById(id);
      if (!doc || doc.type !== "meeting") {
        return {
          content: [
            {
              type: "text",
              text: JSON.stringify({
                error: `Transcript with id ${id} not found`,
              }),
            },
          ],
          isError: true,
        };
      }
    
      let markdown = "";
      if (doc.last_viewed_panel?.content) {
        markdown = convertProseMirrorToMarkdown(
          doc.last_viewed_panel.content
        );
      }
    
      return {
        content: [
          {
            type: "text",
            text: JSON.stringify(
              {
                id: doc.id,
                meeting_id: doc.id,
                title: doc.title,
                content: markdown,
                created_at: doc.created_at,
                updated_at: doc.updated_at,
              },
              null,
              2
            ),
          },
        ],
      };
    }
  • src/index.ts:122-135 (registration)
    Registration of the 'get_granola_transcript' tool in the tools array used for ListToolsRequestHandler. Includes name, description, and input schema requiring a string 'id'.
    {
      name: "get_granola_transcript",
      description: "Get a specific Granola transcript by its ID.",
      inputSchema: {
        type: "object",
        properties: {
          id: {
            type: "string",
            description: "The transcript ID to retrieve",
          },
        },
        required: ["id"],
      },
    },
  • Helper method in GranolaApiClient to retrieve a specific Granola document (transcript) by its ID, fetched from all documents and used directly in the tool handler.
    async getDocumentById(id: string): Promise<GranolaDocument | null> {
      const allDocs = await this.getAllDocuments();
      return allDocs.find((doc) => doc.id === id) || null;
    }

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/btn0s/granola-mcp'

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