morgenruf.dev

MCP Integration

Connect Claude, Cursor, and GitHub Copilot to your standup data using the Model Context Protocol.

What is MCP?

The Model Context Protocol (MCP) is an open standard that lets AI assistants β€” including Claude, Cursor, and GitHub Copilot β€” query external data sources directly during a conversation. Morgenruf ships a built-in MCP server that exposes your standup data to any compatible AI tool.

Once configured, you can ask your AI assistant questions like:

  • "What did my team work on this week?"
  • "Who has blockers today?"
  • "What's our standup participation rate?"
  • "Summarize yesterday's standups for me"

The AI will call the Morgenruf MCP tools behind the scenes and return answers grounded in your real standup history β€” no copy-pasting, no manual context.

ℹ️

MCP requires direct database access, so it runs as a local process on your machine pointing at your PostgreSQL instance. Your standup data never leaves your infrastructure.

Available Tools

The Morgenruf MCP server exposes 8 tools to AI assistants:

Tool Description Parameters
get_standups Fetch standup history for a date range team_id, from_date, to_date
get_today_standups Retrieve today's submitted standups team_id
get_blockers List active blockers reported by team members team_id, days
get_participation Participation percentage statistics team_id, days
get_members List all members in the workspace team_id
search_standups Full-text search across standup responses team_id, query, days
get_workspace_summary High-level overview of workspace activity team_id
get_mood_summary Team mood trends over time team_id, days

How to Find Your Team ID

Every MCP tool requires a team_id. This is your Slack workspace ID. Here's how to find it:

  1. Log in to the Morgenruf dashboard

    Navigate to https://your-domain.com/dashboard and sign in with your Slack account.

  2. Open your workspace menu

    Click your profile or workspace name in the top-right corner of the dashboard.

  3. Go to the Settings tab

    Select the Settings tab from the navigation menu.

  4. Copy your Team ID

    Your Team ID is displayed in the "MCP Integration" section. Click it to copy it to your clipboard.

    It looks like: T0123ABCDE (a Slack workspace ID starting with T).

πŸ’‘

Alternative ways to find your Team ID: it appears in the URL after the Slack OAuth install redirect, or you can ask your Slack workspace admin β€” it's shown in Slack's workspace settings under "About this workspace".

Setup for Claude Desktop

Claude Desktop supports MCP servers via a JSON config file. Follow these steps:

  1. Install dependencies

    pip install mcp>=1.0.0 psycopg2-binary
    bash
  2. Get the MCP server script

    Download mcp_server.py from your Morgenruf installation directory (app/src/mcp_server.py) or from the GitHub repository.

  3. Edit the Claude Desktop config file

    Open the config file for your OS:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  4. Add the Morgenruf server config

    {
      "mcpServers": {
        "morgenruf": {
          "command": "python",
          "args": ["/path/to/morgenruf/app/src/mcp_server.py"],
          "env": {
            "DATABASE_URL": "postgresql://morgenruf:password@localhost:5432/morgenruf",
            "MCP_TEAM_ID": "T0123ABCDE"
          }
        }
      }
    }
    json

    Replace /path/to/morgenruf with your actual path, DATABASE_URL with your PostgreSQL connection string, and MCP_TEAM_ID with your Team ID.

  5. Restart Claude Desktop

    Fully quit and reopen Claude Desktop for the config to take effect.

  6. Verify the connection

    Look for the πŸ”Œ icon in Claude's interface. Click it to see a list of available tools β€” you should see all 8 Morgenruf tools listed there.

Setup for Cursor

Cursor uses a similar MCP config file located at ~/.cursor/mcp.json:

  1. Create or edit ~/.cursor/mcp.json

    {
      "mcpServers": {
        "morgenruf": {
          "command": "python",
          "args": ["/path/to/mcp_server.py"],
          "env": {
            "DATABASE_URL": "postgresql://morgenruf:password@localhost:5432/morgenruf",
            "MCP_TEAM_ID": "T0123ABCDE"
          }
        }
      }
    }
    json
  2. Restart Cursor

    Reload the Cursor window (or fully restart) for the MCP server to be picked up.

  3. Start chatting

    Open Cursor's AI chat and ask about your standup data β€” Cursor will call the Morgenruf tools automatically.

Setup for GitHub Copilot

Add an MCP config to your workspace's .github/copilot-config.json:

  1. Create .github/copilot-config.json in your repository

    {
      "mcp": {
        "servers": {
          "morgenruf": {
            "command": "python",
            "args": ["/path/to/mcp_server.py"],
            "env": {
              "DATABASE_URL": "postgresql://morgenruf:password@localhost:5432/morgenruf",
              "MCP_TEAM_ID": "T0123ABCDE"
            }
          }
        }
      }
    }
    json
  2. Reload VS Code / GitHub Copilot

    Reload your editor window so GitHub Copilot picks up the new MCP server configuration.

Example Questions to Ask Your AI

Once MCP is connected, try asking your AI assistant:

  • "What did my team work on this week?"
  • "Who has blockers right now?"
  • "What's our standup participation rate?"
  • "Summarize yesterday's standups"
  • "Which team member has been most blocked recently?"
  • "What's the team mood trend this month?"
πŸ’‘

The AI will automatically pick the right MCP tool for each question β€” you don't need to know which tool to call. Just ask naturally.

Troubleshooting

"Tool not found" error
Fully restart your AI client (Claude Desktop, Cursor, or VS Code) after making any changes to the MCP config file. The server list is only loaded at startup.
"Database connection failed"
Check that your DATABASE_URL is reachable from your machine. If Morgenruf is running in Docker or a remote server, you may need to expose the PostgreSQL port or use an SSH tunnel.
"No data returned" or empty results
Verify that MCP_TEAM_ID matches your Slack workspace ID exactly. You can double-check it in the Morgenruf dashboard under Settings β†’ MCP Integration.
Python not found
Use the full path to your Python binary instead of just python. Common paths: /usr/bin/python3, /opt/homebrew/bin/python3, or /usr/local/bin/python3. Run which python3 in your terminal to find the right path.