VibeFix
Server Details
Tests your live app like a first customer, free. One exact fix to paste in your builder, re-tested.
- Status
- Healthy
- Uptime
- 43.1% over 41 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- yos88da/vibefix-mcp
- GitHub Stars
- 0
TDQS
Scored across 4 tools
Each tool targets a distinct phase: triage, obtaining a sign-up check link, checking repair status, and listing projects. assess_broken_app and get_fix_options both concern sign-up problems, but the latter is explicitly a follow-up read-only check link, so boundaries are mostly clear.
All four tools follow a consistent snake_case verb_noun pattern: assess_broken_app, check_repair_status, get_fix_options, and list_projects. No mixed conventions or vague verbs are present.
Four tools are well-scoped for a service that triages, routes, and reports on app repairs. Each tool earns its place with no obvious redundancy or missing count pressure.
The surface covers triage, routing to an external sign-up check, listing projects, and reading repair status. However, there is no tool to start, approve, cancel, or get details of a repair, so the lifecycle has notable gaps—especially when status is 'waiting for their approval'.
Available Tools
4 toolsassess_broken_appAssess a broken AI-built appARead-onlyInspect
Triage a problem in a live app built with an AI app builder (Lovable, Base44, Bolt, Replit, v0 or similar). The most common one: new people can't sign up. The confirmation email never arrives, its link opens localhost or the preview, sign-up loops back or shows an error, or Google sign-in fails. It also covers blank pages, buttons that do nothing, payments and data that won't save. Returns the most likely cause, the evidence that would confirm it, and what a fix involves. Call it when someone describes a problem in a web app they built and can't debug themselves. Do NOT call it for code you can read and fix directly, or for a library or framework question.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | The public URL of the deployed app, if there is one. Never a private or internal address. | |
| symptom | Yes | What goes wrong, in the words the person used. "The save button does nothing", "it shows a blank white page after login". | |
| platform | No | The builder it was made with, if known: lovable, base44, v0, bolt, replit, other. |
Output Schema
| Name | Required | Description |
|---|---|---|
| platform | No | |
| next_step | Yes | |
| confidence | Yes | |
| likely_cause | Yes | |
| evidence_to_confirm | Yes | |
| what_a_fix_involves | No | |
| what_this_assessment_cannot_know | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful behavior context: it produces a probable cause, confirming evidence, and a fix sketch rather than a fix itself, which sets expectations for a triage-only 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?
The lead sentence states purpose and scope immediately, followed by examples, return shape, and the call/no-call rule. The symptom inventory is long but each item maps to a real routing decision, so it is mostly earned; trimming a few redundant examples would tighten it.
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 an output schema present, return values need no explanation, yet the description still summarizes what comes back. Scope, exclusions, platform coverage, and the required symptom phrasing are all present, leaving nothing an agent needs in order to call this 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?
Schema description coverage is 100%, so the baseline is 3. The description earns an extra point by enumerating the symptom families (signup email not arriving, localhost links, sign-in loops, blank pages, dead buttons, payments/data not saving) that tell the agent how to phrase the required symptom parameter.
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 names a specific verb (triage) and resource (a problem in a live app built with an AI app builder), enumerating the platforms and the concrete failure classes it covers. An agent can distinguish this from a generic debugging or code-fixing tool without opening the schema.
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 a clear call condition (someone describes a problem in a web app they built and can't debug themselves) and an explicit exclusion (code you can read and fix directly, library/framework questions). It stops short of naming the sibling get_fix_options as the alternative, which is the only missing piece for a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_repair_statusCheck what a repair is doingARead-onlyInspect
Report the current state of one project on the signed-in VibeFix account: whether a repair is running, waiting for their approval, or finished. Use the project id from list_projects.
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | From list_projects. |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| project | Yes | |
| active_run | No | |
| updated_at | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds meaningful behavioral context: it operates on the signed-in VibeFix account and reports which of three lifecycle states the repair is in, which helps an agent interpret a status-polling call rather than a mutation.
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 purpose before the parameter hint. Every clause earns its place and nothing is padded.
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?
An output schema exists so return values needn't be explained, and the annotations cover the read-only safety profile. The description is complete for a single-parameter status poll, with only a minor gap around whether/how often it should be re-polled.
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?
Only one parameter exists and schema coverage is 100% — the schema already says 'From list_projects.' The description repeats that sourcing hint without adding format, scoping, or error semantics, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Report the current state of one project') and enumerates the exact conditions reported (running / awaiting approval / finished). This distinguishes it from sibling tools like assess_broken_app and get_fix_options, which concern diagnosing and choosing fixes rather than reading repair state.
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 tells the agent where the parameter comes from ('Use the project id from list_projects') but gives no explicit when-to-use-vs-alternative guidance — it never says when to call this versus get_fix_options or assess_broken_app. Usage is only implied by the scope ('one project').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fix_optionsGet the options for fixing an appARead-onlyInspect
Returns the link to a sign-up check of a live app on vibe-fixer.com. An AI agent signs up as a brand-new person with a real inbox, on a phone and a computer, and reports whether a new person can finish signing up, plus anything else a first customer would hit. It also says how the fix works and what the person provides. Read-only: it starts nothing, charges nothing and does not contact the app. Call it when the person wants their live app checked or fixed, for example after assess_broken_app.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | The public URL of the deployed app, if known. Never a private or internal address. |
Output Schema
| Name | Required | Description |
|---|---|---|
| limits | Yes | |
| test_link | Yes | |
| how_it_works | Yes | |
| what_the_person_provides | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false; the description reinforces this and adds real value by stating it "starts nothing, charges nothing and does not contact the app", which addresses cost and side-effect concerns an agent would otherwise have to guess at. It stays consistent with the annotations rather than contradicting them.
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 deliverable and the read-only constraint are front-loaded, and the usage trigger lands in the final sentence. The middle sentence describing the simulated sign-up is wordy, but each sentence does carry information that helps selection.
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?
An output schema exists, so return values need no explanation, and the description covers what the tool does, what it costs and when to call it. The remaining gap is the relationship and sequencing with assess_broken_app, which is only hinted at by "for example after".
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 single url parameter is fully documented in the schema, including the public/private-address restriction. The description only refers to "a live app" generically and adds no format or sourcing guidance beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete deliverable (a link to a sign-up check on vibe-fixer.com) and spells out what that check covers, which explains the otherwise opaque name 'get_fix_options'. It names the sibling assess_broken_app as the natural predecessor, giving an agent enough to separate the two, though the split of labor between them is only implied.
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?
"Call it when the person wants their live app checked or fixed, for example after assess_broken_app" gives an explicit trigger condition and positions the tool after its sibling. No when-not-to-use or unsupported-case guidance is offered, so it stops 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.
list_projectsList the projects on this VibeFix accountARead-onlyInspect
List the apps connected to the signed-in person's VibeFix account, with the status of each. Call this when they ask what VibeFix is working on, which of their apps are connected, or before checking on a specific repair.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| projects | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds account scoping ('signed-in person's') and that per-app status is included, which is modest but real added context; it does not describe pagination or result size.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero filler: the first states what is listed and returned, the second states when to call it. The scoping constraint is 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?
With an output schema present, return-shape details are not the description's burden, and annotations carry the safety profile. For a zero-parameter list tool the description covers purpose, scope and call conditions completely.
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 takes no parameters, so the baseline of 4 applies; there is no parameter syntax for the description to clarify or omit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (apps connected to the signed-in person's VibeFix account) plus what is returned (the status of each). An agent can distinguish this inventory call from the repair-specific siblings without opening a schema.
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?
Gives explicit trigger conditions — the user asking what VibeFix is working on, or which apps are connected — and adds a sequencing cue ('before checking on a specific repair') that routes to check_repair_status. Nothing is left to inference.
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.
2 tool updates
- Added
check_repair_status - Added
list_projects
1 tool update
- Changed
get_fix_options2 fields changed- removed
Output schema / properties / pricing_infoRemoved value: -{ - "type": "string" -} - changed
Output schema / requiredPrevious value: -[ - "test_link", - "how_it_works", - "pricing_info", - "what_the_person_provides", - "limits" -]New value: +[ + "test_link", + "how_it_works", + "what_the_person_provides", + "limits" +]
1 tool update
- Changed
get_fix_options3 fields changed- removed
Output schema / properties / plansRemoved value: -{ - "items": { - "additionalProperties": false, - "properties": { - "billing": { - "enum": [ - "monthly", - "one-time" - ], - "type": "string" - }, - "credits": { - "type": "number" - }, - "name": { - "type": "string" - }, - "price_usd": { - "type": "number" - } - }, - "required": [ - "name", - "price_usd", - "billing", - "credits" - ], - "type": "object" - }, - "type": "array" -} - added
Output schema / properties / pricing_infoAdded value: +{ + "type": "string" +} - changed
Output schema / requiredPrevious value: -[ - "test_link", - "how_it_works", - "plans", - "what_the_person_provides", - "limits" -]New value: +[ + "test_link", + "how_it_works", + "pricing_info", + "what_the_person_provides", + "limits" +]
1 tool update
- Added
get_fix_options
1 tool update
- Changed
assess_broken_app1 field changed- added
Output schema / properties / platformAdded value: +{ + "type": "string" +}
1 tool update
- First observed
assess_broken_app
Related MCP Connectors
A flock of AI users tests your deployed app and reports where real people get stuck, with fixes.
AI users run real tasks on your live site and show where they get stuck, with a replay of every step
AI QA tester — real browsers scan sites for bugs, SEO, perf, and accessibility issues via chat.
Watches your live app, explains every problem in plain language and writes the fix prompt.
1
Related MCP Servers
- AlicenseAqualityDmaintenanceSimulates real users navigating your app and delivers qualitative UX feedback, including persona-driven testing, auto-friction detection, and WCAG accessibility audits.1483 npm2MIT
- AlicenseNot gradedqualityCmaintenanceYour AI coding agent tests pages, copy, and flows on simulated users while building.208 npm1MIT

Debugg AI MCPofficial
AlicenseAqualityAmaintenanceZero-Config, Fully AI-Managed End-to-End Testing for all code gen platforms.8441 npm68Apache 2.0
Menso MCP Serverofficial
AlicenseNot gradedqualityCmaintenanceEnables AI clients to launch real purchase or signup test runs against a live public URL and then fetch run status, scored findings with friction points and suggested fixes, and a public replay of every step taken. It works over Streamable HTTP with an API key, so no installation is needed in Claude Code, Cursor, Windsurf or any compatible client.35 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.