Skip to main content

Self-Hosted MCP Server (Open Source) Guide

Run MeetGeek's open-source MCP server locally with your own API key — for developers who want full control over execution or custom workflows.

Written by Dan Huru

The MeetGeek MCP Server (Self-Hosted) is an open-source, local MCP implementation that lets MCP-compatible AI tools access your MeetGeek meeting data directly from your own machine.

Unlike the cloud MCP, this version runs entirely locally, uses your MeetGeek API key, and requires Node.js and manual setup. It's best suited for developers and advanced users who want full control over execution or custom workflows. Source: GitHub repository.

In this guide:


Why use the self-hosted MCP

  • Runs locally — no third-party services

  • Full control over execution

  • Configure once, use across multiple MCP clients

  • Ideal for custom or offline workflows


Requirements

  • Node.js v14 or newer

  • A valid MeetGeek API key — generate it from the Integrations & Automations page under the Public API integration

  • (Optional) MEETGEEK_BASE_URL for custom deployments


Setup steps

  1. Clone the repository:

    git clone https://github.com/meetgeekai/meetgeek-mcp-server
    cd meetgeek-mcp-server
  2. Install dependencies and build:

    npm install
    npm run build
  3. Run the server:

    MEETGEEK_API_KEY=your_key_here node dist/index.js

This starts the MCP server locally, listening for JSON-based MCP messages.


Configure your MCP client

Add the MCP server to your client configuration. For example:

{
"mcpServers": {
"meetgeek": {
"command": "node",
"args": ["path/to/dist/index.js"],
"env": {
"MEETGEEK_API_KEY": "your_key_here",
"MEETGEEK_BASE_URL": "https://api.meetgeek.ai"
}
}
}
}

Different clients may need different formatting — check their docs. Once configured, restart the client to enable the tools.


Tools you can use

Tool

Description

list_user_meetings

Retrieve a paginated list of the authenticated user's past meetings, including IDs, titles, timestamps, and participant counts.

list_team_meetings

Retrieve a paginated list of meetings for a specific team, including meeting metadata and participant information.

get_meeting_details

Fetch full details for a specific meeting: title, timestamps, duration, participants, recording status, and processing state.

get_meeting_transcript

Retrieve the full transcript with speaker names, timestamps, and spoken text. Supports pagination for long meetings.

get_meeting_summary

Get an AI-generated summary of main topics, key decisions, action items, and next steps.

get_meeting_highlights

Retrieve AI-generated highlights — key moments, decisions, and notable quotes with timestamps and speaker context.

get_meeting_insights

Access AI-powered analytics: sentiment, topic breakdowns, speaking-time distribution, and engagement metrics.

upload_recording_for_analysis

Upload an audio or video recording via a direct download link for asynchronous analysis — generating a transcript, summary, highlights, and insights.


Troubleshooting

  • "Module not found" errors → run npm install in the project root.

  • Invalid API key errors or exits → recheck your key in your MeetGeek account settings.

  • Client doesn't see the tools → make sure the server is running after the build, and that STDIO isn't redirected or suppressed.

The repository README covers advanced topics too — debugging and logging flags, plus the full TypeScript source and example usage. See the GitHub repository for the complete reference.


TL;DR

  1. Clone the repo.

  2. npm install → npm run build

  3. Launch the server with your MEETGEEK_API_KEY.

  4. Add an entry to your MCP-client config.

  5. Restart your AI tool and ask questions directly in chat.

Prefer a plug-and-play setup? See the Public MeetGeek MCP (Cloud) guide to connect MeetGeek to ChatGPT, Claude, and MCP-compatible IDEs over OAuth — no local setup required.


Need Help?

If you have any questions or need assistance, reach out at [email protected] or use the chat messenger in the MeetGeek app.


Related Articles

Did this answer your question?