Skip to main content
Glama

golive-mcp

npm CI License: MIT

Check a site before you share the link.

You deploy, paste the link into LinkedIn, and get a grey box with no image. Or someone refreshes /pricing and gets a Vercel 404. golive catches both before anyone sees them, plus the staging noindex you forgot and the Vite logo still sitting in the tab.

It runs as an MCP server, so Claude, Cursor or any MCP client can check a URL after deploying and fix what it finds. It also runs as a plain CLI. No API key, no account.

What it found on a fresh Vite app

This is a React app straight out of npm create vite, built, and served by a host with no SPA fallback. Real output, trimmed:

$ npx golive-mcp check http://localhost:4791 /about

Not ready: 2 blocking, 10 to look at, 4 fine.

## Link previews
✗ og:image: No preview image. On LinkedIn, X and iMessage the link becomes a plain grey text card.
  Fix: Add a 1200x630 image: <meta property="og:image" content="https://yoursite.com/og.png">
! og:title: Missing. Platforms fall back to the <title> ("demo"), which is often not what you want shared.
! twitter:card: Missing. X reads your og: tags but only shows a small thumbnail without this.

## How the link will look
LinkedIn: [no image] / demo / localhost:4791
X: small square thumbnail (no twitter:card tag) / demo / localhost:4791
Slack: localhost:4791 / demo / (none) / [no image]

## Routes
✗ link /about: Opening /about directly returns 404. It works when clicked inside the app,
  but breaks on refresh, bookmark or share.
  Fix: Configure the host to serve index.html for unknown paths, so the client router can take over.

On Vercel the fix line names the exact vercel.json rewrite. On Netlify it names the _redirects line.

Related MCP server: RGate MCP

Install

Claude Code

claude mcp add golive -- npx -y golive-mcp

Claude Desktop, Cursor, Windsurf (add to the MCP config file)

{
  "mcpServers": {
    "golive": { "command": "npx", "args": ["-y", "golive-mcp"] }
  }
}

No MCP client

npx golive-mcp check yoursite.com
npx golive-mcp check localhost:5173 /about /pricing

The CLI exits with code 1 when anything is blocking, so it drops into CI as a pre-launch gate.

Then ask your assistant something like "I just deployed, check https://mysite.com before I post it" and it will run the checks and fix the findings in your code.

Tools

Tool

What it checks

golive

Everything below in one pass, with a verdict

check_link_preview

og and Twitter card tags, and whether the image loads, is a raster format, is about 1200x630 and is under 5 MB. Shows how the card will look on LinkedIn, X, Slack, iMessage and Discord, and returns the image itself so the model can look at it

check_routes

Opens internal links directly, the way a refresh or a shared link does. Catches the SPA 404 and soft 404s

check_basics

Template titles, the Vite favicon, noindex or Disallow: / left from staging, viewport, lang, apple-touch-icon, mixed content

check_security_headers

HTTPS and the http redirect, HSTS, nosniff, clickjacking protection, CSP, Referrer-Policy, X-Powered-By

Every tool takes a url. golive and check_routes also take paths, a list of routes to open directly. Client-rendered apps have no links in their HTML, so pass your real routes to test them.

Limits

  • The platform mockups are text, not screenshots. Titles get cut by pixel width, so the cut-off points are a guide.

  • golive reads the HTML your server sends. It does not run JavaScript, which is also what LinkedIn, Slack and the other scrapers do, so a tag that only appears after React renders is a tag they never see.

  • It can check localhost, which is the point: run it before you deploy. It only speaks http and https, caps every response at 5 MB and times out after 10 seconds.

  • Text quoted from the page (titles, header values) is truncated before it reaches the model, which limits how much a hostile page can inject into your assistant's context.

Development

npm install
npm test        # 28 tests against local fixture servers
npm run build
node dist/index.js check example.com

License

MIT

Available Tools

5 tools
check_basicsCheck launch basicsA

