VibeSharing MCP Server
Deploy & Share: Instantly share static HTML pages (share_html), deploy single files or full projects to Vercel/GitHub (deploy_prototype, deploy_files), import GitHub repos (import_repo), register existing URLs (register_prototype), or generate prototypes from design templates (quick_prototype). Validate projects for build issues before deployment (validate_project).
Prototype Management: List, search, update, and delete prototypes; organize them into collections; fuzzy-match deployment targets (resolve_target).
Versions & Variants: View version history (list_versions), fork prototypes to safely explore variants (fork_prototype), and rollback to previous versions (rollback_deploy).
Design Systems: Browse and retrieve organizational design templates (list_templates, get_template) for on-brand prototypes.
Feedback: Retrieve feedback grouped by author (get_feedback), triage items by status/priority/assignee (triage_feedback), auto-generate guided feedback questions (generate_feedback_topics), and close feedback loops with stakeholders (close_feedback_loop).
Research: Set up customer studies with multiple prototypes and optional A/B/C testing (create_campaign).
Context & Collaboration: Sync project context files like CLAUDE.md/AGENTS.md (sync_context), upload source code for teammates (upload_source), and manage reference links (Figma, PRDs) with add_context_link, list_context_links, remove_context_link.
Diagnostics & Support: Run health checks (diagnose), verify deploy tokens (verify_token), and send support requests (send_support_request).
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@VibeSharing MCP ServerShow feedback for my latest prototype"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
VibeSharing MCP Server
The missing link between your AI coding assistant and your team.
Note for anyone reading this on GitHub: erova/vibesharing-mcp is a read-only mirror, published automatically on each release. Pull requests against it will be overwritten by the next sync. To report a bug or request a change, please open an issue or write to hello@vibesharing.app.
Build prototypes with Claude Code, Cursor, or any AI tool — then instantly share them with your team for feedback. No context switching. No copy-pasting URLs. Just ship and collaborate.
Quick Start
1. Get Your Token
Sign up at vibesharing.app, then go to Account Settings to:
Copy your deploy token — starts with
vs_Connect your GitHub account (optional) — enables Push to Deploy
2. Connect Your Editor
Cursor / Windsurf / Claude Desktop (recommended — always up to date):
{
"mcpServers": {
"vibesharing": {
"url": "https://vibesharing.app/api/mcp",
"headers": {
"Authorization": "Bearer vs_YOUR_TOKEN"
}
}
}
}Add to .cursor/mcp.json (Cursor) or ~/Library/Application Support/Claude/claude_desktop_config.json (Claude Desktop).
Claude Code:
claude mcp add vibesharing -s user \
-e VIBESHARING_TOKEN=vs_YOUR_TOKEN \
-- npx -y @vibesharingapp/mcp-server@latestThen restart your editor. That's it.
3. Start Sharing
You: "Share this page on VibeSharing"
You: "Deploy this to the Product Redesign collection"
You: "What feedback came in on the dashboard?"Related MCP server: Colab MCP
What You Can Do
Share a static HTML page instantly
"Share this HTML file on VibeSharing"One command. No Vercel, no GitHub, no React wrapper. Your HTML page goes live with a feedback widget built in. CSS, SVGs, and images are auto-bundled into a self-contained file.
Deploy full projects
"Deploy this to VibeSharing in the Hero Use Cases collection as checkout-v3"Claude confirms the collection, names the deployment, and handles everything — GitHub repo, deploy, team registration — in one conversation. Your first three prototypes are hosted on us; connect your own Vercel or Netlify account and the limit disappears.
Match your design system from the first prompt
"Build a settings page using our design system"quick_prototype picks the right template from your org, hands the AI its CSS variables and written design instructions, and deploys — so the prototype is on-brand as it's generated, instead of built generic and retrofitted. Browse what's available with list_templates.
Go through feedback one person at a time
"What feedback did I get on the checkout flow?"
"Walk me through Jordan's comments"On the local server, open feedback across your recent prototypes is summarized on the first VibeSharing tool call of a session — you find out something is waiting without asking. (Not yet on the remote endpoint.)
Asked without a name, get_feedback groups everything by author — "9 items from 4 people, 6 open" — instead of returning a wall of text. Asked with a name, it walks that person's comments one at a time, each carrying the page it was left on, the pinned position, the question it answered, the replies underneath, and the screenshot itself as an image — so you see what they saw rather than opening a link. You decide per comment whether to build it, skip it, or discuss — and close_feedback_loop tells the person what you did.
Keep every version, and branch safely
"Show me the version history"
"Fork this so I can try a dark variant"
"Roll back to v3"Every deploy is a numbered version with its own immutable URL. fork_prototype copies one to a separate URL so you can explore without touching the original, and rollback_deploy restores any earlier version — for git-based and static prototypes alike.
Put it in front of customers
"Set up a study comparing these three variants"create_campaign bundles several prototypes behind one gated portal with your own questions — star ratings, multiple choice, free text — and supports blind randomized A/B/C ordering so a name like "v2" can't skew a preference test. It lands as a draft; opening it and inviting the cohort stays a deliberate step in the dashboard.
Catch build failures before deploying
"Check this will build before we ship it"validate_project looks for the things that actually break deploys — a missing framework dependency, no build script, conflicting configs — and returns fixes rather than a stack trace after the fact.
Keep context alive across sessions
"Sync my CLAUDE.md to VibeSharing"Your project context persists on VibeSharing, so any team member (or AI session) can pick up where you left off. CLAUDE.md and AGENTS.md auto-sync on deploy.
Troubleshoot issues
"Run a VibeSharing health check"The diagnose tool checks your token, GitHub connection, deploy locks, and recent errors — and auto-fixes what it can. If it can't fix something, send_support_request sends a detailed report to the admin.
Available Tools (31)
Tool | Description |
Deploy & Share | |
| Idea to live URL in one step — picks a design system template, generates on-brand code, deploys |
| Share static HTML instantly — no hosting account, no GitHub. Auto-bundles CSS/SVGs/images. |
| Deploy multi-file projects to GitHub + your hosting provider with named deployments |
| Deploy a single code file directly |
| Import a GitHub repo into VibeSharing |
| Register an already-deployed prototype by URL |
| Check a project will build before deploying — missing frameworks, build scripts, conflicting configs |
Design systems | |
| List your org's design system templates |
| Get a template's CSS variables, starter page, and AI design instructions — call before writing code |
Organize | |
| Fuzzy-match collections and projects — confirms where to deploy |
| Create a new collection |
| List/search all prototypes in your org |
| List/search all collections |
| Rename a prototype or update its description and URL, in place |
| Delete a prototype and its history — irreversible, creator or org admin only |
Versions & variants | |
| Version history — version numbers, file counts, commit info, what can be rolled back |
| Copy a prototype to its own URL to explore a variant; the original is untouched |
| Restore a previous version, for git-based and static prototypes |
Research | |
| Set up a customer study — several prototypes, your questions, optional blind A/B/C ordering |
Feedback | |
| Feedback grouped by author, or one person's comments as a queue with full context |
| Update status, priority, or assignee on feedback |
| Create guided feedback questions for reviewers |
| Resolve feedback with a note back to the stakeholder |
Context | |
| Push CLAUDE.md, AGENTS.md, or project notes |
| Upload source code to an existing prototype |
| Attach reference links (Figma, PRDs, docs) |
| List reference links on a collection or project |
| Remove a reference link |
Diagnostics | |
| Health check — token, GitHub, deploy locks, recent errors |
| Send a support request to the admin with context |
| Check that your deploy token is valid |
Remote vs Local
Remote (recommended): Connect to vibesharing.app/api/mcp. Always up to date, no installs, no cache issues. Works everywhere.
Local (advanced): Run via npx. Supports reading files from disk with file_path parameter. Requires Node.js 18+. May need npx clear-npx-cache after updates.
Environment Variables (local only)
Variable | Required | Description |
| Yes | Your deploy token from VibeSharing |
| No | Custom API URL (defaults to https://vibesharing.app) |
Learn More
VibeSharing — Sign up free
Setup Guide — Step-by-step for all editors
Troubleshooting — Common issues and fixes
GitHub — Source code
Stop building in isolation. Start shipping with your team.
Available Tools
21 toolsadd_context_linkA
Attach a reference link or note to a collection or project/prototype. Use this to add links to Figma designs, PRDs, Confluence docs, or free-text notes that provide context for reviewers.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Optional: URL to the reference material (Figma, Confluence, Google Docs, etc.). Omit for free-text notes. | |
| note | No | Optional: Description or notes about this reference | |
| title | Yes | Title for the reference (e.g., 'Design Spec', 'PRD', 'User Flow Diagram') | |
| folder_id | No | Collection (folder) ID to attach the link to. Provide either folder_id or project_id. | |
| project_id | No | Project or prototype ID to attach the link to. Provide either folder_id or project_id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It discloses the action ('Attach') but gives no information on side effects, permissions, or what happens when both folder_id and project_id are provided. The lack of any behavioral detail beyond the core action is a significant 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?
Two sentences, front-loaded with the primary action and target, then a succinct list of use cases. Every sentence contributes value and there is no fluff or repetition.
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 description covers what the tool does and gives usage context, but for a mutation tool with no annotations or output schema, it omits critical details like expected behavior if both target IDs are provided, error handling, or return value. It's adequate but leaves noticeable gaps.
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 the schema already documents all five parameters. The description adds examples of accepted URLs (Figma, Confluence, Google Docs) and clarifies the free-text note use case, but it doesn't elaborate on the folder_id/project_id relationship beyond the schema's 'Provide either' instruction. Baseline 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 uses the specific verb 'Attach' and identifies the resource as 'a reference link or note' targeted at 'a collection or project/prototype.' It also lists concrete examples (Figma designs, PRDs, Confluence docs) that distinguish it from sibling tools like remove_context_link and list_context_links.
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 clear use-case guidance ('Use this to add links to Figma designs, PRDs, Confluence docs, or free-text notes') which tells the agent when to invoke it. It doesn't explicitly name alternatives or when not to use it, but the context is unambiguous compared to siblings like sync_context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
close_feedback_loopA
CALL THIS AFTER DEPLOYING when there is open feedback. Matches what you just built to open feedback items, resolves them with explanations, and notifies the original stakeholders with a personalized digest. The stakeholder sees exactly what happened to their feedback.
Flow:
Pull open feedback via get_feedback
Look at what you built and match changes to feedback items
Call this tool with the resolutions
Stakeholders get email: 'Your feedback was addressed' with per-item explanations
| Name | Required | Description | Default |
|---|---|---|---|
| deploy_url | No | Optional: URL of the new deploy (included in notification so stakeholders can see the update) | |
| project_id | Yes | The VibeSharing prototype ID | |
| resolutions | Yes | Array of feedback items to resolve with explanations |
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 thoroughly explains the tool's behavior: it pulls open feedback, matches changes, resolves items with explanations, and notifies stakeholders via email with an exact summary. It also reveals the stakeholder-facing outcome ('The stakeholder sees exactly what happened to their feedback'). This goes well beyond a simple action verb and covers side effects, making it highly 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?
The description is appropriately sized for the tool's complexity. It uses a bold imperative for when to call, a concise flow list, and a stakeholder impact statement. Every sentence earns its place—no fluff or redundancy. The numbered flow improves scannability without wasting words.
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 the tool has 3 parameters, no output schema, and no annotations, the description is remarkably complete. It covers the full workflow, the input expectations (open feedback, resolutions), the side effect (stakeholder notification), and even provides format examples. There is no obvious missing context that would prevent an agent from selecting and invoking this tool 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 covers all parameters (100% coverage), but the description adds meaningful context: it explains that deploy_url is included in the notification, and it gives specific guidance on writing the note for resolutions ('Be specific: 'Nav restructured to separate admin and user flows' not 'Fixed the navigation''). This enriches the meaning of the resolutions parameter beyond the schema description, justifying a score above the baseline.
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 opens with a specific verb+resource: 'CALL THIS AFTER DEPLOYING when there is open feedback. Matches what you just built to open feedback items, resolves them with explanations, and notifies the original stakeholders.' This clearly distinguishes it from siblings like get_feedback (pulling feedback) and triage_feedback (likely categorizing items), establishing a unique purpose.
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 explicit context: 'CALL THIS AFTER DEPLOYING when there is open feedback' and outlines a step-by-step flow starting with pulling feedback via get_feedback. It does not explicitly state when-not-to-use or name alternative tools, but the condition 'when there is open feedback' and the flow provide clear usage guidance. A score of 4 reflects the clear context without full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_collectionA
Create a new collection in your VibeSharing organization. Collections group related projects and prototypes. Use this before deploying a prototype if you need a new collection to put it in.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name for the collection (e.g., 'Hero Use Cases', 'Compliance Hub') | |
| description | No | Optional: Brief description of this collection |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses the creation side effect and adds conceptual context (collections group related projects/prototypes). However, it omits details about permissions, duplicate name handling, or return values. This is minimal viable transparency for a simple create operation.
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?
Three concise sentences with front-loaded action: first sentence states what it does, second gives background, third gives usage. No filler or redundancy.
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 the tool's simplicity (2 params, no output schema), the description provides purpose, background, and a usage scenario. It doesn't explicitly mention the return value after creation, but for a basic create tool this is not a major gap. It is reasonably complete.
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 provides descriptions for both parameters (100% coverage). The tool description adds no extra parameter semantics beyond what the schema already states, so the baseline of 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?
The description clearly states the action ('Create a new collection') and the resource ('in your VibeSharing organization'), and distinguishes itself from siblings like list_collections by emphasizing creation and grouping of related projects/prototypes.
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 gives explicit usage context: 'Use this before deploying a prototype if you need a new collection to put it in.' This tells the agent when to invoke it, though it doesn't mention alternatives or exclusions like checking existence via list_collections.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_filesA
Deploy a multi-file Next.js project to VibeSharing. Pushes files to GitHub, deploys to Vercel. Requires an existing prototype ID. For large files, use file_paths instead of files to read from disk and avoid MCP parameter size limits (~100KB). IMPORTANT: Before calling this, use resolve_target to confirm the target prototype with the user. If the user hasn't specified where to deploy, do NOT proceed — ask first.
| Name | Required | Description | Default |
|---|---|---|---|
| files | No | Array of files to deploy with inline content | |
| file_paths | No | Array of local file paths to read and deploy. Use this instead of files for large files that may exceed MCP parameter size limits. | |
| deploy_name | No | Optional: Friendly name for the Vercel project URL (e.g., 'erg-v3-teams' → erg-v3-teams.vercel.app). On redeploy, renames the Vercel project if different from current name. | |
| prototype_id | Yes | The VibeSharing prototype ID to deploy to | |
| commit_message | No | Optional: Git commit message (default: 'Deploy via MCP') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It discloses side effects (pushes to GitHub, deploys to Vercel), a precondition (requires existing prototype ID), and a resource constraint (parameter size limits). It does not mention what happens on redeploy or failure, but the disclosed traits are significant and not otherwise visible.
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 concise yet information-dense. The core statement is front-loaded, followed by a practical file-size tip and a critical safety check. The IMPORTANT section is warranted and clearly delimits a do-not-proceed condition. No filler words or redundant restatements of the schema.
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 the tool's complexity (5 parameters, no annotations, no output schema), the description covers purpose, prerequisites, parameter selection tips, and user-confirmation requirements. It does not differentiate from the closely named sibling deploy_prototype, nor describe return values, but the coverage is strong for an agent to invoke the tool 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 input schema covers 100% of parameters, so baseline is 3. The description adds semantic value by explaining why file_paths should be chosen over files for large payloads, connecting to the ~100KB MCP limit. This goes beyond the schema's static descriptions and helps the agent make correct parameter choices.
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 opens with a specific verb and resource: 'Deploy a multi-file Next.js project to VibeSharing.' It further clarifies the workflow ('Pushes files to GitHub, deploys to Vercel'), making it distinct from sibling tools like deploy_prototype or upload_source. The scope is clear and unambiguous.
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?
Provides explicit usage guidance: 'For large files, use file_paths instead of files to read from disk and avoid MCP parameter size limits (~100KB).' It also gives a strong prerequisite and in/out condition: 'Before calling this, use resolve_target to confirm the target prototype with the user. If the user hasn't specified where to deploy, do NOT proceed — ask first.' This is actionable and prevents misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deploy_prototypeA
Deploy code directly to VibeSharing. This deploys your code to Vercel and registers it as a prototype in one step. IMPORTANT: Before calling this, use resolve_target to confirm the collection, project name, and deploy name with the user. Do not deploy without user confirmation on where it should go.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The React/Next.js page code to deploy (typically a page.tsx file) | |
| name | Yes | Name for the prototype (e.g., 'Checkout Flow v2') | |
| prototype_id | No | Optional: existing prototype ID to update (creates new if not provided) |
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, but it only states the action and a safety precondition. It does not disclose side effects like overwriting existing prototypes, irreversibility, permission requirements, or return behavior. The warning about user confirmation is a guideline, not a transparency 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?
The description is brief and front-loads the primary action, followed by a crucial usage warning. Every sentence adds value; there is no redundancy 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 performs a significant action (deploy + register) with no output schema or annotations, yet the description doesn't explain what happens after successful deployment (e.g., returned URLs, IDs, or how to verify success). It also omits clarification on the update-vs-create behavior for prototype_id, though the schema covers that parameter. The prerequisite guidance is helpful, but the overall context is incomplete for an agent to know how to proceed after 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?
Schema description coverage is 100%, and the description adds no additional parameter semantics beyond referencing 'code' generically. The schema already documents each parameter well, so this meets the baseline but doesn't 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 clearly states the tool's function with a specific verb ('Deploy') and resource ('code directly to VibeSharing' and 'to Vercel'), and explicitly mentions the combined action of deploying and registering as a prototype. This distinguishes it from sibling tools like register_prototype and deploy_files.
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 explicit usage guidance by requiring resolve_target to be called first and mandating user confirmation before deployment. It gives clear context for when to use the tool, but does not mention alternatives or when-not-to-use scenarios, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diagnoseA
Run a comprehensive health check on the user's VibeSharing setup. Checks token validity, GitHub connection, stuck deploy locks (auto-clears them), recent deploy errors, and prototype status. Use this to troubleshoot issues.
| 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 burden of disclosing side effects. It explicitly mentions the auto-clearing of stuck deploy locks, a non-obvious mutating behavior, which is important for an ostensibly diagnostic tool. It does not mention other potential side effects, but the main behavioral trait is covered.
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, front-loaded with the core purpose, followed by specific checks and a clear usage directive. Every sentence adds value with no fluff or repetition.
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 the tool has no parameters, no annotations, and no output schema, the description covers its actions and side effects well. It lacks an explicit mention of the return format (e.g., a health report), but for a 0-parameter diagnostic tool, it is sufficiently complete for an agent to select and invoke 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 and the schema is empty, so there is no parameter information to add. The baseline for 0 params is 4, and the description provides no parameter-related details because none are needed.
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 a specific verb ('Run a comprehensive health check') on a specific resource ('VibeSharing setup') and enumerates the exact checks performed. This distinguishes it from sibling tools like verify_token or resolve_target that handle individual concerns.
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 a clear use case ('Use this to troubleshoot issues') and implies it is a broad diagnostic tool while siblings are more focused. It lacks explicit exclusions or alternative guidance, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_feedback_topicsA
Auto-generate feedback questions for a prototype based on what was built. IMPORTANT: Before generating questions, ask the user: 'What type of feedback is most important for this deploy?' and present these options:
Awareness only — just sharing progress, no feedback needed
Design direction — brand, visual, layout feedback
Technical feasibility — is this buildable, are these features doable
Vision alignment — does this match where we're going
Interaction design — usability, flow, UX patterns
Full review — all feedback welcome (default)
Use their answer as the 'focus' parameter. If 'awareness', skip topic generation and just set the brief. Otherwise generate 3-5 questions, weighting toward the chosen focus theme.
| Name | Required | Description | Default |
|---|---|---|---|
| brief | No | A short (2-4 sentence) feedback brief explaining what this prototype is and what's ready for review. Stored on the prototype and shown to stakeholders in the Context tab. | |
| focus | No | The type of feedback the designer wants. 'awareness' = no questions, just FYI. Others emphasize that theme. 'full' = all themes equally. Default: 'full'. | |
| topics | No | Array of feedback questions to create. Generate 3-5 based on what you built. Weight toward the focus theme (e.g., if focus is 'feasibility', 2-3 questions should be feasibility-themed). Not required when focus is 'awareness'. | |
| project_id | Yes | The VibeSharing prototype ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It explicitly states the interactive prerequisite (ask user for focus), the conditional behavior (skip generation for 'awareness'), and the generation rule (3-5 questions weighted toward focus). This goes beyond a simple mutation statement.
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 well-structured: a one-sentence summary, an 'IMPORTANT' call-out, a numbered list of focus options, and a concise conditional rule. Every sentence earns its place; the list is necessary because it provides the exact wording to present to the user.
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 description covers the interaction flow, focus handling, and generation guidance. However, it is slightly ambiguous whether the tool itself generates the topics or expects the agent to populate the 'topics' parameter, which is part of the input schema. This missing explicit clarification prevents a perfect score.
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?
Even though schema coverage is 100%, the description adds essential semantics: it maps the user's answer to the 'focus' enum values, explains the 'awareness' special case (skip topics, set brief), and clarifies that topics should be weighted toward the focus theme. This is meaningfully beyond the schema 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?
The description opens with a specific verb and resource: 'Auto-generate feedback questions for a prototype based on what was built.' This clearly distinguishes it from sibling tools like get_feedback (retrieval) and triage_feedback (categorization).
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 clear context and a step-by-step process: ask the user for focus, present options, use the answer as the 'focus' parameter, and generate 3-5 questions. It does not explicitly compare against alternatives, but the workflow implies when this tool should be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_feedbackA
Get feedback and comments for a specific prototype. Can filter by status (open, in_progress, resolved, wont_fix, deferred), priority (critical, high, medium, low), or assignee.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter by status: open, in_progress, resolved, wont_fix, deferred. Comma-separated for multiple. | |
| priority | No | Filter by priority: critical, high, medium, low | |
| project_id | Yes | The VibeSharing project/prototype ID | |
| assigned_to | No | Filter by assignee user ID, or 'unassigned' for unassigned feedback |
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 only states 'get' which implies no mutation, but does not explicitly confirm read-only behavior, access restrictions, or if any state changes occur. There is no mention of what is returned (e.g., fields, ordering, pagination) or any side effects. This lack of detail is a significant gap for a tool with no structured annotation safety hints.
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, well-structured sentence that front-loads the main purpose and then lists all filter options. Every clause carries useful information without redundancy. It is appropriately concise and easy to scan.
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?
While the tool is relatively simple, the lack of an output schema and annotations means the description should explain more about the response shape or any limitations. It covers the main filtering options but does not mention what the returned data looks like, whether comments are included, or how to interpret the results. For a basic get, this is adequate but leaves clear gaps in an agent's understanding.
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 provides 100% description coverage for all four parameters, so the baseline is 3. The description nicely lists the allowed enum values for status and priority, reinforcing what the schema states, but does not add deeper meaning (e.g., 'unassigned' semantics in assigned_to, or how filters combine). No new information beyond the schema.
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 a specific verb ('Get') and resource ('feedback and comments for a specific prototype'), making the tool's purpose unambiguous. It also distinguishes itself from sibling tools like 'triage_feedback' and 'close_feedback_loop' by focusing on retrieval, not processing or mutation.
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 clear context: it is for fetching feedback on a specific prototype with optional filters by status, priority, or assignee. It does not explicitly mention when not to use it or offer alternatives, but the sibling tools (e.g., 'triage_feedback') are obviously different in purpose, so the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_repoA
Import an existing GitHub repo into VibeSharing. Pulls the code into a VibeSharing-hosted repo and deploys it to Vercel. IMPORTANT: Before calling this, use resolve_target to confirm the collection, project name, and deploy name with the user. Do not import without user confirmation on where it should go and what it should be called.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional: Name for the prototype. Defaults to the repo name if not provided. | |
| repo_url | Yes | GitHub repo URL (e.g., 'https://github.com/my-org/my-repo') | |
| deploy_name | No | Optional: Friendly name for the Vercel project URL (e.g., 'erg-v3-teams' → erg-v3-teams.vercel.app). Lowercase, hyphens allowed, max 100 chars. Auto-derived from 'name' if omitted. | |
| description | No | Optional: Description of the prototype. | |
| prototype_id | No | Optional: Existing VibeSharing prototype ID. If not provided, a new prototype is created. | |
| collection_id | No | Optional: Collection (folder) ID to place the prototype in. Use list_collections to find IDs. | |
| parent_project_id | No | Optional: Parent project ID if this is a version/iteration of an existing project. |
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 discloses that the tool mutates state by 'Pulling the code into a VibeSharing-hosted repo and deploys it to Vercel,' and it highlights a critical safety requirement (user confirmation). It does not mention permissions or failure modes, but the provided context—especially the importance warning—is substantial for an import/deploy tool.
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 well-structured sentences plus a bolded IMPORTANT admonition. Every sentence contributes: the first defines the action, the second elaborates on the process, and the third provides critical usage safety. There is no fluff, and the most important instruction is visually emphasized. This is an exemplary concise description.
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 7 parameters, 100% schema coverage, and no output schema, the description adequately covers the tool's flow and key precondition. It tells the agent to use resolve_target first and warns against unconfirmed imports. It doesn't detail what happens after execution (e.g., response format), but with no output schema the description is not required to. The main gap is lack of mention of potential side effects on existing prototypes, but schema covers parameter semantics.
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 each parameter already has descriptive meaning in the schema. The tool description adds minimal new parameter-level information beyond restating default behaviors (e.g., 'Defaults to the repo name' is already in the schema). Thus it meets the baseline but does not slightly exceed it by clarifying relationships between parameters like 'deploy_name' and 'name'.
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 tool imports an existing GitHub repo into VibeSharing, pulls code, and deploys to Vercel. The verb 'import' and specific resource 'GitHub repo' make the primary purpose obvious. It doesn't explicitly differentiate from siblings like upload_source or deploy_prototype, but the combined import+deploy behavior is distinct enough for an agent to recognize its role.
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 explicit when-to-use guidance: 'Before calling this, use resolve_target to confirm the collection, project name, and deploy name with the user.' It also states a clear precondition: 'Do not import without user confirmation on where it should go and what it should be called.' This tells the agent exactly when and under what conditions to invoke the tool, going beyond vague hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_collectionsA
List all collections (folders) in your VibeSharing organization. Use this to find the collection_id when registering prototypes. Optionally filter by search query (fuzzy matched).
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Optional: fuzzy search query to filter collections by name (e.g., 'hero' or 'compliance') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It implies a safe read-only operation ('List all collections') and adds the fuzzy matching behavior for the optional search parameter. It does not mention pagination or rate limits, but that is acceptable for a simple listing tool.
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 concise sentences front-load the primary purpose and then provide usage context and filtering behavior. Every phrase earns its place with no irrelevant 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?
For a simple tool with one optional parameter and no output schema, the description adequately covers what it does, when to use it, and how filtering works. It implies the return includes collection IDs, which is sufficient for the stated use case.
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 the schema already describes the 'search' parameter with examples. The tool description adds little beyond a restatement of the fuzzy matching detail, 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 clearly states the tool lists all collections (folders) in the organization, using the specific verb 'List' and a concrete resource. It also distinguishes itself from siblings like create_collection and list_prototypes by noting its role in finding collection_id for prototype registration.
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 provides explicit context for when to use the tool: 'Use this to find the collection_id when registering prototypes.' It lacks explicit exclusions or mention of alternatives, but this clear use case is enough to guide an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_context_linksA
List all reference links and notes attached to a collection or project/prototype.
| Name | Required | Description | Default |
|---|---|---|---|
| folder_id | No | Collection (folder) ID. Provide either folder_id or project_id. | |
| project_id | No | Project or prototype ID. Provide either folder_id or project_id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. 'List' clearly indicates a read-only operation, but the description does not disclose return format, pagination, or behavior when both IDs are provided. It is minimally transparent but not misleading.
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, clear sentence with no superfluous words. It front-loads the action ('List') and the object ('all reference links and notes'), making it immediately understandable.
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 read-only list tool with two well-documented parameters, the description is mostly complete. However, it does not explicitly mention that exactly one of folder_id or project_id must be provided, though the schema covers this. No output schema exists, but the return value is adequately implied by 'list'.
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%, with each parameter already fully described ('Collection (folder) ID' and 'Project or prototype ID'). The description restates the target types but adds no new parameter-level semantics, warranting the baseline 3 for high schema coverage.
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 identifies the action ('List') and the resource ('reference links and notes') with scope ('collection or project/prototype'). This distinguishes it from sibling tools like add_context_link and remove_context_link, which perform different operations.
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 when you need to view context links for a collection or project, but it does not explicitly state when to use this tool over alternatives or mention exclusions. The schema provides the either/or requirement for IDs, but the description itself lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_prototypesA
List all prototypes in your VibeSharing organization. Shows name, URL, and recent activity. Optionally filter by search query (fuzzy matched).
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Optional: fuzzy search query to filter prototypes by name (e.g., 'erg' or 'dashboard') |
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 discloses the read-only action ('List'), the returned fields, and the fuzzy-match behavior of the filter. However, it lacks explicit statements about side effects, permissions, or edge cases like empty results.
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, front-loaded with the main action, no redundant information. Every word contributes to understanding the tool's purpose and capabilities.
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 explains the primary function, the displayed fields, and the filter behavior, making it fully complete for its complexity.
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 sole parameter 'search' is fully described in the schema with an example, so the schema already provides high coverage. The description adds 'fuzzy matched' which is also in the schema, offering no additional semantics beyond the structured definition.
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 identifies the action (list), the resource (prototypes), and the organizational scope, distinguishing it from sibling tools like list_collections and list_context_links. It also specifies the displayed fields, enhancing clarity.
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 states the primary use case (listing all prototypes in the organization) and an optional filter, giving clear context. It does not explicitly mention alternatives, but the resource-specific naming makes the intended usage obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
register_prototypeA
Register a prototype on VibeSharing. Creates a standalone prototype by default. To add it as a version under an existing project, provide parent_project_id. IMPORTANT: Before calling this, use resolve_target to confirm the collection and project name with the user. Do not auto-generate names without user confirmation. Returns the VibeSharing URL where the team can view and leave feedback.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the prototype (e.g., 'Dashboard Redesign v2') | |
| description | No | Brief description of what this prototype demonstrates | |
| source_code | No | Optional: Source code to upload to VibeSharing. Colleagues can download this from the prototype page. | |
| external_url | No | URL where the prototype is deployed (e.g., https://my-app.vercel.app) | |
| collection_id | No | Optional: ID of collection (folder) to place this prototype in. Use list_collections to find the right ID. | |
| source_filename | No | Optional: Filename for uploaded source (default: 'page.tsx') | |
| parent_project_id | No | Optional: ID of parent project if this is a version/iteration |
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 default behavior (standalone), the versioning option, the user-confirmation requirement, and the return URL. While it doesn't mention every possible side effect, it covers the key behavioral constraints and output clearly.
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?
Three concise sentences, front-loaded with the main action, then conditional behavior, an important note, and the return value. Every sentence earns its place with zero fluff.
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 complex 7-param tool with no annotations or output schema, the description provides essential context: default behavior, versioning option, user-confirmation requirement, procedural prerequisite, and return URL. Since the schema fully documents parameters, the description completes the picture effectively.
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 baseline is 3. The description adds contextual meaning by explaining the two creation modes (standalone vs. parent_project_id) and the resolve_target prerequisite for collection/project, enhancing understanding of parent_project_id and collection_id beyond the schema.
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 'Register a prototype on VibeSharing' with a specific verb and resource, and distinguishes between standalone creation and versioning under an existing project via parent_project_id. This differentiates it from siblings like deploy_prototype and upload_source.
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 explicitly instructs to use resolve_target before calling to confirm collection and project name, and warns against auto-generating names without user confirmation. This provides clear when-to-use guidance and an explicit prerequisite alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_context_linkB
Remove a reference link or note by its ID.
| Name | Required | Description | Default |
|---|---|---|---|
| link_id | Yes | The ID of the context link to remove |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description should clarify whether removal is permanent, reversible, or requires specific permissions. It does none of that. It also introduces ambiguity by saying 'reference link or note' without explaining if these are distinct entities or if both are affected.
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 sentence that states the essential operation without any redundant or filler content. It is concise and front-loaded.
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 single-parameter tool, the core purpose and parameter are clear. However, the lack of usage guidance and behavioral transparency (e.g., permanence, error cases) leaves the description only moderately complete for an agent to invoke correctly in all situations.
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 is fully self-documenting with 100% coverage for the single parameter 'link_id'. The description adds minimal extra meaning beyond confirming the ID is used for removal, so it does not warrant a higher score.
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 ('Remove'), the target resource ('reference link or note'), and the method ('by its ID'). This distinguishes it from sibling tools like add_context_link or list_context_links, which perform different operations.
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?
No guidance is provided on when to use this tool versus alternatives, nor are any prerequisites, exclusions, or typical scenarios mentioned. The description only states the operation, leaving the agent without context to decide when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_targetA
CALL THIS BEFORE deploying or registering a prototype when the user hasn't provided exact IDs. Fuzzy-matches collection and project names, suggests where to put the prototype, and checks deploy_name availability. Returns structured options so you can confirm with the user before proceeding.
| Name | Required | Description | Default |
|---|---|---|---|
| deploy_name | No | Desired Vercel deploy name to check availability for (e.g., 'erg-v3-teams'). | |
| project_name | No | Approximate project/prototype name to search for (e.g., 'ERG v3'). Fuzzy matched. | |
| collection_name | No | Approximate collection name to search for (e.g., 'hero use cases'). Fuzzy matched. |
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 clearly explains that the tool fuzzy-matches names, suggests placement, checks deploy_name availability, and returns structured options for user confirmation. This implies a read-only, pre-flight role and helps the agent avoid using it as a deploy/register action.
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?
Three sentences, all front-loaded with the most critical instruction ('CALL THIS BEFORE...'). Every sentence adds value: when to use, what it does, and what it returns. No fluff or repetition.
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 has three optional parameters, no output schema, and no annotations. The description covers purpose, usage, key behaviors, and the nature of the return value ('structured options'). It lacks explicit detail about return fields or edge cases, but the description is sufficient for the tool's straightforward pre-deployment resolution role.
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 descriptions already cover all three parameters at 100% coverage, including notes that project_name and collection_name are fuzzy matched and that deploy_name is checked for availability. The description adds little parameter-level meaning beyond what the schema provides, so the baseline 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 opens with an explicit directive: 'CALL THIS BEFORE deploying or registering a prototype when the user hasn't provided exact IDs.' It clearly identifies the tool's role as a pre-deployment resolver that fuzzy-matches names, checks availability, and returns options. This distinguishes it from siblings like deploy_prototype and register_prototype.
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 states when to use the tool ('when the user hasn't provided exact IDs' and 'BEFORE deploying or registering'), giving clear context. It does not explicitly name alternatives or state when not to use the tool, but the 'before' phrasing implies the downstream deployment/registration tools are the alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_support_requestA
Send a support request to the VibeSharing admin. Use this when the user has an issue you can't resolve, needs a configuration change, or wants to report a bug.
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | Optional: Session context, error messages, or relevant logs to help debug the issue | |
| subject | Yes | Short subject line for the support request | |
| description | Yes | Detailed description of the issue or request |
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, but it does not mention any side effects, permissions, or expected outcomes. It only states the action and conditions, leaving the user uninformed about what happens after sending (e.g., confirmation, asynchronous processing, rate limits).
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 the first sentence stating the primary purpose and the second providing usage context. Every word is necessary, and the structure is front-loaded and highly concise.
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 description is adequate for a simple tool with a complete schema, but it does not explain what happens after sending a support request or what the user should expect as a response. Since there is no output schema, this missing information leaves a minor gap in completeness.
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 covers 100% of parameters with descriptions, so the baseline is 3. The tool description does not add any additional parameter semantics, but it does not need to since the schema is complete.
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 ('Send a support request') and the target ('to the VibeSharing admin'), which distinguishes it from the sibling tools. The verb 'send' and resource are specific, making the tool's purpose unambiguous.
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 explicit conditions for use: 'when the user has an issue you can't resolve, needs a configuration change, or wants to report a bug.' It does not mention when not to use it or alternative tools, but the 'Use this when...' phrasing gives clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sync_contextB
Sync your CLAUDE.md, AGENTS.md, or project context to VibeSharing. This helps maintain context across AI sessions and team members.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | The context content (typically contents of CLAUDE.md or AGENTS.md) | |
| project_id | Yes | The VibeSharing project/prototype ID to sync context to |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description is the sole source of behavioral info. 'Sync' implies mutation/overwrite but the description doesn't disclose whether it replaces, merges, or how it handles existing context. It also doesn't mention permissions, errors, or return values.
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 concise sentences, front-loaded with the purpose. No fluff; the benefit statement is useful.
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 has no annotations or output schema, so the description must explain behavior, effects, and return values. It only gives a high-level purpose, leaving ambiguity about sync semantics (overwrite vs merge), error handling, and relationship to sibling tools like add_context_link.
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 covers both parameters completely with descriptions, so baseline is 3. The description does not add any parameter-specific semantics beyond what the schema provides.
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 tool syncs project context (CLAUDE.md, AGENTS.md) to VibeSharing, using a specific verb and resource. However, it doesn't explicitly differentiate from sibling tools like add_context_link, so it's clear but lacks sibling distinction.
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 context ('maintain context across AI sessions and team members') implying when to use it, but doesn't offer alternatives or exclusions. No guidance on when to use this over add_context_link or other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
triage_feedbackA
Update status, priority, or assignee on one or more feedback items. Use this to triage feedback from within your editor.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | New status for the feedback items | |
| priority | No | New priority for the feedback items. Omit to leave unchanged. | |
| assigned_to | No | User ID to assign to. Use empty string to unassign. | |
| feedback_ids | Yes | One or more feedback IDs to update | |
| resolution_note | No | Brief explanation of how the feedback was addressed (shown to the stakeholder). Only meaningful when status is resolved/wont_fix/deferred. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must disclose behavior. It only states the basic update operation and bulk capability; it does not mention permissions, reversibility, side effects like stakeholder notifications, or return values. This is a significant gap for a mutation tool.
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, front-loaded with the action, no redundant text. The usage sentence adds context without bloat.
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 and no annotations, the description leaves out return behavior and side-effect expectations. However, the schema fully documents parameters, and the tool's purpose is clear. Adequate but with gaps for a mutation 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 covers all parameters with descriptions and enums. The tool description merely restates three field names without adding usage details. 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 'Update status, priority, or assignee on one or more feedback items'—specific action, resource, and fields, distinguishing it from read or analysis tools like get_feedback and generate_feedback_topics.
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?
Explicitly says 'Use this to triage feedback from within your editor,' giving a clear use case. Does not mention alternatives or when not to use, but the 'Use this' instruction provides enough context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_sourceA
Upload source code for an existing prototype on VibeSharing. Colleagues can then download the source from the prototype page. Use this when you want to share code without deploying it.
| Name | Required | Description | Default |
|---|---|---|---|
| filename | No | Optional: Filename for the source (default: 'page.tsx') | |
| source_code | Yes | The source code to upload | |
| prototype_id | Yes | The VibeSharing prototype ID to upload source code to | |
| storage_option | No | Optional: 'permanent' (default), 'auto-delete' (7 days), or 'delete-on-download' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the transparency burden. It discloses that uploaded source becomes downloadable by colleagues and that the tool does not deploy. However, it does not mention whether the upload replaces existing source, required permissions, or other side effects like storage limits. This is a moderate disclosure 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?
The description is two concise sentences, front-loading the core action and then providing context. No word is wasted, and it reads clearly for an AI agent.
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 upload tool with no output schema and no annotations, the description supplies the key outcome (downloadable source) and the use case (sharing without deployment). It lacks details on failure handling or overwrite behavior but remains largely complete for a tool of this complexity.
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 covers 100% of parameters with descriptions, so the baseline is 3. The description's mention of 'source code' and 'without deploying it' adds minimal parameter-level meaning beyond what the schema already provides. It does not explain storage option nuances or default behavior beyond schema 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?
The description clearly states the verb ('Upload') and the resource ('source code for an existing prototype on VibeSharing'). It also distinguishes this tool from deployment-focused siblings by explicitly saying 'without deploying it', making its purpose unambiguous.
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 explicit usage guidance: 'Use this when you want to share code without deploying it.' This directly instructs when to invoke the tool and implies that deployment tools should be used for deploying. It provides a clear context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_tokenA
Verify that your VibeSharing deploy token is valid. Use this to check connectivity and authentication before other operations.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 states the tool checks connectivity and authentication, but does not disclose what happens on invalid token (e.g., error, return value) or whether it makes network calls. This is adequate but not rich.
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, front-loaded with the action and resource, and every word adds value. No filler or repetition.
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, zero-parameter tool with no output schema, the description is complete: it explains what it does, when to use it, and implies it is a pre-flight check. It could mention the result format, but that is not critical for an agent to invoke 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 input schema is empty (0 parameters), and schema description coverage is 100%. The baseline for 0 params is 4, and the description adds no parameter-specific details because none exist. It appropriately keeps the description focused on the tool's behavior.
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 a specific verb ('Verify') and resource ('VibeSharing deploy token'), making the tool's purpose unambiguous. It is distinct from all sibling tools, which focus on deployment, listing, or context operations.
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 says 'Use this to check connectivity and authentication before other operations,' providing clear when-to-use guidance. It does not explicitly list alternatives or exclusions, but for a token verification tool with no parameters, this is sufficient.
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.
21 tool updates
v0.9.3- First observed
add_context_link - First observed
close_feedback_loop - First observed
create_collection - First observed
deploy_files - First observed
deploy_prototype - First observed
diagnose - First observed
generate_feedback_topics - First observed
get_feedback - First observed
import_repo - First observed
list_collections - First observed
list_context_links - First observed
list_prototypes - First observed
register_prototype - First observed
remove_context_link - First observed
resolve_target - First observed
send_support_request - First observed
share_html - First observed
sync_context - First observed
triage_feedback - First observed
upload_source - First observed
verify_token
TDQS
Scored across 21 tools
Most tools have clearly distinct purposes (e.g., list vs. create vs. deploy vs. share), but the deploy/share family (deploy_prototype, deploy_files, share_html, import_repo) could be misselected without careful description reading. The descriptions are detailed enough to disambiguate, but the overlapping actions of deploying and registering create minor ambiguity.
All tool names follow a consistent verb_noun snake_case pattern (e.g., list_prototypes, create_collection, send_support_request). Even multi-word names like close_feedback_loop and generate_feedback_topics maintain the convention. No camelCase or mixed styles detected.
With 21 tools, the server is at the 'heavy' end of the borderline range. While each tool appears to serve a distinct purpose, the count feels substantial for a typical MCP server, and an agent may need to scan many options before choosing.
The server covers a wide range of operations: authentication, deployment, sharing, feedback triage, context management, and diagnostics. However, there are notable gaps: no update or delete operations for prototypes or collections, and no get-by-ID function for prototypes. These limitations could force agents to work around them.
Maintenance
Related MCP Connectors
- OolkinOAuthcom.oolkin
AI colleagues that keep your standards, your project and their reasoning between sessions
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
- ParleyOAuthdev.weldra
Coordination hub for AI coding agents: message teammates, ask humans, audit every event.
- OneLoreOAuthai.onelore
Shared project context for AI agents and teams: docs, tasks, and messages that stay current.
Related MCP Servers
- AlicenseBqualityDmaintenanceGives AI coding assistants persistent memory, safety controls, and project awareness by tracking coding sessions, protecting critical files from modifications, and managing approval workflows with automatic changelog generation.1914 npmMIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI coding assistants like Claude Code, Cursor, and Codex to share chat logs, terminal history, and session context with each other. Eliminates the need to re-explain context when switching between different AI coding tools.2MIT
- AlicenseNot gradedqualityBmaintenanceBridges disconnected AI sessions with persistent project memory and automatic session handoff, integrating GitHub workflows for context-aware development.186 npm20MIT
- FlicenseNot gradedqualityDmaintenanceEnhances AI-assisted development with intelligent context, team awareness, and automated workflow orchestration, enabling a senior developer-like pair programming experience.-