Skip to main content
Glama

Activity Collector MCP

An MCP (Model Context Protocol) server for collecting developer activity data from GitLab, GitHub, Google Calendar, and Outlook Calendar.

Features

  • GitLab Integration: Track commits, merge requests, code reviews, and issue activity

  • GitHub Integration: Track commits, pull requests, code reviews, and issue activity

  • Dual Git Support: Use GitLab, GitHub, or both simultaneously

  • Google Calendar: Fetch meeting information with OAuth2 authentication

  • Outlook Calendar: Fetch calendar events with Microsoft Graph API

  • Activity Caching: Smart caching for improved performance

  • Secure Token Storage: OAuth tokens stored securely in your home directory

Installation

npx activity-collector-mcp

Via npm

npm install -g activity-collector-mcp

From Source

git clone https://github.com/srdmathur/activity-collector-mcp.git cd activity-collector-mcp npm install npm run build

Configuration

For Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{ "mcpServers": { "activity-collector": { "command": "npx", "args": ["activity-collector-mcp"] } } }

For Claude Code (VS Code)

Add to ~/Library/Application Support/Code/User/mcp.json:

{ "servers": { "activity-collector": { "type": "stdio", "command": "npx", "args": ["activity-collector-mcp"] } } }

API Configuration

Create ~/.activity-collector-mcp-config.json:

{ "gitlab": { "url": "https://gitlab.com" }, "google": { "clientId": "YOUR_GOOGLE_CLIENT_ID", "clientSecret": "YOUR_GOOGLE_CLIENT_SECRET", "redirectUri": "http://localhost:3000/oauth/callback" }, "outlook": { "clientId": "YOUR_OUTLOOK_CLIENT_ID", "clientSecret": "YOUR_OUTLOOK_CLIENT_SECRET", "tenantId": "YOUR_TENANT_ID", "redirectUri": "http://localhost:3000/oauth/callback" } }

Usage

First Time Setup

  1. Check authentication status:

    Check my authentication status
  2. Configure GitLab:

    Configure GitLab with token: YOUR_GITLAB_TOKEN
  3. Configure GitHub:

    Configure GitHub with token: YOUR_GITHUB_TOKEN
  4. Configure Google Calendar (Optional):

    Set up Google Calendar authentication
  5. Configure Outlook Calendar (Optional):

    Set up Outlook Calendar authentication

Fetching Activity Data

  • GitLab Activity: Fetch GitLab activity for 2024-12-05

  • GitHub Activity: Fetch GitHub activity for last week

  • Calendar Events: Fetch Google Calendar events for today

  • Date Ranges: Fetch activity from 2024-12-01 to 2024-12-07

Available Tools (12)

Service Configuration (6 tools)

  • configure_gitlab - Set up GitLab personal access token

  • configure_github - Set up GitHub personal access token

  • configure_google_calendar - Start Google Calendar OAuth flow

  • google_calendar_callback - Complete Google Calendar OAuth

  • configure_outlook_calendar - Start Outlook Calendar OAuth flow

  • outlook_calendar_callback - Complete Outlook Calendar OAuth

Data Fetching (4 tools)

  • fetch_gitlab_activity - Fetch GitLab activity for specific dates

  • fetch_github_activity - Fetch GitHub activity for specific dates

  • fetch_google_calendar_events - Fetch Google Calendar events

  • fetch_outlook_calendar_events - Fetch Outlook Calendar events

Utilities (2 tools)

  • check_authentication_status - Check authentication for all services

  • clear_cache - Clear cached activity data

Getting API Credentials

GitLab Personal Access Token

  1. Go to GitLab → User Settings → Access Tokens

  2. Create token with read_api and read_repository scopes

GitHub Personal Access Token

  1. Go to GitHub → Settings → Developer Settings → Personal Access Tokens

  2. Generate token with repo and read:user scopes

Google Calendar Credentials

  1. Go to Google Cloud Console

  2. Create project and enable Google Calendar API

  3. Create OAuth 2.0 Client ID credentials

Outlook Calendar Credentials

  1. Go to Azure Portal

  2. Register application in Azure AD

  3. Add Calendars.Read permission

  4. Create client secret

Security

  • Tokens stored in ~/.activity-collector-mcp-tokens.json with restricted permissions (600)

  • OAuth tokens automatically refreshed when expired

  • Configuration file should not be committed to version control

Companion MCP

This MCP works great with Timesheet Assistant MCP for timesheet generation and PSI submission.

License

MIT

Contributing

Contributions welcome! Please open issues or submit pull requests.

Author

Sharad Mathur (srdmathur@gmail.com)

-
security - not tested
A
license - permissive license
-
quality - not tested

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/srdmathur/activity-collector-mcp'

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