Check the things that get forgotten at launch: template titles like 'Vite + React', the Vite favicon, missing meta description, viewport and lang, apple-touch-icon, noindex or robots.txt left on from staging, and mixed content.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe page to check: a live URL, a preview deployment, or a local dev server like http://localhost:5173

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full burden of behavioral disclosure. 'Check' clearly implies a read-only, non-mutating operation, and the description discloses what is inspected. However, it does not describe the return behavior, such as whether it reports a pass/fail list or throws on mixed content, which would add transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence that immediately states the purpose and uses a compact list of concrete examples. Every phrase earns its place, and the examples make the scope vivid without padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given only one fully documented parameter and no output schema, the description is largely complete for selecting and invoking the tool. It clearly defines what the tool checks, though it stops short of describing the result format, which is a minor gap in the absence of an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already fully documents the url parameter, including acceptable values like a live URL, preview deployment, or localhost. The description adds no additional parameter semantics beyond what the schema provides, matching the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Check') and a clearly scoped resource ('the things that get forgotten at launch'), then enumerates concrete examples such as the Vite favicon, missing meta description, and robots.txt. This itemized scope distinguishes it from sibling tools like check_security_headers or check_routes without needing to name them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'at launch' gives clear contextual timing for when this tool is relevant, and the list of checks implies this is the go-to tool for common launch oversights. It does not explicitly name alternatives or say when not to use it, but the context is strong enough to route an agent correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_routesCheck sub-pages survive a refreshA

Open a site's internal links directly, the way a refresh, bookmark or shared link does. Catches the single-page-app 404 (works when clicked, breaks on refresh) and names the host-specific fix, e.g. the vercel.json rewrite. Also checks that made-up URLs return a real 404.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe page to check: a live URL, a preview deployment, or a local dev server like http://localhost:5173
pathsNoExtra paths to open directly, e.g. ["/about", "/pricing"]. Use this for client-rendered apps whose links are not in the HTML.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It discloses that the tool opens links, detects SPA refresh failures, names host-specific fixes, and validates 404 behavior. This is meaningful beyond what the schema shows, though it does not detail output formatting or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but efficient, front-loading the core purpose in the opening sentence and adding valuable capabilities without fluff. Every clause contributes useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter tool with fully documented schema and no output schema, the description gives enough context for an agent to select and invoke it correctly. It could more explicitly state what output format to expect, but the behavioral purpose is well covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description does not add parameter-specific detail beyond the schema, which already explains URL, live/preview/local usage, and optional extra paths for client-rendered apps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verbs and objects: it opens internal links directly, catches single-page-app 404s, names host-specific fixes, and checks that made-up URLs return real 404s. This clearly distinguishes check_routes from generic link/preview-related sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives strong context: use this when needing to verify that internal routes survive refresh, bookmarks, or shared links, especially for SPAs. It does not explicitly name alternatives or when-not-to-use scenarios, but the use case is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_security_headersCheck security headersA

Check HTTPS, the http to https redirect, HSTS, nosniff, clickjacking protection, CSP, Referrer-Policy and X-Powered-By on a URL, each with the header to add.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe page to check: a live URL, a preview deployment, or a local dev server like http://localhost:5173

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It clarifies that the tool performs multiple checks and returns the header to add for each, which is useful. But it does not disclose whether it makes live network requests, whether it is read-only, or what happens when a URL is unreachable or returns non-HTTP responses.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one tight, front-loaded sentence that lists the checks and the output nature ('each with the header to add') without any filler. Every part earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with no output schema, the description is largely complete: it names the input, the full set of checks, and the nature of the output. It could be more explicit about the result format or failure behavior, but those are minor gaps given the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents the single url parameter at 100% coverage, including examples like localhost dev servers. The description adds little beyond 'on a URL', 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Check') and a precise resource/scope: security headers on a URL, enumerating HTTPS, redirect, HSTS, nosniff, clickjacking, CSP, Referrer-Policy, and X-Powered-By. It also notes the output includes the header to add, which distinguishes it clearly from sibling checks like check_routes or check_link_preview.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use is implied: call this tool when you need to evaluate a URL's security headers and get recommended remediation headers. However, it does not explicitly state when to prefer this over check_basics or other sibling tools, nor does it mention any exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

