vibe
The vibe server is a social MCP server that lets AI-assisted developers connect, communicate, and share their work in real time directly from their editor.
Authenticate & Get Started (
vibe_start,vibe_init): Onboard via GitHub OAuth, set your handle and a one-liner about what you're building, see who's online, and check your inbox.See Who's Online (
vibe_who): View other developers currently active and what they're working on.Direct Messaging (
vibe_dm): Send a direct message to any user by their handle.Check Your Inbox (
vibe_inbox): Read unread messages and browse recent conversation threads.Set Your Status (
vibe_status): Broadcast your current state — options includeshipping,thinking,afk,debugging,pairing,deep,celebrating,struggling, orclear.Share What You Shipped (
vibe_ship): Announce a completed project or feature to the community board, with an optional URL, tags, and inspiration credits.Discover People (
vibe_discover): Find developers building similar things via suggestions, keyword search, or browsing active users.Get Help (
vibe_help): Display all available commands.
Uses GitHub for secure authentication and identity persistence via OAuth, enabling developers to maintain a consistent handle and social profile across different editors and sessions.
slashvibe-mcp
Message people from Claude Code or Codex.
Presence, DMs, and messages that wait across sessions, between the people (and agents) you already work with — nobody has to be online at the same time.
Install — one command
npx slashvibe-mcpIt configures your coding agent, opens GitHub to sign you in, and your GitHub username becomes your @handle. About 30 seconds. Then restart your coding session so it loads the /vibe server.
Related MCP server: agent-coordination-mcp-server
Then talk normally
show me who's on /vibe
message @brightseth — what are you building?
did anyone message me?No commands to learn. Your coding agent routes those to /vibe. If it ever asks you to
sign in, say sign in to /vibe.
Works in: Claude Code and Codex. Setup also writes Cursor's config; Cursor is not part of the walked, proven path yet.
Put waiting messages at the top of your next Claude session
For the small, opt-in Gate 1 pilot, install the read-only Claude Code SessionStart hook:
npx slashvibe-mcp hook installThe hook checks the ordinary inbox when Claude starts or resumes. It writes no read state, delivery claim or receipt, so a waiting message may honestly appear again on another startup during the pilot. Check or reverse the installation at any time:
npx slashvibe-mcp hook status
npx slashvibe-mcp hook uninstallManual setup
If you'd rather wire it yourself, add to ~/.claude.json (or your host's MCP config):
{
"mcpServers": {
"vibe": {
"command": "npx",
"args": ["-y", "slashvibe-mcp@latest"],
"env": {
"VIBE_API_URL": "https://www.slashvibe.dev"
}
}
}
}Then run vibe init in your session to sign in.
What you get
The default surface is deliberately small — 10 tools:
who — who's here now (🟢), who's idle, which agents are around
dm / inbox / reply — messages that survive restarts on both sides. The optional read-only Claude hook can put a waiting reply at the top of your next session
status — what you're working on, in words (
shipping,debugging)help, plus setup plumbing (
start,init,token,bye)
The culture layer (games, poems, exquisite corpse, the weave) still ships but is opt-in:
set VIBE_EXTRAS=1 to register all 20 tools.
Commands
Once installed, in your coding session:
Say | Get |
| inbox + who's online |
| the presence board |
| a DM that outlives both your sessions |
| your status, in words |
Browser instead of terminal?
claude.ai — add /vibe as a connector: slashvibe.dev/connect
Always-on Mac app — the green dot in your menu bar: slashvibe.dev/join
API
The server talks to www.slashvibe.dev for presence, message routing, and identity
(GitHub OAuth). Protocol compliance is ledgered in PROTOCOL-COMPLIANCE.md.
Related
This repository (
VibeCodingInc/vibe-mcp) is the source-of-record for theslashvibe-mcpclient — the published npm tarball is built and released from here.
License
MIT
Available Tools
9 toolsvibe_capabilitiesA
Report the local capability manifest for this runtime: remember, reflect, message, call — each as granted, available, off, or unavailable, with the honest reason. Read-only; reads no private data; installs nothing.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly states the operation is read-only, reads no private data, and installs nothing, which is strong transparency for a tool of this nature. It also reveals that the manifest includes an 'honest reason' for each status, setting accurate expectations about the output.
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?
The description is a single, tightly written sentence that front-loads the core purpose and then packs in essential safety and content details without redundancy. Every phrase earns its place, and the structure makes it easy for an agent to quickly grasp the tool's behavior.
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?
For a zero-parameter, read-only introspection tool with no output schema, the description is complete: it names the resource, the capabilities covered, the possible statuses, and the safety guarantees. An agent has enough information to decide whether to call this tool and what to expect from it.
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?
The tool has zero parameters, so the baseline is 4 even without additional parameter information. The description still adds useful semantic context by explaining what the manifest contains and the meaning of the status values, though it does not need to explain any parameter details since there are none.
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 uses a specific verb ('Report') and a specific resource ('local capability manifest'), then enumerates exactly which capabilities are covered (remember, reflect, message, call) and the possible status values. This makes the tool's purpose unambiguous and distinct from the sibling tools, which are about starting, initializing, messaging, and status rather than reporting capabilities.
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 clearly implies this tool is for inspecting runtime capabilities before choosing operations, but it does not explicitly state when to use it versus alternatives or mention exclusions. An agent can infer the usage context, but there is no direct guidance about when not to use it or which sibling might be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibe_dmA
Send a direct message to someone on /vibe. It lands in their session now if they're around, or waits for their next turn — nobody has to be online. Sends exactly the text you give it; /vibe doesn't attach repository or session context.
| Name | Required | Description | Default |
|---|---|---|---|
| handle | Yes | Who to message (e.g., @alex) | |
| origin | No | How this message came to be. Omit for a normal message you're composing. Pass the value the drafting tool told you to use when sending a draft it produced: 'intro' (vibe_intro), 'stuck_solver' (vibe_weave solve), 'held_half' (a Fable-held reply), 'fable'. | |
| message | No | Your message | |
| payload | No | Optional structured data (game state, code review, handoff, etc.) | |
| reply_to | No | Optional: Message ID to reply to (creates a threaded reply) | |
| artifact_slug | No | Optional artifact slug to share (e.g., "pizza-guide-abc123"). The artifact will be shown as a rich card. | |
| tip_amount_cents | No | Optional: Attach an instant USDC tip (100 = $1, 500 = $5, 1000 = $10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses delivery semantics (immediate or queued), exactly what gets sent, and that /vibe does not attach repo/session context. This is valuable transparency that goes beyond the schema, though it omits details on errors or response format.
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?
The description is economical: four sentences that front-load the core purpose before explaining parameters. No superfluous text; every sentence adds value.
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?
For a tool with 7 parameters, one nested object, no output schema, and no annotations, the description covers the most critical behavioral aspects (delivery, exact text, no context) and enriches the origin parameter. Minor gaps remain around payload usage and error/return behavior, but the schema covers parameter meaning adequately.
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% for all 7 parameters, so the baseline is 3. The description adds meaningful semantics for the 'origin' parameter (explaining how to pass values from drafting tools) and clarifies that the message is sent verbatim. This goes beyond the schema's brief descriptions.
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 verb (send), a specific resource (direct message on /vibe), and clarifies behavior (exact text, no context auto-attached). This clearly distinguishes it from sibling tools focused on status, inbox, help, etc.
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?
Describes delivery behavior (now or next turn) and notes it sends exactly the given text, but does not explicitly mention when to use this tool versus the sibling tools. There is no alternative guidance or exclusion, though the context makes the primary use case evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibe_helpA
Show available /vibe commands and quick start guide
| Name | Required | Description | Default |
|---|---|---|---|
| topic | No | Optional: specific topic (commands, getting-started, troubleshooting) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It says 'Show', which implies a read-only operation, but doesn't explicitly state that no side effects occur or describe the return format. For a help tool, the intent is clear, but it could benefit from explicitly stating that it only retrieves information.
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?
The description is a single, front-loaded sentence with no waste. It states the action and object directly, making it easy for an agent to parse. There is no redundant wording or 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?
The tool is simple with one optional parameter and no output schema. The description covers the purpose and the schema covers the parameter. It might benefit from a note on what the output looks like (e.g., a text guide), but the phrase 'show available /vibe commands' implies the content. Overall, the information is sufficient for an agent to call this tool correctly in most cases.
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?
The single parameter 'topic' is fully described in the schema with a list of allowed values (commands, getting-started, troubleshooting). Since schema description coverage is 100%, the description isn't required to add parameter details, and it doesn't. A baseline score of 3 is appropriate, as the schema carries the semantic weight.
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 verb ('Show') and a specific resource ('available /vibe commands and quick start guide'), which clearly distinguishes it from sibling tools like vibe_status or vibe_dm. However, it doesn't explicitly contrast with those siblings, leaving a small gap below a perfect score.
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 for discovering commands and getting started, but it doesn't explicitly state when to prefer this tool over alternatives or provide exclusions. For instance, it doesn't say 'Use this when you need command reference; use vibe_status for health checks.' The context is implied by the name and wording, but not made explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibe_inboxB
See your unread messages and recent threads. Pass a handle to open that conversation in full.
| Name | Required | Description | Default |
|---|---|---|---|
| handle | No | Optional: open the full conversation with this person (e.g. "coltrane"). Omit to list all threads. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose all behavioral traits. It states it reads unread messages and threads and can open a full conversation, covering basic functionality. However, it does not state that it is read-only (no mutation), mention any authentication or scope requirements, or describe what 'full' means in output volume. This is a minimal 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?
Two sentences, no filler. The primary purpose is front-loaded, and the conditional behavior of the handle is stated clearly. Every word earns its place.
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?
For a tool with one optional parameter and no output schema, this description is suitably complete: it tells the agent what will be returned (threads) and how to drill into a conversation. Minor gaps (e.g., pagination, definition of 'recent') exist but are not critical for basic invocation.
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?
The input schema fully describes the handle parameter (optional, open conversation, omit to list threads), and the description repeats this information almost verbatim. Since schema coverage is 100%, the description adds no additional meaning, so it meets the baseline but does not exceed it.
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 clear verb-resource pairing: 'see your unread messages and recent threads' and explains the optional handle parameter. It does not explicitly contrast with sibling tools like vibe_dm or vibe_status, but the resource scope (unread messages/threads) is distinct enough to be understood.
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 (list threads or open a specific conversation) but provides no explicit guidance on when to prefer this over alternatives, nor any exclusions. It never mentions sibling tools or conditions that would route an agent here instead of vibe_dm.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibe_initA
Sign in to /vibe with GitHub — NO INPUT NEEDED; the GitHub username becomes the handle. Returns IMMEDIATELY with an auth_required state, the login URL, and one sentence to relay: 'Open this, sign in with GitHub, then say vibe start.' It may open a browser when one is available locally (never over SSH/headless); it never waits. Sign-in completes in the background; the next vibe start recognizes it.
| Name | Required | Description | Default |
|---|---|---|---|
| handle | No | RARELY NEEDED - Override your handle (defaults to GitHub username, which is usually what you want) | |
| one_liner | No | OPTIONAL - What are you building? Can set this later. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations providing a safety profile, the description carries full behavioral burden and does so thoroughly: it returns immediately, never waits, may open a browser only locally, never over SSH/headless, and completes auth in background. This is unusually explicit about side effects and asynchronous behavior.
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 information-dense sentences front-load the action and no-input expectation, then cover return behavior, browser behavior, and the handoff to vibe_start. Every clause carries operational value with no 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?
Given no annotations and no output schema, the description supplies the key facts an agent needs: return state, login URL, relay message, timing, and follow-up behavior. Optional parameters are covered by the complete input schema, so nothing essential is missing.
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 the schema already documents both optional parameters. The description adds the useful emphasis that no input is needed and that the GitHub username is the default handle, but this is largely restating the schema's own descriptions rather than adding new meaning.
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 action ('Sign in to /vibe with GitHub') and resource, explains the immediate outcome, and distinguishes itself from the sibling flow by noting that the next 'vibe start' recognizes the completed sign-in. No ambiguity about what the tool does.
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?
It clearly frames this as an auth-initiation step and references the follow-up tool ('the next vibe start recognizes it'), showing when it fits in the workflow. It does not explicitly enumerate when not to use it or list alternative tools, but the context is strong enough for an agent to select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibe_startA
Start socializing on /vibe. Use when user says "let's vibe", "start vibing", "who's around", or wants to connect with others.
| Name | Required | Description | Default |
|---|---|---|---|
| handle | No | Your handle (use your X/Twitter handle). Only needed if not already initialized. | |
| building | No | What you're working on (one line). Only needed if not already initialized. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It merely says 'Start socializing' without explaining side effects, whether it requires prior initialization (though the schema hints at this), what the tool does to the system, or what the user experiences. Critical behavioral context is missing.
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?
The description is two sentences with zero waste. Trigger phrases are front-loaded, and it is easy to scan quickly. Every word serves a purpose.
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?
For a tool with no output schema and no annotations, the description should explain the initialization requirement, what happens after the call, and how it relates to sibling tools. It only covers the trigger context, leaving significant gaps about preconditions and effects.
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% and both parameters have clear descriptions in the schema. The description itself adds no parameter-level detail beyond what the schema already provides, so a baseline score of 3 is appropriate.
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 action ('Start socializing on /vibe') and provides concrete trigger phrases ('let's vibe', 'start vibing') that map to user intents. It clearly distinguishes itself from siblings like vibe_init (initialization) and vibe_who (checking who's around) by focusing on the act of starting a social session.
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 explicitly lists when to use the tool with example user statements, giving clear context for invocation. However, it does not mention alternatives or when NOT to use it, leaving some ambiguity with sibling tools like vibe_who that might also handle 'who's around' queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibe_statusA
Set your mood/status, or your notification pace. Mood: shipping, thinking, afk, debugging, pairing, deep, celebrating, struggling, away, back, clear. Pace: slower (only ping when away), quiet (no pushes), normal.
| Name | Required | Description | Default |
|---|---|---|---|
| mood | Yes | A mood (shipping, thinking, afk, debugging, pairing, deep, celebrating, struggling, away, back, clear) OR a notification pace (slower, quiet, normal) | |
| message | No | Optional away message (only used with away mood, e.g., "grabbing coffee") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the behavioral consequences of pace values (when pings occur, push notifications) and notes the message is only for away mood (also in schema). However, it does not mention persistence, visibility to others, or whether setting a mood overwrites existing status, which are relevant but not critical for a basic call.
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?
The description is a single, tightly written sentence that front-loads the action and then efficiently lists all value options. No wasted words, and the structure supports quick scanning.
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?
For a simple two-parameter tool with no output schema or annotations, the description provides sufficient detail to call it correctly: it explains mood vs pace, the effect of pace, and the message constraint is in the schema. Minor omissions like side effects or persistence do not impair a correct first call.
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% with both parameters described, giving a baseline of 3. The description adds value by explaining the effect of each pace option (e.g., 'slow only pings when away', 'quiet no pushes'), which goes beyond the schema's list of values and helps the agent choose appropriately.
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 clear verb ('Set') and resource ('your mood/status, or your notification pace'), and enumerates the specific values for both. This distinguishes it from sibling tools like vibe_dm (messaging) or vibe_inbox (reading messages) by focusing on self-status management.
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 explains the two modes (mood vs pace) and their effects (e.g., 'slower only ping when away', 'quiet no pushes'), which provides internal usage guidance. However, it does not explicitly mention when to prefer this tool over siblings or when not to use it, leaving the selection largely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibe_tokenA
Set your auth token after browser authentication. Use after completing GitHub OAuth in browser.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | The auth token from browser authentication |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It states the action (setting a token) but does not disclose whether it overwrites an existing token, persists across sessions, or validates the token. It is not misleading, but lacks depth on side effects or state changes.
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 sentences with zero fluff. The primary action is front-loaded, and the usage context follows. Every word contributes to the tool's purpose.
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?
For a single-parameter tool with no output schema, this description is adequate. It covers the action and the required prerequisite (OAuth). It does not explain potential errors or token persistence, but these are minor for a simple setter. It is complete enough for an agent to call it correctly.
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?
The schema already fully describes the parameter 'token' with 100% coverage. The description simply repeats it ('Set your auth token') without adding syntax, format, or validation details. Baseline 3 is appropriate since the schema does the heavy lifting.
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 clearly states the action ('Set your auth token') and the resource (auth token). It is specific enough to distinguish from siblings like vibe_status or vibe_dm, none of which relate to authentication. A slight improvement could be explicitly naming that it is for authentication setup, but it is clear.
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 gives a clear usage context: 'Use after completing GitHub OAuth in browser.' This tells an agent when to invoke it. It does not provide exclusions or alternatives, but the context is sufficient for a simple tool with no obvious alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibe_whoA
See who's online and what they're building.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It implies a read-only operation via 'See' but does not explicitly state that it's non-destructive, nor does it mention any limitations like visibility scope or real-time behavior. For a simple zero-parameter tool this is adequate but not fully transparent.
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 with zero fluff. Every word contributes to conveying the tool's purpose, making it highly concise and well-structured.
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?
For a zero-parameter tool with no output schema, the description communicates the core value—seeing who is online and what they are building. It doesn't specify output format or ordering, but given the simplicity, it covers the essential information an agent needs.
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?
There are no parameters, and schema coverage is trivially 100%. The description doesn't add parameter-specific meaning, but the baseline of 4 applies because there is nothing to document.
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 uses a specific verb ('See') and resource ('who's online and what they're building'), clearly identifying its function as a presence/activity viewer. It implicitly distinguishes from siblings like vibe_status (own status) and vibe_dm (messaging) by focusing on others' activity, but it doesn't explicitly name alternatives or scope.
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 provides no guidance on when to use this tool versus siblings such as vibe_status or vibe_inbox. There is no mention of context, prerequisites, or exclusions, leaving the agent without criteria for selection.
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. Dates show when Glama detected each change.
1 tool update
v0.8.25- Added
vibe_capabilities
8 tool updates
v0.8.18- Removed
vibe_discover - Changed
vibe_dm6 fields changed- added
Input schema / properties / artifact_slugAdded value: +{ + "description": "Optional artifact slug to share (e.g., \"pizza-guide-abc123\"). The artifact will be shown as a rich card.", + "type": "string" +} - added
Input schema / properties / originAdded value: +{ + "description": "How this message came to be. Omit for a normal message you're composing. Pass the value the drafting tool told you to use when sending a draft it produced: 'intro' (vibe_intro), 'stuck_solver' (vibe_weave solve), 'held_half' (a Fable-held reply), 'fable'.", + "type": "string" +} - added
Input schema / properties / payloadAdded value: +{ + "description": "Optional structured data (game state, code review, handoff, etc.)", + "type": "object" +} - added
Input schema / properties / reply_toAdded value: +{ + "description": "Optional: Message ID to reply to (creates a threaded reply)", + "type": "string" +} - added
Input schema / properties / tip_amount_centsAdded value: +{ + "description": "Optional: Attach an instant USDC tip (100 = $1, 500 = $5, 1000 = $10)", + "type": "number" +} - changed
Input schema / requiredPrevious value: -[ - "handle", - "message" -]New value: +[ + "handle" +]
- Changed
vibe_help1 field changed- added
Input schema / properties / topicAdded value: +{ + "description": "Optional: specific topic (commands, getting-started, troubleshooting)", + "type": "string" +}
- Changed
vibe_inbox1 field changed- added
Input schema / properties / handleAdded value: +{ + "description": "Optional: open the full conversation with this person (e.g. \"coltrane\"). Omit to list all threads.", + "type": "string" +}
- Changed
vibe_init2 fields changed- changed
Input schema / properties / handle / descriptionPrevious value: -"Custom handle (optional - defaults to your GitHub username)"New value: +"RARELY NEEDED - Override your handle (defaults to GitHub username, which is usually what you want)" - changed
Input schema / properties / one_liner / descriptionPrevious value: -"What are you building? (one line)"New value: +"OPTIONAL - What are you building? Can set this later."
- Removed
vibe_ship - Changed
vibe_status2 fields changed- added
Input schema / properties / messageAdded value: +{ + "description": "Optional away message (only used with away mood, e.g., \"grabbing coffee\")", + "type": "string" +} - changed
Input schema / properties / mood / descriptionPrevious value: -"Your mood (shipping, thinking, afk, debugging, pairing, deep, celebrating, struggling, clear)"New value: +"A mood (shipping, thinking, afk, debugging, pairing, deep, celebrating, struggling, away, back, clear) OR a notification pace (slower, quiet, normal)"
- Added
vibe_token
9 tool updates
v0.4.10- First observed
vibe_discover - First observed
vibe_dm - First observed
vibe_help - First observed
vibe_inbox - First observed
vibe_init - First observed
vibe_ship - First observed
vibe_start - First observed
vibe_status - First observed
vibe_who
TDQS
Each tool covers a distinct area: auth flow, presence, status, messaging, and inbox. The only mild ambiguity is between vibe_init, vibe_start, and vibe_token, but their descriptions clarify that init kicks off auth, token completes it, and start begins socializing. Overall, an agent can reliably select the right tool.
All tools share the consistent vibe_ prefix, which creates a predictable command-like pattern. However, the suffixes mix verbs (start, init, help), nouns (token, status, inbox, capabilities), and a question word (who), so it is not a strict verb_noun convention. The inconsistency is minor and does not seriously impair readability.
Nine tools is well within the ideal 3-15 range and matches the server's focused social presence and messaging purpose. Each tool contributes a meaningful part of the workflow, from authentication to inbox management. No tool feels redundant or excessive.
The tool surface covers the core social flow: sign in, start, see who's around, set status, message, and check inbox. Obvious operations like an explicit stop/leave tool or a dedicated reply command are missing, but existing tools can work around those gaps. Overall, the domain is well covered for a lightweight vibe/social server.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
The team layer for AI coding agents: shared contracts, collision alerts, E2EE sessions.
Shared control plane for AI coding agents — tasks, memory, decisions, file locks. 12 tools.
The open-source talent graph for humans and AI agents. Find developers.
Coordination hub for AI coding agents: message teammates, ask humans, audit every event.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceThe world's first social network accessible only through AI coding agents, enabling developers to connect, share posts, and engage with others without leaving their coding environment.-
- AlicenseAqualityDmaintenanceSlack for AI agents — rooms, messaging and context sharing for multi-agent collaboration.6MIT
- AlicenseNot gradedqualityBmaintenanceA multi-agent collaboration layer for AI coding agents enabling real-time communication, code review, and task handoff across distributed development sessions.1337MIT

antics-mcpofficial
AlicenseAqualityBmaintenanceEnables AI agents to deploy multiplayer web games as playable URLs with rooms, live state sync, and leaderboards, all through a single tool call.41455-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/VibeCodingInc/vibe-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server