Skip to main content
Glama

set_api_keys

Configure OpenAI and YouTube API keys to enable automated LinkedIn post drafts generation from YouTube video transcripts using the LinkedIn Post Generator MCP server.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
openaiApiKeyYesYour OpenAI API key
youtubeApiKeyNoYour YouTube API key (optional)

Implementation Reference

  • Executes the set_api_keys tool: sets OpenAI API key (required) and YouTube API key (optional) using ApiKeyManager, returns JSON success/error response.
    async ({ openaiApiKey, youtubeApiKey }) => { try { apiKeyManager.setOpenAIKey(openaiApiKey); if (youtubeApiKey) { apiKeyManager.setYouTubeKey(youtubeApiKey); } return { content: [{ type: "text", text: JSON.stringify({ success: true, message: "API keys set successfully. You can now use the other tools." }, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: JSON.stringify({ success: false, error: error.message }, null, 2) }], isError: true }; } },
  • Zod input schema validating openaiApiKey (required string) and youtubeApiKey (optional string).
    { openaiApiKey: z.string().min(1).describe("Your OpenAI API key"), youtubeApiKey: z.string().optional().describe("Your YouTube API key (optional)") },
  • src/server.js:19-55 (registration)
    Registers the 'set_api_keys' tool on the MCP server with name, input schema, handler function, and description.
    server.tool( "set_api_keys", { openaiApiKey: z.string().min(1).describe("Your OpenAI API key"), youtubeApiKey: z.string().optional().describe("Your YouTube API key (optional)") }, async ({ openaiApiKey, youtubeApiKey }) => { try { apiKeyManager.setOpenAIKey(openaiApiKey); if (youtubeApiKey) { apiKeyManager.setYouTubeKey(youtubeApiKey); } return { content: [{ type: "text", text: JSON.stringify({ success: true, message: "API keys set successfully. You can now use the other tools." }, null, 2) }] }; } catch (error) { return { content: [{ type: "text", text: JSON.stringify({ success: false, error: error.message }, null, 2) }], isError: true }; } }, { description: "Set your API keys for OpenAI and YouTube (optional)" } );
  • ApiKeyManager.setOpenAIKey method: validates and stores the OpenAI API key in instance property.
    setOpenAIKey(key) { if (!key || typeof key !== 'string' || key.trim() === '') { throw new Error("Invalid OpenAI API key"); } this.openaiApiKey = key.trim(); console.log("OpenAI API key set successfully"); }
  • ApiKeyManager.setYouTubeKey method: validates and stores the YouTube API key in instance property.
    setYouTubeKey(key) { if (!key || typeof key !== 'string' || key.trim() === '') { throw new Error("Invalid YouTube API key"); } this.youtubeApiKey = key.trim(); console.log("YouTube API key set successfully"); }

Other Tools

Related Tools

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/NvkAnirudh/LinkedIn-Post-Generator'

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