vibestreak
Server Details
AI coding streaks and leaderboards: profiles, heatmaps, who coded with AI today.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
The four tools have largely distinct purposes: leaderboard, public profile, authenticated own profile, and today's active developers. The main potential confusion is between get_profile and get_my_profile, though the descriptions clarify that one is public and one requires authentication.
All tools follow a consistent get_noun snake_case pattern, making the naming predictable and easy to scan.
Four tools is a tight, well-scoped surface for a niche profile/leaderboard API. Each tool covers a distinct query need without unnecessary bloat.
The read-oriented surface covers leaderboard, public/private profiles, and daily activity, which likely handles the core use cases. Minor gaps exist, such as searching or listing profiles, but agents can work around them.
Available Tools
4 toolsget_leaderboardvibestreak leaderboardARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End of a custom range (YYYY-MM-DD). | |
| you | No | A handle whose row to include wherever it ranks. | |
| from | No | Start of a custom range (YYYY-MM-DD); needs `to`; replaces period. | |
| tool | No | Only this AI coding tool (claude = Claude Code). Default: all tools. | |
| limit | No | How many rows. Default 10. | |
| tools | No | Several AI tools at once: a day counts if any of them was used. Default: all tools. | |
| metric | No | What ranks people. Default consistency. | |
| period | No | The window: today, the last 7/30/90 days in each person's own timezone, or all time. Default 30d. | |
| verified | No | Only profiles whose shipped days GitHub's public calendars back up. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds real semantic context beyond that: that `tools` treats a day as counting if any listed tool was used, and that `verified` means GitHub's public calendars back the shipped days – non-obvious behavior an agent cannot infer from the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, front-loaded with the resource and ranking dimensions before the optional filters. Nearly every clause maps to a parameter or documented behavior; there is minimal filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does establish what the ranking is over and how rows are filtered, and all 9 parameters are documented in the schema. The remaining gap is the shape of a returned row (fields besides rank), which is left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented at the field level, including defaults and the from/needs-to constraint. The description only restates parameter categories (date range, tools, verified) without adding syntax or interaction detail, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (a leaderboard of AI-assisted developers) and enumerates the ranking dimensions (consistency, shipped, streak, tokens), so an agent knows exactly what is returned. It does not explicitly contrast itself with siblings like get_profile or get_today, but the resource is distinct enough in practice.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through its optional filters (date range, tools, verified) but never says when to pick this over get_my_profile or get_today, nor states any prerequisites. Adequate implication, no explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_my_profileMy vibestreak profileARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tool | No | Only this AI coding tool (claude = Claude Code). Default: all tools. | |
| weeks | No | Heatmap weeks. Default 20. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive semantics, and the description adds real context on top: the required vibestreak CLI token sent as `Authorization: Bearer …`, and the notable behavior that it returns the profile even when it is hidden. It does not say what happens with a missing/invalid token, but the auth requirement itself is a valuable disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that names the subject first, folds the auth requirement into a parenthetical, and then lists the returned fields. No filler or repeated information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining return values and does so (streak state, level progress, totals, heatmap), plus auth. Only error/failure behavior and how the parameters shape the heatmap are left implicit for this simple two-optional-param read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both `tool` and `weeks` are already documented, including the enum and 4–53 range. The description only alludes to a heatmap, adding nothing about the `tool` filter or week count, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States precisely which resource is returned — the profile of the person the connection belongs to — and enumerates its payload (streak, today's status, days to next level, totals, heatmap). The 'this connection belongs to' / 'my' framing implicitly but clearly separates it from get_profile, get_today and get_leaderboard.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'this connection belongs to' wording implies you call it for the caller's own profile rather than another user's, and the auth note hints at the prerequisite. But there is no explicit when-to-use/when-not statement and no sibling is named, so the agent must infer the choice from sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_profilevibestreak profileBRead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tool | No | Only this AI coding tool (claude = Claude Code). Default: all tools. | |
| weeks | No | Heatmap weeks. Default 20. | |
| handle | Yes | The vibestreak handle (their GitHub username), with or without @. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is fully covered. The description adds useful scope context by framing the profile as public data, but it does not say what happens with an unknown handle or whether a missing handle is an error.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the subject, and every clause names a genuinely distinct returned field. It is dense but not padded, though the comma-list of totals is slightly heavy for a single sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description correctly does the work of enumerating return fields, which is the right call. The only real gap is error/empty behavior for an invalid handle and the lack of sibling differentiation, both minor for a simple read tool with full annotation coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: handle, tool enum, and weeks range are all documented in the schema with defaults and bounds. The description mentions AI tools and the heatmap, which loosely maps to the tool and weeks parameters, but adds no syntax or usage detail beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (a developer's public vibestreak profile) and enumerates exactly what it returns - streak, level, activity, totals, tools, heatmap. It is clearly a read of someone else's profile, but it never contrasts itself with the sibling get_my_profile, so an agent must infer the distinction from the names alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description contains no when-to-use statement, no prerequisites, and no pointer to alternatives. With siblings get_my_profile, get_leaderboard, and get_today in scope, the agent gets no help deciding which tool answers a given question - the word 'public' is the only hint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_todayCoding with AI todayARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description's job is domain behavior, and it delivers: per-user timezone semantics, streak values, and the midnight-deadline rule that makes the result time-sensitive. It does not describe ordering or whether users inactive today are included, which is a moderate gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, and the core subject (who coded today) is front-loaded. It is densely packed with three clauses (timezone, streaks, at-risk), but each clause earns its place by conveying a distinct part of the result.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must convey what comes back, and it names the three data categories: participants, their streaks, and who is at risk of losing a streak. Missing are the shape of the response (per-user objects, ordering) and whether non-coders appear at all, which keeps it short of a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so baseline is 4; there is nothing for the description to compensate for. The schema also has full coverage, so no parameter explanation is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource and scope: who on vibestreak has coded with AI today, plus streaks and at-risk streaks. It is more concrete than the bare name 'get_today', though it is phrased as a noun clause rather than a verb+resource and never explicitly contrasts itself with get_leaderboard, which is the nearest sibling an agent could confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the content: this is the daily roster view, as opposed to get_leaderboard (rankings) or get_profile/get_my_profile (single users). No explicit when-to-use, when-not-to-use, or named alternative is given, so the agent must infer routing from the wording.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
get_leaderboard - First observed
get_my_profile - First observed
get_profile - First observed
get_today
Related MCP Connectors
The open-source talent graph for humans and AI agents. Find developers.
Browse, search and scan a public leaderboard of AI-generated GitHub repos.
Daily leaderboard of newly-launched AI tools with real launch dates and Stripe-verified revenue.
Live status and health checks for AI coding providers: Claude, Cursor, Copilot, Codex and more.
Related MCP Servers
- AlicenseBqualityBmaintenanceEnables coding agents to turn finished sessions into Strava-style achievement cards with distance, elevation, effort, badges, and personal records, plus profile, activity feed, season recap, and leaderboard tools—all measured from session transcripts rather than self-reported.7MIT
- AlicenseAqualityCmaintenanceSocial layer for AI coding — DMs, presence, discovery, and multiplayer games between developers. 68 tools including messaging, presence, memory, and 27 multiplayer games.9145 npmMIT
- AlicenseNot gradedqualityCmaintenanceMCP turns vibe coding into a game. Steam-style achievements for Claude Code, Hermes and more.10 npm4MIT
- AlicenseAqualityAmaintenanceConnects multiple AI coding agents on a team through a shared hub, giving each agent live teammate status, a versioned master prompt, a shared task board, questions and answers, and file claims so agents don't overwrite each other's work. Works across Claude Code, Codex, and Cursor while code itself continues to flow through git.101,771 npm5MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.