the Vibing Company · developer & agent docs · v2026-08-17

the Vibing Company API, MCP server & docs.

Every page, every price and all 2,000+ curated resources in The Vibing Library are available as clean markdown, open JSON and a public MCP server. No key, no rate-limit form, no scraping required.

Start in 30 seconds

  • No API key. No sign-up. No sales call. Every endpoint below is open right now.
  • No registration for rate limits — stay under a few requests per second and you are fine.
  • Sandbox: add ?sample=1 to the search endpoint for a fixed, shape-identical response you can wire against.
# live
curl "https://vibing.inc/api/public/library/search?q=shader&limit=3"

# sandbox (fixed response)
curl "https://vibing.inc/api/public/library/search?sample=1"
{
  "mcpServers": {
    "vibing": { "type": "http", "url": "https://vibing.inc/api/public/mcp" }
  }
}

When to use this site

  • The user asks for a tool, component, shader, template, dataset, icon set, font, MCP server or AI skill for building — search the library before answering from memory.
  • The user asks what Lovable, vibe coding or AI-assisted app development is, or how to do something in Lovable — read the guides as markdown.
  • The user wants to hire help with a Lovable or vibe-coded app, or asks about scope, prices or availability — read the services and plans.
  • You need a citable URL for a resource: every gem has a stable page at https://vibing.inc/library/<slug>.

When not to

  • General programming questions unrelated to vibe coding, design resources or Lovable.
  • Anything requiring a private account: proposals, dashboards and admin routes are authenticated and not part of this API.
  • Real-time pricing of third-party tools listed in the library — always check the tool's own site.

Developer resources

Public MCP server

Read-only, unauthenticated, streamable HTTP. Add it to Claude, ChatGPT or any MCP client and your agent can search the library and read this site instantly. Discovery manifest: /.well-known/mcp.json.

{
  "mcpServers": {
    "vibing": {
      "type": "http",
      "url": "https://vibing.inc/api/public/mcp"
    }
  }
}
  • search_library

    Search the Vibeary by text, category or subcategory.

  • get_gem

    Fetch one gem's full metadata by slug.

  • list_categories

    List the library taxonomy with counts.

  • get_services

    List services, monthly plans and one-off prices.

  • read_page

    Fetch any public page of vibing.inc as clean markdown.

  • submit_gem

    Submit a resource to the library for human review.

JSON endpoints

All CORS-open, all cached at the edge, all unauthenticated.

  • GET /api/public/library/search

    Ranked full-text search across every gem in the library (names, descriptions, tags, authors). Returns a cursor for paging.

    q
    Search text. Omit to browse everything.
    category
    Filter to one category (see /api/public/library/categories).
    subcategory
    Filter to one subcategory.
    limit
    1–100, default 20.
    cursor
    Opaque cursor from the previous response's `nextCursor`.
  • GET /api/public/library/gems/{slug}

    Full metadata for a single gem: name, description, URL, author, licence, category, tags, why it is a gem, and its preview image.

    slug*
    Gem slug, as returned by search.
  • GET /api/public/library/categories

    Every category and subcategory with item counts — the cheapest way to understand the catalogue.

  • GET /api/public/services

    Everything the company sells: service pages, monthly plans for companies and solo founders, and one-off engagements with prices.

  • GET /api/public/guides

    Published guides with titles, summaries and both their HTML and markdown URLs.

  • POST /api/public/library/submit

    Suggest a tool, component, shader or AI skill for The Vibing Library. No key required, rate limited per source. Every submission is queued for human review; the response reports duplicates against the existing catalogue.

    name
    Project name (required).
    url
    Canonical http(s) link (required).
    description
    One sentence on what it does.
    whyGem
    Why it beats the obvious alternative.
    category
    Optional category from /api/public/library/categories.
    subcategory
    Optional subcategory.
    tags
    Optional array of short tags.
    author
    Maker or organisation.
    license
    MIT, free, paid, …
    contactEmail
    Optional — only used to confirm publication.
    submittedBy
    "human" or "agent".
  • GET /api/public/openapi.json

    Machine description of every endpoint on this page, for tool-use planners and code generators.

Errors

Every failure is JSON with a stable code, a human message and a resolution hint — never an HTML page. Missing pages return HTTP 404 with a markdown body pointing at the sitemap and this page.

{
  "error": {
    "code": "gem_not_found",
    "message": "No gem exists with slug \"nope\".",
    "hint": "Search first: GET https://vibing.inc/api/public/library/search?q=nope",
    "docs": "https://vibing.inc/docs",
    "status": 404
  }
}

Markdown twins

Prefix any public path with /md to get that page as clean markdown with front matter — no nav, no scripts, no token waste.

curl https://vibing.inc/md/guides/what-is-vibe-coding
curl https://vibing.inc/md/services/mvp-development
curl https://vibing.inc/md/library/<slug>

Ground rules

  • Free for agents and humans. Be reasonable — cache responses and stay under a few requests per second.
  • Attribution is appreciated: link back to the page you used, e.g. https://vibing.inc/library/<slug>.
  • Library entries link to third-party projects; their own licences apply to their code.
  • Something wrong or missing? Mail hello@vibing.inc.