HollahoopHollahoop
MCPAI Agents · Model Context Protocol

Run Hollahoop from the agent you already use.

Connect Claude, Cursor, ChatGPT, Codex, or any MCP-compatible client to Hollahoop. Triage feedback, update the roadmap, or publish an Update with a single sentence to your agent. No install, no SDK, just a URL and a token.

POSThttps://hollahoop.app/mcp
claude - hollahoop-mcp
Claude Code 1.4.2 · connected to hollahoop-mcp · 2 read · 2 write
  • Publish an update for what shipped this week. Keep it concise.
Workflows

One sentence moves the whole loop.

Feedback, roadmap and Updates are downstream of the same post status, so a single instruction to your agent cascades through all three. Three flows real Hollahoop teams run today:

01

Monday triage

“Close anything that looks like spam, tag the rest by area, and move the real ones into Reviewing.”

hollahoop::list_postshollahoop::update_post_statushollahoop::comment_on_post

A weekend backlog ranked, deduped and moved into the right column before standup - without ever opening the dashboard.

02

Ship-day Update

“Anything completed this week without an Update yet? Draft one in our voice, link the voters, and hold it for review.”

hollahoop::list_postshollahoop::publish_changeloghollahoop::list_changelog

A draft Update waiting for your review, every shipped post linked, voters queued to receive the email when you hit publish.

03

Doc the FAQ

“For every post tagged `docs` in the last month, draft a doc page that answers the question and link back to the original feedback.”

hollahoop::searchhollahoop::list_postshollahoop::upsert_doc_page

A backlog of documentation drafts, each one grounded in real user wording, queued for one-click publish from the Docs admin.

Why MCP

A thin protocol, a full product surface.

The Model Context Protocol is the language AI clients have settled on for reaching into other tools. Hollahoop speaks it natively, over HTTP, at hollahoop.app/mcp.

  1. 01

    No install

    Remote HTTP endpoint at hollahoop.app/mcp. No local package, no bridge process, no SDK. Paste a URL into your client config and you are done.

  2. 02

    Full surface

    Every MCP tool maps one-to-one to a Hollahoop API call, generated from the same schemas the dashboard uses. No stripped-down subset - an agent can do whatever a teammate with the same token could do.

  3. 03

    Standard bearer auth

    Tokens from Settings → API. Each one is scoped to a single org, carries explicit read or write permission, and is revocable from the same screen anytime. Nothing magic, nothing proprietary.

  4. 04

    Any client

    Cursor, Claude Code, Claude Desktop, ChatGPT, Codex, Windsurf, Copilot, Gemini today. Anything that supports remote HTTP MCP tomorrow - same URL, same auth.

Tool catalog

Everything your agent can do, on one page.

The MCP server exposes 45 tools, generated from the same schemas the dashboard uses. Read tools work with any token; write tools require a token with the write scope.

Read

· 19

Browse, search, fetch - safe for any agent.

  • list_projects

    List every project the API key can see (scoped to a single Hollahoop organisation).

  • list_boards

    List feedback boards on a project (e.g. feature-requests, bugs, general).

  • list_statuses

    List the post-status workflow for a project (Open / Planned / In progress / Shipped / Declined and any custom ones).

  • list_tags

    List feedback tags for a project (slug, label, color).

  • list_surveys

    List survey campaigns on a project (NPS / CSAT), including response_count and summary_score.

  • get_survey

    Get one survey campaign with summary_score, response_count, and recent responses.

  • list_tickets

    List support inbox tickets for a project. Spam is hidden unless status=spam. Most recently active first.

  • get_ticket

    Get one support ticket and its messages (oldest first), scoped to a project.

  • list_posts

    List feedback posts on a project, optionally filtered by board and/or status. Default sort is by vote count.

  • get_post

    Fetch a single post by id, including its comments.

  • list_comments

    List comments on a feedback post, oldest first. Use limit and offset to paginate; get_post also returns comments inline.

  • list_changelog

    List changelog / Updates entries for a project (drafts and published).

  • get_changelog

    Fetch a single changelog / Updates entry by id or slug.

  • list_docs

    List documentation pages for a project, grouped by section. Use the `visibility` filter to scope to public or internal pages.

  • get_doc

    Fetch a single documentation page by id or slug, including Markdown body. When using a slug, scope with locale and version to match list_docs / upsert_doc_page.

  • search

    Free-text search across posts, changelog entries, and docs for a project. Uses PostgreSQL full-text search (ts_rank) when available, with ILIKE fallback. Semantic pgvector search is on the roadmap.

  • get_status_page

    Read the public status page payload for a project (components + recent incidents). Requires the project status page to be enabled. Useful for embedding status in dashboards.

  • list_status_subscribers

    List email subscribers who opted in on the public status page (newest first). Project members only; unsubscribe tokens are never returned.

  • list_domains

    List custom hostnames for a project, including TXT challenge values for pending rows.

Write

· 26

