vibestreak

AI coding streaks and leaderboards: profiles, heatmaps, who coded with AI today.

Should I use this

Quality & Safety

B
Description quality
77%
Schema completeness
77%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (3)

  • LOWTool 'get_leaderboard' description lacks action verbin get_leaderboard
  • LOWTool 'get_profile' description lacks action verbin get_profile
  • LOWTool 'get_today' description lacks action verbin get_today

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~885Tokens (tool definitions)
~1.5 KBTypical response size
Moderate attention impact (0.69% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "vibestreak": {
      "url": "https://vibestreak.dev/mcp"
    }
  }
}

Remote endpoints

https://vibestreak.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_leaderboard(metric, period, from, to, tool, ...)

The vibestreak leaderboard of AI-assisted developers, ranked by consistency (active days), commits shipped with an AI co-author, current streak, or tokens. Optionally a date range, one or more AI tools, or only GitHub-verified profiles. Use `you` to include a particular person's rank.

Input Schema

{
  "type": "object",
  "properties": {
    "metric": {
      "type": "string",
      "enum": [
        "consistency",
        "shipped",
        "streak",
        "tokens"
      ],
      "description": "What ranks people. Default consistency."
    },
    "period": {
      "type": "string",
      "enum": [
        "today",
        "7d",
        "30d",
        "90d",
        "all"
      ],
      "description": "The window: today, the last 7/30/90 days in each person's own timezone, or all time. Default 30d."
    },
    "from": {
      "type": "string",
      "description": "Start of a custom range (YYYY-MM-DD); needs `to`; replaces period."
    },
    "to": {
      "type": "string",
      "description": "End of a custom range (YYYY-MM-DD)."
    },
    "tool": {
      "type": "string",
      "enum": [
        "claude",
        "codex",
        "cursor",
        "gemini",
        "antigravity",
        "copilot",
        "opencode"
      ],
      "description": "Only this AI coding tool (claude = Claude Code). Default: all tools."
    },
    "tools": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "claude",
          "codex",
          "cursor",
          "gemini",
          "antigravity",
          "copilot",
          "opencode"
        ]
      },
      "description": "Several AI tools at once: a day counts if any of them was used. Default: all tools."
    },
    "verified": {
      "type": "boolean",
      "description": "Only profiles whose shipped days GitHub's public calendars back up."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "description": "How many rows. Default 10."
    },
    "you": {
      "type": "string",
      "description": "A handle whose row to include wherever it ranks."
    }
  }
}
🟢get_profile(handle, tool, weeks)

A developer's public vibestreak profile: current and longest streak, streak level, whether they were active today, totals (active days, commits shipped with AI, messages, tokens), their AI tools, and a text heatmap of recent weeks.

Input Schema

{
  "type": "object",
  "properties": {
    "handle": {
      "type": "string",
      "description": "The vibestreak handle (their GitHub username), with or without @."
    },
    "tool": {
      "type": "string",
      "enum": [
        "claude",
        "codex",
        "cursor",
        "gemini",
        "antigravity",
        "copilot",
        "opencode"
      ],
      "description": "Only this AI coding tool (claude = Claude Code). Default: all tools."
    },
    "weeks": {
      "type": "integer",
      "minimum": 4,
      "maximum": 53,
      "description": "Heatmap weeks. Default 20."
    }
  },
  "required": [
    "handle"
  ]
}
🟢get_my_profile(tool, weeks)

The profile of the person this connection belongs to (it needs their vibestreak CLI token as `Authorization: Bearer …`), even if their profile is hidden: streak, whether today is done or the streak ends at midnight, the days to their next level, totals and a heatmap.

Input Schema

{
  "type": "object",
  "properties": {
    "tool": {
      "type": "string",
      "enum": [
        "claude",
        "codex",
        "cursor",
        "gemini",
        "antigravity",
        "copilot",
        "opencode"
      ],
      "description": "Only this AI coding tool (claude = Claude Code). Default: all tools."
    },
    "weeks": {
      "type": "integer",
      "minimum": 4,
      "maximum": 53,
      "description": "Heatmap weeks. Default 20."
    }
  }
}
🟢get_today

Who on vibestreak has coded with AI today (each in their own timezone), with their streaks, and whose streak ends at midnight unless they code today.

Input Schema

{
  "type": "object",
  "properties": {}
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools