Huginnova
AI search visibility for agencies and brands. MCP server with 32 tools for Claude, ChatGPT and Cursor — answers, sources, action plans, reputation and site readiness.
Hosted MCP Server
npx add-mcp 'https://huginnova.com/api/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
MCP server
Connect Huginnova to Claude, ChatGPT, Cursor or any client that speaks the Model Context Protocol. Your assistant can then answer "why does ChatGPT recommend my competitor?" from your real data, and act on it: 32 tools, the same data as the app and the API.
Connect
The server URL is https://huginnova.com/api/mcp (Streamable HTTP). Apps that support signing in (ChatGPT, Claude) connect without a key; the rest use an API key.
With an API key (Claude Code, Cursor, VS Code, Claude Desktop): create one in Integrations → API & automations and use it in your client:
Claude Code
claude mcp add --transport http huginnova https://huginnova.com/api/mcp \
--header "Authorization: Bearer YOUR_API_KEY"
Cursor ·.cursor/mcp.json
{
"mcpServers": {
"huginnova": {
"url": "https://huginnova.com/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
VS Code ·.vscode/mcp.json
{
"servers": {
"huginnova": {
"type": "http",
"url": "https://huginnova.com/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Claude Desktop · claude_desktop_config.json
{
"mcpServers": {
"huginnova": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://huginnova.com/api/mcp",
"--header",
"Authorization:${AUTH}"
],
"env": {
"AUTH": "Bearer YOUR_API_KEY"
}
}
}
}
Authentication
Two ways, both as Authorization: Bearer …: an OAuth connection (apps that sign in) or an API key. Read-only connections and keys can use every read tool; full access also allows the change tools. The MCP server is included in every plan. Limit: 120 requests a minute per connection or key.
OAuth, for developers
OAuth 2.1 as the MCP authorization spec describes it. A request without a token gets a 401 whose WWW-Authenticate header points to the protected resource metadata; from there, the authorization server metadata at /.well-known/oauth-authorization-server. Apps identify themselves with a Client ID Metadata Document (an https client_id) or register with Dynamic Client Registration. Authorization code with PKCE (S256) only, and the resource must be the MCP server URL. Scopes: read and write (the person can grant less than asked). Access tokens last an hour; refresh tokens rotate on every use, and reusing an old one closes the connection.
Tools
Every tool takes a project_id from list_projects, except list_projects and list_alerts. * required.
Brands and competitors
list_projectsread The brands in the workspace, with their market and engines.get_visibilityread Visibility, share of voice, citations, position and sentiment vs competitors; change, per engine and trend.project_id*daysenginelist_competitorsread Tracked competitors with their websites.project_id*get_brand_recognitionread Whether ChatGPT and Gemini know you as a brand.project_id*
Prompts and answers
list_promptsread Tracked prompts, where you lose most first.project_id*dayslimitcursorget_prompt_suggestionsread Suggested questions: real demand, gaps on your site, competitors, AI searches.project_id*limitcursorsearch_answersread AI answers as a filterable summary list.project_id*engineprompt_idsinceuntilmentions_brandcompetitor_idlimitcursorget_answerread One AI answer in full, with every brand and source.project_id*answer_id*
Sources
top_sourcesread The domains AI cites most, and whose they are.project_id*daystop_pagesread The exact pages AI cites most.project_id*dayslimitcursorget_source_gapsread Sites AI cites where you're missing.project_id*dayslimitcursor
What to do
get_action_planread Prioritized actions with why and how.project_id*statuslimitcursorget_geo_opportunitiesread Questions an article would win.project_id*limitcursorlist_articlesread GEO Writer articles and whether they're published.project_id*limitcursorget_articleread One article in full: analysis, markdown and JSON-LD.project_id*article_id*get_outreachread Prepared emails to get mentioned on cited sites.project_id*limitcursor
Perception, site and traffic
get_reputationread How AI describes you: scores, strengths, weaknesses, wrong claims.project_id*get_site_readinessread Whether AI crawlers can read your site, and what to fix.project_id*get_signalsread AI searches behind your prompts, shopping, ads, local results, Reddit and YouTube.project_id*daysget_ai_trafficread Visits from AI assistants and AI crawler activity.project_id*dayslist_alertsread Alerts after each update.project_idunread_onlylimitcursor
Changes (full access)
add_promptschange Track new questions.project_id*prompts*tagsadd_suggested_promptchange Track a suggested question.project_id*suggestion_id*dismiss_suggested_promptchange Stop suggesting a question.project_id*suggestion_id*set_prompt_activechange Pause or resume a prompt.project_id*prompt_id*active*add_competitorchange Track a competitor.project_id*name*websiteremove_competitorremoves Stop tracking a competitor.project_id*competitor_id*set_action_statuschange Mark an action done (or another status).project_id*action_id*status*mark_alerts_readchange Mark alerts read.alert_idproject_id
Prompts
Ready-made questions your client shows in its menu ("/" in Claude), in your workspace's language. Brand and competitor names autocomplete as you type; the brand is optional if you track only one.
weekly_reportWeekly AI visibility report: where you stand, what changed and why, priorities.what_to_do_this_weekWhat to do this week: the three changes most likely to get you into more AI answers.why_competitor_winsWhy a competitor wins: the real answers and sources behind it, and what to change.
How results work
Pages. Lists return items, total and next_cursor. Pass next_cursor back as cursor for the next page; it's null on the last one. Newest-first lists (answers, alerts) use the row's date and id, so new rows arriving while you page never repeat or skip any.
Summaries and detail. search_answers returns a short summary per answer (engine, prompt, date, brands named and positions, domains cited, the passage about you). Read one in full with get_answer; articles work the same way with list_articles and get_article.
Rates. Visibility, citation and similar rates are shares of answers from 0 to 1, with a 95% confidence interval. Small samples are uncertain: changes are marked as significant or not.
Format. Each result is returned as JSON text and as structuredContent. Errors you can fix (a bad argument, a plan limit, something not found) come back as tool errors with the reason.
Example questions
- “How visible is my brand in AI answers this month, and against whom?”
- “Why does ChatGPT recommend my main competitor and not us? Show me the answers.”
- “Which sites should I get mentioned on first, and what do they say?”
- “What changed since last week, and what should I do about it?”
- “Add these five questions to the prompts I track.”
- “Mark the structured-data fix as done.”
Security
Connections and keys belong to one workspace and only see its data. The server never starts paid work (collections, articles, emails): those stay in the app. Disconnect an app or revoke a key in Integrations at any time; it stops working immediately, and a person who leaves the workspace loses the apps they connected.