Skip to main content
Glama

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-mcp

It 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 install

The 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 uninstall

Manual 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

vibe

inbox + who's online

vibe who

the presence board

vibe dm @stan "does the seam handle retries?"

a DM that outlives both your sessions

vibe status shipping

your status, in words

Browser instead of terminal?

API

The server talks to www.slashvibe.dev for presence, message routing, and identity (GitHub OAuth). Protocol compliance is ledgered in PROTOCOL-COMPLIANCE.md.

License

MIT

Available Tools

9 tools
vibe_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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleYesWho to message (e.g., @alex)
originNoHow 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'.
messageNoYour message
payloadNoOptional structured data (game state, code review, handoff, etc.)
reply_toNoOptional: Message ID to reply to (creates a threaded reply)
artifact_slugNoOptional artifact slug to share (e.g., "pizza-guide-abc123"). The artifact will be shown as a rich card.
tip_amount_centsNoOptional: Attach an instant USDC tip (100 = $1, 500 = $5, 1000 = $10)

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
topicNoOptional: specific topic (commands, getting-started, troubleshooting)

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleNoOptional: open the full conversation with this person (e.g. "coltrane"). Omit to list all threads.

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleNoRARELY NEEDED - Override your handle (defaults to GitHub username, which is usually what you want)
one_linerNoOPTIONAL - What are you building? Can set this later.

TDQS

A4.5/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleNoYour handle (use your X/Twitter handle). Only needed if not already initialized.
buildingNoWhat you're working on (one line). Only needed if not already initialized.

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
moodYesA mood (shipping, thinking, afk, debugging, pairing, deep, celebrating, struggling, away, back, clear) OR a notification pace (slower, quiet, normal)
messageNoOptional away message (only used with away mood, e.g., "grabbing coffee")

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesThe auth token from browser authentication

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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. 1 tool updatev0.8.25
    • Addedvibe_capabilities
  2. 8 tool updatesv0.8.18
    • Removedvibe_discover
    • Changedvibe_dm6 fields changed
      • addedInput schema / properties / artifact_slug
        Added value: +{
        +  "description": "Optional artifact slug to share (e.g., \"pizza-guide-abc123\"). The artifact will be shown as a rich card.",
        +  "type": "string"
        +}
      • addedInput schema / properties / origin
        Added 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"
        +}
      • addedInput schema / properties / payload
        Added value: +{
        +  "description": "Optional structured data (game state, code review, handoff, etc.)",
        +  "type": "object"
        +}
      • addedInput schema / properties / reply_to
        Added value: +{
        +  "description": "Optional: Message ID to reply to (creates a threaded reply)",
        +  "type": "string"
        +}
      • addedInput schema / properties / tip_amount_cents
        Added value: +{
        +  "description": "Optional: Attach an instant USDC tip (100 = $1, 500 = $5, 1000 = $10)",
        +  "type": "number"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "handle",
        -  "message"
        -]New value: +[
        +  "handle"
        +]
    • Changedvibe_help1 field changed
      • addedInput schema / properties / topic
        Added value: +{
        +  "description": "Optional: specific topic (commands, getting-started, troubleshooting)",
        +  "type": "string"
        +}
    • Changedvibe_inbox1 field changed
      • addedInput schema / properties / handle
        Added value: +{
        +  "description": "Optional: open the full conversation with this person (e.g. \"coltrane\"). Omit to list all threads.",
        +  "type": "string"
        +}
    • Changedvibe_init2 fields changed
      • changedInput schema / properties / handle / description
        Previous 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)"
      • changedInput schema / properties / one_liner / description
        Previous value: -"What are you building? (one line)"New value: +"OPTIONAL - What are you building? Can set this later."
    • Removedvibe_ship
    • Changedvibe_status2 fields changed
      • addedInput schema / properties / message
        Added value: +{
        +  "description": "Optional away message (only used with away mood, e.g., \"grabbing coffee\")",
        +  "type": "string"
        +}
      • changedInput schema / properties / mood / description
        Previous 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)"
    • Addedvibe_token
  3. 9 tool updatesv0.4.10
    • First observedvibe_discover
    • First observedvibe_dm
    • First observedvibe_help
    • First observedvibe_inbox
    • First observedvibe_init
    • First observedvibe_ship
    • First observedvibe_start
    • First observedvibe_status
    • First observedvibe_who

TDQS

A3.8/5.0
Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityMaintained
ResponsivenessResponsive

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

Related MCP Servers

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/VibeCodingInc/vibe-mcp'

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