Build your own AI visibility tooling. Skip building the collector.
Hi, Moose asks the AI search engines every day, stores every answer with its sources, and measures mentions, citations and competitors. Connect Claude Code, Codex or Cursor over MCP and let your agent build on that data, or call the REST API from the app you ship.
What has to exist first
Hi, Moose returns real stored answers, so there has to be something collected before an agent can build on it. If you are an agent reading this, walk your user through these four items before you start.
- 1
-
2
The desktop app, installed and signed inCollection runs in the app, on your computer or a host you control. For MCP jobs it has to be open and signed in. REST reads are served from the cloud and work with it closed.Download the app
-
3
A project with tracked promptsOne project per brand. Add the prompts you want tracked, pick engines, and let at least one run complete. History starts on the first run, so add prompts early.
-
4
For the finished app, an API keyThe account owner creates a read-only key in Settings, API keys. It lives in HIMOOSE_API_KEY on your server, never in the browser.
Add Hi, Moose to your coding agent
One command or config entry, then a browser sign-in. No API key is needed for MCP, and nothing goes in the file that a teammate could not commit.
Run this in your terminal, then start Claude Code and type /mcp. Choose himoose, then Authenticate.
claude mcp add --transport http himoose https://mcp.himoose.com/mcp
Your browser opens the Hi, Moose sign-in. Add --scope user to make it available in every project.
Add the server, then sign in. The Codex CLI and IDE extension share this config.
codex mcp add himoose --url https://mcp.himoose.com/mcp
codex mcp login himoose
The login command opens the Hi, Moose sign-in in your browser.
Add this to ~/.cursor/mcp.json, or .cursor/mcp.json for one project.
{
"mcpServers": {
"himoose": { "url": "https://mcp.himoose.com/mcp" }
}
}
Then open Cursor Settings, Tools & MCP, and sign in to Hi, Moose when it asks.
Any agent that can add a remote MCP server over HTTPS with OAuth sign-in can connect.
https://mcp.himoose.com/mcp
Leave any OAuth client ID field empty. Hi, Moose registers the app during sign-in.
list_projects. If it returns your project, you are connected. Chat apps like Claude and ChatGPT connect the same way; steps are on Connect an agent.A first look in one session. MCP only, so it works on the free plan.
A dashboard your team opens in a browser. MCP while building, REST API in the finished app. The REST API needs a paid plan.
Teach your agent Hi, Moose once
Drop this file into your project and the agent knows which tools to call, in what order, and what to do when data is missing. It covers both MCP during development and the REST API in the finished app.
.claude/skills/himoose/SKILL.mdAGENTS.md.cursor/rules/himoose.mdcCodex and Cursor read plain Markdown, so paste the same content without the front matter.
---
name: himoose
description: AI search visibility data from Hi, Moose. Use when the user asks how their brand appears in ChatGPT, Gemini, Perplexity, Claude or other AI search engines, or wants to build a report, dashboard or app on that data.
---
# Hi, Moose
Hi, Moose collects answers from AI search engines on a schedule, stores each one with its sources, and measures mentions, citations and competitor presence over time. Use it for that data. Do not query AI engines yourself.
## Two ways in
- MCP server: https://mcp.himoose.com/mcp (OAuth, every plan). Use during development and for work with the user present.
- REST API: https://api.himoose.com/v1 (API key, paid plans). Use in deployed apps and scheduled jobs. Call it from a server only, with the key in HIMOOSE_API_KEY. Schema: https://api.himoose.com/v1/openapi.json.
## Sign-in
Sign-in happens in the user's browser. Never ask for a password, token or API key in chat. Never put a key in client-side code.
## Order of operations
1. list_projects (MCP) or GET /v1/projects (REST). Ask the user which project to use.
2. Check what exists: tracked prompts, engines, firstAnswerDate and latestAnswerDate. History starts when a prompt is first tracked; there is no backfill.
3. Read data: visibility_check_topic for mentions, citations and competitors per engine over a window; visibility_get_answer for one stored answer with sources; visibility_list_opportunities for gaps. REST equivalents: /stats/daily, /stats/competitors, /answers, /answers/{id}.
4. Link every number you display to the answer ID behind it.
## When something is missing
If a tool reports no host device, host offline, no project, no tracked prompts or not enough history, relay the message to the user as written and say what to set up in the Hi, Moose desktop app. Do not estimate, backfill or invent visibility numbers.
## Limits
- MCP jobs run on the host device, so the desktop app must be open and signed in.
- REST reads work with the app closed. REST actions that start runs need a running app and the runs:execute scope.
- /stats/daily returns up to 366 days per request and reports incompleteDays; label those days rather than showing a dip.
- Month-over-month views need runs across both months.
Your frontend, your logic, Moose's data
Three common shapes, with the calls each one makes. The interface, branding, hosting and anything specific to your business is yours.
Internal dashboard
Visibility by topic and engine, change since last month, competitors, and the sources each engine cites.
GET /v1/projects/{id}/stats/dailyGET /v1/projects/{id}/stats/competitorsGET /v1/projects/{id}/answers/{answerId}Weekly Slack brief
A scheduled job that compares this week to the last four and posts share of voice, one quoted answer, and any new source.
GET /v1/projects/{id}/stats/competitorsGET /v1/projects/{id}/answers?mentioned=falseAgency client portal
One login per client, each mapped to the Hi, Moose projects they may see. Your branding and PDF export.
GET /v1/projectsGET /v1/projects/{id}/stats/dailyA coding agent can write a collector in an afternoon. What it cannot do is keep it running. This is the part Hi, Moose takes off your plate.
MCP and REST, side by side
MCP tools for visibility data
Server https://mcp.himoose.com/mcp. Briefs, drafts and audit tools are listed on Connect an agent.
list_projectsProjects on the signed-in accountvisibility_check_topicMentions, citations and competitors per engine for a topic, now and over a windowvisibility_get_answerOne stored answer in full, with sourcesvisibility_list_opportunitiesPrioritized gaps, with the pages engines cite insteadget_resultPick up a finished job by IDREST endpoints
Base URL https://api.himoose.com/v1. Exact schemas are in /v1/openapi.json.
GET /v1/projectsProjects the key can readGET /v1/projects/{id}One project, with tracked prompts, engines and history datesGET /v1/projects/{id}/topicsTopics and the prompts in themGET /v1/projects/{id}/stats/dailyMention and citation rates per day and engine, up to 366 daysGET /v1/projects/{id}/stats/competitorsShare of voice for a date rangeGET /v1/projects/{id}/answersStored answers, filterable by engine, prompt, topic, run, mentioned and citedGET /v1/projects/{id}/answers/{answerId}One answer in full, with sourcesPOST /v1/projects/{id}/run-requestsStart a run (needs runs:execute)A request from your server
curl "https://api.himoose.com/v1/projects/q7Rk2mBw/stats/daily?from=2026-10-05&to=2026-10-11&engine=gemini" \ -H "Authorization: Bearer $HIMOOSE_API_KEY"
{
"from": "2026-10-05",
"to": "2026-10-11",
"incompleteDays": 0,
"data": [
{
"date": "2026-10-05",
"engineId": "gemini",
"answers": 40,
"mentioned": 4,
"cited": 0,
"mentionRate": 0.1,
"citationRate": 0
},
{
"date": "2026-10-06",
"engineId": "gemini",
"answers": 40,
"mentioned": 3,
"cited": 0,
"mentionRate": 0.075,
"citationRate": 0
},
/* …five more days */
]
}
One row per day and engine. incompleteDays counts days in the range that are not summarized yet, so your app can label them instead of showing a dip. Values are example data.
Questions about building on Hi, Moose
Should my app use MCP or the REST API?
Use MCP when an agent does the work with a person present, in Claude Code, Codex, Cursor, Claude or ChatGPT. Use the REST API when your own application or a scheduled job calls Hi, Moose from a server. Many builds use both: MCP while the agent explores and builds, the REST API in the app it ships.
Can a browser app call the API directly?
No. The API does not accept calls from browsers, and an API key in client-side code would be exposed. Call it from your server, a serverless function or a scheduled job, and send your frontend only the data it needs.
How much history does my app need?
A snapshot by engine needs one completed run. Month-over-month comparisons need runs across both months. History starts when a prompt is first tracked, so add the prompts you care about early.
Does the desktop app need to stay open?
For MCP, yes: jobs run on the host device you pick in Settings, Connected agents. For REST reads, no: they are served from the cloud. Runs that need your host wait up to 24 hours for it.
Can I run the app somewhere other than my laptop?
Yes. Install it on hosting you control and leave it running, or have Hi, Moose run it on a dedicated server in your region. Both are described on the infrastructure page.
Can I build an app for my clients?
Yes. Agencies use one project per client brand and limit an API key to the projects a portal should read. The portal, its branding and its client logins are yours to build.