Mutating actions - gated by the write scope.

  • create_project

    Create a new project under this API key’s organisation. Returns the project plus the URL of its public board. Default boards, statuses, changelog tags, and docs section are auto-seeded.

  • create_tag

    Create a feedback tag on a project.

  • delete_tag

    Delete a feedback tag from a project. Removes the tag from all posts that used it.

  • set_post_tags

    Replace the tags on a feedback post (full set). Pass an empty tag_ids array to clear.

  • create_survey

    Create an NPS or CSAT survey campaign on a project. Returns the campaign id and public response URL.

  • update_survey

    Update a survey campaign (activate/deactivate and/or edit title/question). At least one field required.

  • delete_survey

    Permanently delete a survey campaign and all of its responses from a project.

  • create_ticket

    Create a support ticket with an opening inbound message. Defaults to status=open, priority=normal.

  • update_ticket

    Update a support ticket status, priority, and/or assignee. At least one field required.

  • reply_to_ticket

    Add a message to a support ticket. Outbound replies move new/pending tickets to open.

  • create_post

    Create a new feedback / roadmap post. Defaults to the feature-requests board and the project default status (Open).

  • update_post_status

    Update a post: roadmap status, pin/lock flags, and/or release estimate. Status moves accept feedback (open → planned), start work, or ship.

  • comment_on_post

    Add a comment (or reply, via parent_id) to a post. The author is the user who created this API key.

  • create_comment

    Alias of comment_on_post. Add a comment (or reply, via parent_id) to a post. The author is the user who created this API key.

  • add_vote

    Cast a vote on a post as the API key owner. Idempotent: if the user already voted, returns ok without double-counting. Authors cannot vote on their own posts.

  • publish_changelog

    Create a changelog / Updates entry. Set publish=false to leave it as a draft. Auto-derives a slug from the title if none is given. The optional `tag` becomes the pill on the public Updates feed.

  • upsert_doc_page

    Create or update a documentation page (uniquely identified by project + slug + locale). Body is Markdown. Pass visibility=internal to keep the page hidden from the public site.

  • delete_status_subscriber

    Remove a status-page email subscriber (same effect as the public unsubscribe link). Pending incident emails for that subscriber are dropped via cascade.

  • set_status_page_enabled

    Enable or disable the public status page for a project (same as Settings → Status page).

  • create_status_incident

    Open a status-page incident (starts in investigating). Does not require the public status page to be enabled.

  • add_status_incident_update

    Post an update on a status-page incident and advance its lifecycle (investigating → identified → monitoring → resolved).

  • create_status_component

    Add a component to the project status page.

  • update_status_component

    Set the current operational status of a status-page component (for automation / CI hooks).

  • report_ci_status

    Record a CI run (GitHub Actions, GitLab CI, or generic) against a project. Same payload as POST /api/integrations/ci/webhook.

  • add_domain

    Add a custom hostname to a project. Returns the TXT name and value to publish, then call verify_domain.

  • verify_domain

    Check the TXT challenge for a pending custom hostname and mark it verified when the record matches.

Setup

Connect your client in under a minute.

json
{
  "mcpServers": {
    "hollahoop": {
      "url": "https://hollahoop.app/mcp",
      "headers": {
        "Authorization": "Bearer hh_live_<your_token>"
      }
    }
  }
}
How to use

Open Cursor → Settings → MCP → Add new global MCP server, or edit the file directly.

Config location
  • macOS  ~/.cursor/mcp.json
  • Windows %USERPROFILE%\.cursor\mcp.json
  • Linux  ~/.cursor/mcp.json
Endpoint

The shape of the API, in one box.

URL
https://hollahoop.app/mcp
Transport
HTTP / JSON-RPC 2.0
Protocol
MCP 2025-06-18
Auth
Authorization: Bearer hh_live_…

The same URL serves initialize, tools/list and tools/call. A plain GET with Accept: application/json returns a self-describing manifest you can paste into any other tool that expects one.

Questions

Frequently asked, plainly answered.

What is the Hollahoop MCP server?
A remote Model Context Protocol endpoint that exposes Hollahoop’s feedback, roadmap, Updates and docs to AI agents. Your agent calls the same code paths the dashboard does - nothing more, nothing less.
Do I need to install anything?
No. Hollahoop MCP is remote HTTP. There is no bridge process, no SDK, no local package - every supported client connects to the same URL with a bearer token.
Which clients are supported?
Anything that speaks remote HTTP MCP with custom headers. Ready-to-paste configs for Cursor, Claude Code, Claude Desktop, ChatGPT, Codex and Windsurf live in the Setup section above. Copilot, Gemini CLI, Continue, Zed and OpenCode also work - same URL, same auth.
How does authentication work?
Bearer tokens scoped to one org, generated from Settings → API. Tokens carry explicit read or write scope and act as the user who created them for audit purposes. Revoke from the same screen, takes effect on the next request.
What can an agent actually do, and can it delete things?
Read everything: projects, boards, posts, comments, Updates, docs, statuses. Write a lot: create posts, change post statuses, comment, publish Update drafts, upsert documentation pages. Destructive operations (deleting posts, dropping orgs) are deliberately not exposed to the MCP surface.
MCP vs the REST API: which should I use?
They are the same surface. The MCP server is a structured wrapper around the same endpoints; if you are wiring up an AI agent, use MCP. If you are building a script or a server-side integration that does not involve an LLM, hit the REST API directly with the same token.
Is MCP included in all plans?
Yes. The MCP server ships free on every plan, including Free, with the same REST and MCP rate limits. SSO and the org audit log unlock on Pro, but the protocol itself is universal.
Is my data or token sent anywhere else?
No. Your token authenticates directly against hollahoop.app/mcp and never touches the AI client provider. Tool calls happen server-to-server between your agent runtime and Hollahoop.

Hand Hollahoop to your agent.

Grab an API token, paste the MCP endpoint into your client, and ask your agent to do something it could not do an hour ago. That is what the loop, on autopilot, looks like.

Free on every plan · Works with any remote MCP client