goliveCheck a site is ready to go liveA

Run every check on a URL before it gets shared or launched: how the link preview will look on LinkedIn, X, Slack, iMessage and Discord (and whether the image loads, is the right size, and is not an SVG), sub-pages that 404 on refresh, noindex or robots.txt left on from staging, template titles and Vite favicons, missing security headers, and http that does not redirect. Returns findings with fixes, text mockups of each platform's card, and the preview image itself. Use it after deploying, before posting a link, or on localhost before pushing.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe page to check: a live URL, a preview deployment, or a local dev server like http://localhost:5173
pathsNoExtra paths to open directly, e.g. ["/about", "/pricing"]. Use this for client-rendered apps whose links are not in the HTML.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden, and it does well: it discloses what the tool checks, the return artifacts (findings with fixes, platform card mockups, preview image), and the broad execution scope. It does not mention potential side effects like external fetches or rate limits, but the behavior is a read-only audit and is well described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but organized: it opens with the general purpose, follows with a colon-delimited list of checks, then covers return values and usage timing. There is minimal filler, though the single long sentence could arguably be broken up for easier scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and lack of an output schema, the description covers the check categories, return format, and practical use cases. The optional paths parameter is only documented in the schema, but that is acceptable since the schema already provides examples and constraints.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both url and paths with examples and constraints. The description reinforces the live/preview/localhost use cases but adds little parameter meaning beyond what the schema provides, which matches the baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb-resource pair ('Run every check on a URL') and lists the concrete coverage areas: link previews, 404 sub-pages, noindex/robots.txt, titles/favicons, security headers, and redirects. This makes it easy to distinguish from the narrower sibling tools like check_security_headers or check_link_preview.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit positive triggers: 'Use it after deploying, before posting a link, or on localhost before pushing.' It does not explicitly say when NOT to use it or name the sibling alternatives, but the 'every check' framing makes the intended all-in-one context clear.

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.

  1. 5 tool updatesv1.0.1
    • First observedcheck_basics
    • First observedcheck_link_preview
    • First observedcheck_routes
    • First observedcheck_security_headers
    • First observedgolive

TDQS

A4.1/5.0

Scored across 5 tools

Disambiguation4/5

Each granular tool has a distinct, well-defined purpose (preview, headers, routes, basics), but the aggregate 'golive' tool intentionally overlaps with all of them, which could cause an agent to call the umbrella tool when only a specific check is needed. The descriptions make the distinction clear, so misselection is unlikely but possible.

Naming Consistency4/5

Four of the five tools follow a consistent 'check_*' verb-noun pattern (check_link_preview, check_security_headers, etc.), but the primary tool breaks the pattern with the single word 'golive'. This is a minor deviation that fits the umbrella tool's purpose, not a chaotic mix of styles.

Tool Count5/5

Five tools is an ideal size for a URL-checking server: one aggregate entry point plus four focused diagnostic tools. Every tool has a clear reason to exist, and there's no bloat or thinness.

Completeness4/5

The tool set covers the core pre-launch concerns: social link previews, security headers, SPA route 404s, and common template/meta oversights. The 'golive' aggregate ensures no dead ends by running everything at once. Minor gaps like performance or accessibility checks exist, but they fall outside the apparent scope.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables scanning web pages and entire domains to identify broken links, checking hyperlinks, images, scripts, and other resources. Provides comprehensive link validation with robots.txt compliance and detailed reporting of link status across single pages or complete websites.
    -
  • A
    license
    A
    quality
    B
    maintenance
    Release gate agents call before they tell users a public website is ready to ship. Scans public websites across security, SEO, accessibility, legal compliance, and sustainability.
    9
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to check whether a public website is crawlable, understandable, and ready for AI search workflows through local-only audits of robots.txt, sitemaps, metadata, and llms.txt.
    3
    72 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Scans public URLs for compliance and security issues such as leaked API keys, exposed files, missing privacy pages, and security headers, helping developers identify gaps before launch.
    MIT