Trakkr
AI visibility analytics for brands across citations, prompts, competitors, research, and reports.
Connector by macklpgr · GitHub account verified by the MCP Registry
Install
Works with Claude Code, VS Code, Codex, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/macklpgr-trakkr-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Remote endpoint
https://api.trakkr.ai/mcpRemote (HTTP)
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 53 read · 15 write · 8 delete · 6 not yet classified
- Secrets
- 1 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Python package
Tools by what they do 82
Read from the source code; the running server may list different tools.
Read 53 · Look things up without changing anything.
compare_brandscompare_reportsdiscover_publishersget_action_statsget_actionsget_articlesget_audit_findingsget_changesget_citationsget_competitorsget_content_ideasget_crawler_access
Show 41 more tools
get_crawler_detailget_crawler_liveget_crawler_overviewget_crawler_pagesget_crawler_submit_statusget_diagnosis_resultget_knowledgeget_latest_researchget_model_breakdownget_narrativesget_notificationsget_opportunitiesget_page_analysisget_perceptionget_period_summaryget_portfolio_actionsget_prismget_proofget_rankingsget_redditget_reportsget_research_creditsget_research_runget_research_runsget_resultsget_search_performanceget_tracked_articlesget_trafficget_visibility_scoresget_workflowsget_writing_stylelist_auditslist_brand_groupslist_brandslist_opportunity_poollist_page_analyseslist_pageslist_promptslist_tagspreview_crawler_access_fixsuggest_prompts
Write 15 · Create, change, send or run things.
add_knowledgecommit_opportunitymanage_actionmanage_competitormanage_conversionsmanage_publisher_shortlistmanage_reddit_opportunitymanage_tracked_articlemark_notifications_readrun_diagnosisrun_research_snapshotsend_crawler_verification_ping
Show 3 more tools
set_brand_locationsubmit_crawler_to_searchupdate_brand_aliases
Delete 8 · Delete, drop, revoke or wipe things.
bulk_manage_promptsmanage_knowledgemanage_promptmanage_prompt_tagsmanage_reddit_subredditmanage_reddit_triggermanage_webhookmanage_workflow
Not yet classified 6 · We could not tell from the name and description.
export_datagenerate_articlegenerate_reportreport_unmet_needscan_redditwrapper
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
TRAKKR_API_KEY
Network hosts it talks to 2
api.trakkr.ai· found in remote endpoint, install command, codetrakkr.ai· found in code
Files it touches
- Your home directory (~)
- Any path the agent passes to its tools
Tools (82)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
add_knowledgeAdd a source to the brand's knowledge base. Knowledge is the brand-truth Trakkr feeds into AI-facing content generation. Feed in a positioning doc, a product page, a founder Q&A, so generated articles and answers stay accurate. Two modes: - source_type='text': paste raw text. Needs `content` (roughly 50 to 100,000 tokens; under ~200 characters is rejected as too short). - source_type='url': ingest a web page. Needs `url` (http/https). The page is fetched and its text extracted server-side. Processing is async. The call returns fast with status='pending'; the source is then chunked and e…
bulk_manage_promptsManage prompts in bulk — create, delete, activate, or deactivate many at once. Use action='bulk_create' to add multiple prompts. Provide a JSON array in the 'prompts' param with objects like {text, active?, focus_area?, intent?, audience?}. Use action='bulk_delete' to remove multiple prompts by ID. Use action='activate' or 'deactivate' to toggle tracking for multiple prompts. Args: action: One of 'bulk_create', 'bulk_delete', 'activate', 'deactivate'. brand_id: The brand these prompts belong to (required). prompts: JSON array string or array of prompt objects for bulk_create. …
commit_opportunityDecide on one suggestion: commit it, dismiss it, or snooze it. Committing turns a suggestion into tracked work AND freezes how it will be measured, which is what makes a before/after result possible when the window closes. Dismissing takes a reason so the pool learns. Snoozing hides it for a while and brings it back. This tool cannot grant an agent permission to do anything. Autonomy is set per brand in the product, never over the API. Args: brand_id: The brand that owns the suggestion (required). opportunity_id: The suggestion id from list_opportunity_pool. action: commit (defa…
compare_brandsCompare multiple brands side by side. Built for agency / pitch workflows — show how a prospect stacks up against their competitors, or how two client brands compare. Returns a per-brand row of the requested metrics across the same date window. Args: brand_ids: 2-10 brand IDs to compare (required). days: Window for time-bounded metrics, 7-365. Default 30. metrics: Optional list of metrics to include. Available: 'visibility', 'citations', 'actions'. Default: all of them.
compare_reportsCompare visibility between two time periods. Generates a comparison showing how the brand's AI visibility changed between a baseline period and a comparison period. Useful for measuring the impact of content changes or campaigns. Args: brand_id: The brand to compare (required). baseline_start: Start of baseline period (YYYY-MM-DD). baseline_end: End of baseline period (YYYY-MM-DD). comparison_start: Start of comparison period (YYYY-MM-DD). comparison_end: End of comparison period (YYYY-MM-DD).
discover_publishersFind independent publishers worth pitching or partnering with for a topic. Searches the web for a topic (or the text of up to 20 tracked prompts), then reads each candidate's page. Returns up to five candidates. Each has the page title and an excerpt, contact or "write for us" pages found on the site, and citation_status: whether that publisher already appears in this brand's AI citations ('observed'), does not ('not_observed'), or history was unavailable, plus page_kind ('article', 'shop' or 'unknown'; a shop is usually a retailer or a rival brand). By default (new_only=true) publishers alr…
export_dataExport visibility data as JSON or CSV. Bulk export of Trakkr data for external analysis or reporting. Args: brand_id: The brand to export (required). data_type: What to export: 'prompts', 'results', 'citations', or 'reports'. format: 'json' or 'csv'. Default 'json'. days: Lookback window, 1-365. Default 30. limit: Max rows, 1-10000. Default 1000.
generate_articleGenerate a brand article, grounded in its knowledge and voice. Kicks off generation and returns fast with status='queued'. The draft is written in the background (around 1 to 3 minutes) using the brand's knowledge base and writing style. Consumes one article credit; if the brand owner has none left you get a clear "no article credits remaining" error and nothing is generated. Poll get_articles(brand_id, view='detail', article_id=<id>) until status is 'draft' (or 'error'), then read `content` and `llm_score`. This never publishes. The result is a draft to review and ship from the Trakkr edit…
generate_reportGenerate an AI visibility report. Creates a comprehensive report analyzing the brand's AI search visibility. Reports take 1-2 minutes to generate. Use get_reports to check status and retrieve the finished report. Args: brand_id: The brand to report on (required). report_type: 'executive' (summary), 'weekly', or 'full'. Default 'executive'. time_range: '7d', '14d', or '30d'. Default '7d'.
get_action_statsAggregate counts for the brand's action queue. Returns totals by status (pending / in_progress / completed / dismissed / snoozed), quick-win count, completion rate, completed-this-week, and breakdowns by category, action_type, and source. Useful as a one-shot "how does the queue look right now" call before paging through it. Args: brand_id: The brand (required).
get_actionsList recommended actions for a brand from Trakkr's unified queue. This is the canonical "what should the brand do" surface. Every signal in Trakkr (site audit, crawler, prompt monitoring, citations, competitors, traffic, reddit, diagnose) flows into one prioritised queue. Returns per action: title, description, detail, first_step, category, action_type, effort, impact, priority_score, priority_level, status, source, affected_models, affected_query_count, action_data (the raw supporting evidence, shape varies by action_type), and a deep_link into the app. Plus, when the action has them: famil…
get_articlesRead brand articles authored inside Trakkr. Articles are long-form pieces written in the in-app editor with real-time AI-visibility scoring. Use this to surface what's been published and pull body content for review or syndication. Views: - 'list': Paginated article list. Filter by `status`. - 'detail': Full body + metadata for one article. Requires `article_id`. Args: brand_id: The brand to inspect (required). view: 'list' or 'detail'. article_id: Required for 'detail'. status: Filter by status. standalone_only: Exclude campaign articles when true. limit: Results pe…
get_audit_findingsGet audit issues + flagged pages for an AI-search technical audit. Returns the audit's issue list and the worst-scoring pages, mirroring what the Optimize page's Findings and Pages tabs render. Includes site-wide rollups like has_llms_txt, ai_crawler_blocked, and has_sitemap so the agent can answer "is this site set up for AI search?" in one call. Dismissals are applied. A check the customer marked intentional in Optimize comes back as status='ignored' instead of open, and stays that way across re-scans, because a dismissal is keyed on the brand, the check and the URL rather than on the audi…
get_changesWhat changed for a brand since you last looked: the "watch" digest. Reads the brand's in-product activity feed (the same notifications the Trakkr app surfaces) and returns a compact digest of material movements: visibility shifts, lost or gained citations, competitor moves, rank changes, crawler signals, new opportunities, and completed reports. This is a read-only pull, safe to call freely. Pair it with the trakkr-watch prompt to keep an eye on a brand across a conversation: call it, note the returned latest_seen cursor, and pass that back as since next time so you only see what is new. Ca…
get_citationsGet citation data showing which URLs AI models cite for your brand. Citations are the source URLs that AI search engines reference in their answers. This tool shows which pages get cited, how often, and trends. Views: - 'list' (default): All citation URLs with metadata. - 'history': Citation count trends over time. - 'queries': Which search queries generate citations, clustered by topic. - 'sources': Deep dive on a specific domain (requires 'domain' param). - 'feed': Recent citation events (new, lost, changed). - 'recent': Compatibility alias for 'feed'. - 'heatmap': Citation coverage matrix…
Show 67 more tools
get_competitorsGet competitor analysis data from AI search. Understand how you stack up against competitors across AI models. Every view is computed over `days` and, when given, only the prompts carrying `tag_ids` - so you can ask "how do we compare inside this one business line" in a single call. Views: - 'summary': Overview of competitive landscape. - 'arena': Prompt-by-prompt leaderboard across all competitors. - 'head-to-head': Direct comparison with one competitor (requires 'competitor' param). - 'by-model': Competitive performance broken down by AI model. - 'threats': Competitors gaining ground + opp…
get_content_ideasGet AI-generated content ideas to improve brand visibility. Returns actionable content suggestions based on citation gap analysis. Each idea includes a topic, rationale, and priority score. Args: brand_id: The brand to check (required). limit: Results per page, 1-200. Default 50. offset: Pagination offset. status: Filter by status: 'active', 'dismissed', or 'implemented'.
get_crawler_accessGet the crawler Access tab data. Returns findings, bot access matrix, robots.txt, llms.txt, and submit-to-search status in the same shape shown in the dashboard.
get_crawler_detailOpen the crawler drawer data for one page URL, path, or bot. Returns the same drawer sections shown in the dashboard: verdict, pipeline, health, next step, traffic, and diagnostics. Pass `entity_id` to match the chosen `kind`: - kind='page': the full page URL. - kind='path': a path id from get_crawler_pages(lens='paths'). - kind='bot': a normalized platform name from get_crawler_pages(lens='bots'). The intent / platform / search / status filters apply to kind='path' and kind='bot' only; they are ignored for kind='page'. Args: brand_id: The brand to check (required). kind: 'page', '…
get_crawler_liveGet the crawler Live tab data. Views: - 'activity': recent crawler events shown in the Live feed - 'pages': top pages relevant to the selected intent - 'sessions': recent crawl sessions Args: brand_id: The brand to check (required). range_preset: 24h, 7d, 30d, 90d, or custom. Default 30d. start_date: Required when range_preset='custom'. Format YYYY-MM-DD. end_date: Required when range_preset='custom'. Format YYYY-MM-DD. intent: all, interaction, search, or training. Default all. platform: Optional. Comma-separated platform names (e.g. "ChatGPT,Perplexity"). http_s…
get_crawler_overviewGet the crawler dashboard overview for a brand. Mirrors the dashboard hero and chart: setup/data state, summary metrics, time series, platform breakdown, top pages, and recent preview. connections lists every crawler source (Cloudflare, AI Pages, a plugin or a custom edge) with its state. A source in 'error' or 'no_data' is missing from these figures even when another source keeps the charts full, and connections.note says which one and how to fix it. Mention it to the user. Args: brand_id: The brand to check (required). range_preset: 24h, 7d, 30d, 90d, or custom. Default 30d. s…
get_crawler_pagesGet the crawler Pages tab data. Lenses: - 'pages': individual URLs - 'paths': grouped URL paths - 'bots': normalized AI platforms Args: brand_id: The brand to check (required). range_preset: 24h, 7d, 30d, 90d, or custom. Default 30d. start_date: Required when range_preset='custom'. Format YYYY-MM-DD. end_date: Required when range_preset='custom'. Format YYYY-MM-DD. intent: all, interaction, search, or training. Default all. platform: Optional. Comma-separated platform names. search: Optional. Text to match against paths, bots, or URLs. status: Optional page/pa…
get_crawler_submit_statusGet submit-to-search status and summary for crawler URLs.
get_diagnosis_resultGet results of a diagnosis, or view diagnosis history/usage. Use with diagnosis_id to get a specific result. Use with brand_id + view='history' to see past diagnoses. Use with brand_id + view='usage' to check remaining quota. Args: brand_id: For history/usage views. diagnosis_id: For fetching a specific result. view: 'history' or 'usage'. Omit for single result. limit: Results per page for history, 1-100. Default 20.
get_knowledgeRead the brand's knowledge base sources. Knowledge entries are the brand-truth facts (positioning lines, product details, founder quotes, etc.) that Trakkr injects into AI-facing content generation. Read-only here; authoring stays in the editor. Views: - 'sources': Knowledge sources with processing status and chunk counts. - 'stats': Aggregate source/chunk/token counts. Args: brand_id: The brand to inspect (required). view: 'sources' or 'stats'.
get_latest_researchGet the most recent ready prompt research run for a brand. Canonical 'what does my latest research show' tool — returns the full analytics payload (same shape as get_research_run) for the newest completed run. Prefer this over get_research_runs + get_research_run when you just want the current state. Args: brand_id: The brand to check (required). report_type: Filter to 'full_research' or 'topic_snapshot'. Omit for the most recent of either. results_limit: Max per-prompt results to return, 1-500. Default 100. results_offset: Offset into the results array. Default 0.
get_model_breakdownGet visibility breakdown by AI model. Shows how the brand performs on each AI platform individually: ChatGPT, Perplexity, Gemini, Claude, Copilot, etc. Useful for understanding which AI models mention the brand most. Args: brand_id: The brand to check (required). days: Lookback window, 7-365. Default 30. period: A frozen calendar period (YYYY-MM or YYYY-Qn). When given, days is ignored and the response carries a `period` block. Then total_queries is the measured days in the period, visibility_rate is the average visibility score, presence is filled, and th…
get_narrativesGet narrative intelligence data. Narratives track specific topics or storylines across AI models over time. See how AI perception of key themes evolves. Requires Scale plan. Args: brand_id: The brand to check (required). narrative_id: Optional. Get a specific narrative by ID. include: Optional. Comma-separated extras: 'snapshots', 'correctives'. days: Lookback window, 7-365. Default 90.
get_notificationsRead the in-product activity feed for the brand. The activity feed is Trakkr's event timeline — visibility shifts, new citations, competitor moves, action recommendations, workflow firings, site audit results, and more. Use this to answer "what's happened with my brand lately?" Views: - 'list': Chronological events. Filter by `unread_only` or `event_type`. - 'unread_count': Single number — how many unread events exist. Args: brand_id: The brand to inspect (required). view: 'list' or 'unread_count'. unread_only: If true, only return unread events. event_type: Filter by exact …
get_opportunitiesGet citation gap opportunities. Finds prompts where competitors are being cited by AI models but your brand is not. These are content opportunities — topics where creating or improving content could earn AI citations. This is a current set per brand, not a time series. Leave `days` unset to get everything, which is what the Trakkr app shows. If the set is empty the response carries a `note` saying why; retrying with a different `days` or `limit` will not change it. Args: brand_id: Required brand UUID from list_brands. Always prefer the canonical `brand_id` key. The legacy `brand…
get_page_analysisGet the cached deep analysis for a single URL. Returns the full per-page payload: AI diagnosis, citation verdict, failed/warning checks, ready-to-paste schema, detected queries, quotable facts, entities, and bot visibility. This is the same data the Optimize page and crawler page drawer render from. Returns a not-found error if no analysis exists within max_age_days (deliberately — triggering a fresh analysis would consume LLM credit). New analyses are produced via the Trakkr dashboard's Optimize or Crawler pages. Args: brand_id: The brand (required). url: The page URL (required). I…
get_perceptionGet brand perception analysis from AI models. How AI models describe, position, and talk about the brand — sentiment, themes, narrative shifts, and head-to-head perception vs competitors. Read-only. Refreshing perception is intentionally not exposed; trigger that from the dashboard. Views: - 'dashboard': Headline scores, top themes, recent shifts. - 'metrics': Detailed per-dimension scores. Pass `tracked_brand` to compare against a specific competitor. - 'story': Narrative arc — themes pulled from AI answers, grouped by direction (positive / neutral / negative) with example excerpts. - '…
get_period_summaryGet one frozen calendar month or quarter: the whole client report in one call. This is THE tool for any calendar-month or quarter figure and for a monthly or quarterly client report. A closed month is read from an archive frozen when the month closed, so it answers identically however much later it is asked. The open month is computed month to date and `period.status` says `open`. A quarter is derived from its three months. Never approximate a month with days=30 or days=31; the window slides and the figure drifts. Every delta and direction in `metrics` is already computed with the sign right…
get_portfolio_actionsHighest-impact actions across every brand in the portfolio. The portfolio-actions view rolls up the unified action queue for all brands the API key can see (or a single brand group if specified), ranked by impact. Built for agencies running many clients — "what should I work on first today, across every account?" Args: group_id: Optional — limit to one brand group. quick_win: If true, only high-impact / low-effort actions. limit: Max actions, 1-200. Default 50.
get_prismGet the brand's AI Pages connection state and monthly usage. This is setup and quota, not analysis. It returns the brand (id, name, website), the AI Pages config (whether it is enabled, the domain, the platform, which features are on, which crawlers are allowed), and this month's usage (requests so far, the limit, percent used, reset date). It does NOT return positioning, strengths, weaknesses, opportunities, or themes. For how AI describes the brand use get_perception; for recommendations use get_actions. Args: brand_id: The brand to check (required).
get_proofLegacy alias for get_results. Use get_results for new integrations.
get_rankingsGet competitive ranking data in AI search results. Shows where the brand ranks relative to competitors across all tracked prompts and AI models. Useful for understanding competitive positioning. Views: - 'overall': Aggregate rankings across all prompts. - 'by-prompt': Rankings broken down per prompt. - 'prompt-trends': Daily average position per prompt, for the brand and the competitors it meets on that prompt. This is the view that answers which specific prompts are being lost and since when. Position is average rank in the answer, so LOWER is better and a positive `position_change` m…
get_redditRead Reddit monitoring data for the brand. Reddit is a major source for AI model citations — especially in product recommendation prompts. This tool surfaces brand mentions, sentiment, and actionable threads where you could authentically participate. Views: - 'overview': Connection status, weekly stats, top recent threads. - 'feed': Chronological brand mentions across tracked subreddits. - 'opportunities': Threads where the brand could naturally show up but hasn't been mentioned yet. Filter by `status` and `subreddit`. - 'thread': Full thread + comment tree for a single Reddit thread. Re…
get_reportsList reports or retrieve a specific report. Pass at least one of brand_id or report_id. Report IDs are not guessable and are never derived from a brand_id: get one from view='list' first, then pass it back here. Views: - 'list' (default): List reports with metadata. Needs brand_id. - 'results': Detailed visibility results for ONE report. Needs report_id. - 'sentiment': Sentiment analysis from report data. - 'mentions_time_series': Brand mention counts over time from reports. Args: brand_id: Filter by brand. report_id: A specific report's UUID, as returned by view='list'. Req…
get_research_creditsGet the brand's topic snapshot credit usage for the current month. Topic snapshots are gated by a monthly limit on the account. Call this before run_research_snapshot to confirm credits are available. Args: brand_id: The brand to check (required).
get_research_runGet a single prompt research run with the full analytics payload. Returns every field the in-app /research page surfaces: visibility, position_distribution, competitors_breakdown (with top_competitors and share), intent_breakdown, focus_area_breakdown, topic_breakdown, insights (best_prompts, missed_prompts, strongest/weakest intent), and the per-prompt results array (each result has prompt_text, ranked_names, brand_mentioned, brand_position, prompt_intent, prompt_audience, prompt_focus_area). Per-prompt results are paginated because full runs commonly contain 500+ entries. Increase results_…
get_research_runsList prompt research runs for a brand (newest first). Each run summary includes visibility score, mention rate, average and top brand position, win rate, share of voice, brand rank, and the top competitors that surfaced. For topic snapshots the topic and topic context are also included. Args: brand_id: The brand to list runs for (required). report_type: Filter to 'full_research' or 'topic_snapshot'. Omit for both. ready_only: If true (default), only return runs that completed successfully. limit: Results per page, 1-100. Default 20. offset: Pagination offset. Default 0.
get_resultsWhat completed work actually changed, measured before and after. Every row is computed by Trakkr's pipeline from real data over a window that was frozen when the work was committed. Nothing here is self-reported, and nothing claims causation: a result says a metric moved in the window, not that the change caused it. Verdicts: - earned: the metric cleared the bar the plan set. - no_change: it held steady. - harm: it fell. Reported as "coincided with a drop", never as damage the change is proven to have done. - couldnt_measure: the data needed was not available, and the reason says which. …
get_search_performanceGet Google Search Console performance through the brand's Trakkr connection. Returns real Google clicks, impressions, CTR, and average position. Omit url for property-wide top pages and queries, or pass one page URL for that page's aggregate metrics and top Google queries. Set compare_previous_period=true for an equal preceding period and deltas. This is Search Console average position across recorded impressions, not a fixed SERP rank from one location or device. The brand must have connected Search Console in Trakkr first. Google credentials remain in Trakkr and are never returned to the M…
get_tracked_articlesRead the brand's tracked published articles and whether AI answers cite them. Tracked articles are live URLs the brand follows: a guest post on a publisher, or a page on the brand's own site (owned_site=true). For each one: whether that exact URL is cited in the brand's tracked AI answers now (observation.article_cited) or ever (previously_observed), first and last seen, which models cited it (providers) and for which prompts, and whether the brand is named in an answer that cites it (brand_in_answer; null means not established, not no). summary counts cited and never-cited articles. Results…
get_trafficGet live traffic data for a brand's website. Shows traffic coming from AI search engines, including visitor counts, referral sources, and trends. Requires traffic tracking to be set up. Views: - 'status': Current traffic tracking status and summary. - 'report': Detailed traffic report with breakdowns. - 'visitors': Individual visitor sessions from AI referrals. Args: brand_id: The brand to check (required). view: Data view. Default 'status'. days: Lookback window for report view, 1-365. Default 30.
get_visibility_scoresGet AI visibility scores and trends for a brand over time. This is the "how are we doing?" tool. Returns the brand's overall visibility score, presence rate, and historical trend data across all tracked AI search engines. Views: - 'summary' (default): Aggregate scores and overall trend. - 'time_series': Score values over time for charting. - 'by_model': Scores broken down per AI model. - 'by_prompt': Scores broken down per tracked prompt. Args: brand_id: The brand to check (required). view: Data view. Default 'summary'. days: Lookback window, 7-365. Default 90. period: A fro…
get_workflowsRead workflow automation state. Workflows fire when a trigger (visibility drop, new threat, etc.) matches, and run actions (Slack message, webhook ping, email). Use this tool to see what's configured and what's fired recently. Views: - 'list': All workflows for the brand. Filter by `status`. - 'get': Full definition of a single workflow. Requires `workflow_id`. - 'runs': Recent firings across all workflows in the date window. Filter by `workflow_id`. - 'run_detail': Full payload for a single run. Requires `run_id`. - 'templates': Catalogue of starter templates ('Visibility Drop', 'Compet…
get_writing_styleRead the brand's writing-style profile. The writing-style profile is the configured voice (tone, vocabulary, do's and don'ts, sample sentences) that the article editor and AI content tools draw from. Useful when generating brand-aligned copy outside Trakkr. Args: brand_id: The brand to inspect (required). view: 'profile' or 'samples'.
list_auditsList site audits for a brand, or fetch one by ID. Each audit is a snapshot of the brand's site at a point in time, with issue counts, an overall score, and the detected CMS platform. To go deeper into one audit, call get_audit_findings. Args: brand_id: The brand (required). audit_id: Optional. Return only this audit. status: Optional. Filter by audit status (e.g. 'complete'). limit: Max audits to return. 1-100. Default 20. period: A frozen calendar period (YYYY-MM or YYYY-Qn). When given, the response is the audit whose score stood at the period's end and …
list_brand_groupsList brand groups (agency portfolios) accessible to the API key. A brand group is a collection of brands an agency manages on behalf of multiple clients. Returns each group with its member brands and quick rollup stats (count, last-updated, average visibility).
list_brandsList all brands you're tracking in Trakkr. Returns brand IDs and names — you'll need a brand_id for most other tools. On the hosted connector your brands are already named at the end of this description, so read the id from there instead of calling this. Call it only when that list is absent, truncated, or you need the extra fields below. Each brand also reports its primary 'location' (ISO-2 country code, e.g. 'GB'), plus 'location_region'/'location_city'. A null location means the brand isn't geo-pinned, which can skew competitor analysis toward global/US results — use set_brand_location to…
list_opportunity_poolList suggestions waiting on a decision, newest and most useful first. This is Trakkr's unified suggestion pool: every recommendation system (search gaps, crawler, site audit, outreach, Reddit, content ideas, competitors, perception) writes here, so one call sees all of them. Nothing in this list is committed work yet - a person or an agent has to decide, and committing is what freezes a measurement plan so the change can earn a measured result later. NOT the same tool as `get_opportunities`, which lists citation outreach targets (a different object). Both are supported. Ordering is determin…
list_page_analysesList recent deep page analyses for a brand. Returns URL, scores, page_type, and a stale flag for analyses the dashboard has already produced. Use get_page_analysis for the full per-URL payload. Args: brand_id: The brand (required). limit: Max analyses to return. 1-100. Default 20.
list_pagesThe page registry: one row per URL this brand owns or appears on. Trakkr keys everything on one canonical URL form, so a page here is the same page across crawler data, citations, audits and search. Rows carry the page's bottleneck (the first stage of the funnel that is stuck) and its verdict sentence. Ownership tells you what the URL is: 'owned' is the brand's own site, 'competitor' a rival's page, 'editorial' a publication, 'social' a discussion thread, 'video' a video. Args: brand_id: The brand (required). ownership: Narrow to one class of page. tracked: True for pages someon…
list_promptsList tracked search queries (prompts) for a brand. Prompts are the AI search queries Trakkr monitors. Each prompt is checked regularly across multiple AI models to track the brand's visibility. Args: brand_id: The brand to list prompts for (required). active_only: If true, only return active prompts. tag_ids: Optional. Comma-separated tag IDs to filter. limit: Results per page, 1-500. Default 100. offset: Pagination offset. Default 0.
list_tagsList all prompt tags for a brand, including tags with no prompts. Returns each tag's id, name, colour, and current prompt_count. Use this before manage_prompt_tags when you want to update or delete an existing tag by id. Args: brand_id: The brand whose prompt tags to list (required).
manage_actionAct on one recommendation in the brand's action queue. get_actions reads the queue. This is how you move an item in it, so the loop closes: list the actions, then mark one done, dismiss it, snooze it, or hand it to a teammate. One explicit verb per call, there is no destructive default, so nothing changes unless you name the change. Actions: - 'complete': mark the action done (captures a visibility snapshot). - 'dismiss': drop the action from the queue (optional note = the reason). - 'reopen': send a completed or dismissed action back to pending. - 'start': move the action to in_progress. - …
manage_competitorManage which competitors Trakkr tracks and shows for a brand. Competitors are name-keyed and live in two lists on the brand: - the tracked set you seed — 'add' and 'remove' operate here. - the hidden set that suppresses a competitor from competitive views — 'hide' and 'unhide' operate here. Most competitors are auto-discovered from report data, so 'remove' only drops a name from the tracked set, while 'hide' is how you suppress a rival you do not want to see. Call action='list' first to read the current state. Args: brand_id: The brand to update (required). action: 'list', 'add', …
manage_conversionsManage conversion tracking values for AI-referred traffic. Set dollar values for conversion events to measure ROI from AI search traffic. Requires traffic tracking to be set up. Use action='list' to see all configured conversion values. Use action='set' to create or update a conversion value. Use action='delete' to remove a conversion value. Args: action: One of 'list', 'set', 'delete'. brand_id: The brand to manage conversions for (required). event_name: Required for 'set' and 'delete'. The conversion event name. value: Required for 'set'. Dollar value per conversion.
manage_knowledgeDelete or reprocess a knowledge source. Use action='delete' to remove a source and its vectors for good. Use action='reprocess' to re-chunk and re-embed a source, the fix for one stuck in 'error' or stale after the page changed. Find source_id with get_knowledge(brand_id, view='sources'). Args: action: 'delete' or 'reprocess'. source_id: The knowledge source to act on (required).
manage_promptCreate, update, or delete a tracked prompt (search query). Use action='create' to add a new prompt to track. Requires brand_id and text. Use action='update' to modify an existing prompt. Requires prompt_id. Use action='delete' to remove a prompt. Requires prompt_id. Args: action: One of 'create', 'update', 'delete'. brand_id: Required for create. The brand this prompt belongs to. prompt_id: Required for update/delete. The prompt to modify. text: The search query text. Required for create, optional for update. active: Whether the prompt is actively tracked. intent: Que…
manage_prompt_tagsCreate or edit a prompt tag, or add/remove it across prompts. Actions: - 'create': create a tag by tag_name. Reusing the same name is a no-op. - 'update': rename or recolour an existing tag. Requires tag_id. - 'delete': delete a tag and detach it from every prompt. Requires tag_id. - 'add': add one tag to one or more prompts. Pass tag_id, or tag_name to resolve it by name. A missing tag_name is created by default. - 'remove': remove one tag from one or more prompts. The tag itself remains. Add and remove are idempotent: prompts that already match the requested state are reported as unchang…
manage_publisher_shortlistRead or change the brand's outreach publisher shortlist. - 'list': every publisher on the board with its status (shortlisted, contacted or won) and any saved publishing idea. - 'add': save a publisher (domain required). From discover_publishers, also pass its research_id with a specific article_idea, the rationale and a proposed_route (for example its write-for-us page); the evidence from that research is saved with the idea. Adding one already on the board changes nothing. - 'remove': take a shortlisted publisher off the board. One already contacted, won, or with tracked articles…
manage_reddit_opportunityUpdate the status of a Reddit opportunity. Use 'dismiss' to remove an opportunity from the queue. Use 'mark_responded' to record that you replied to the thread. Args: brand_id: The brand the opportunity belongs to (required). opportunity_id: The opportunity to update (required). action: 'dismiss' or 'mark_responded'.
manage_reddit_subredditAdd or remove a subreddit from Reddit monitoring. Subreddits are the scope of the Reddit scan. Add the ones where your audience already hangs out; remove the ones generating noise. Args: brand_id: The brand to update (required). action: 'add' or 'remove'. subreddit: Subreddit name (no r/ prefix). Required for 'add'. subreddit_id: Required for 'remove'.
manage_reddit_triggerAdd or remove a keyword trigger that drives Reddit scanning. Triggers are the strings the scan looks for inside posts and comments. Typical triggers: brand name, product names, category terms, common misspellings. Args: brand_id: The brand to update (required). action: 'add' or 'remove'. keyword: Keyword or phrase to track. Required for 'add'. trigger_id: Required for 'remove'.
manage_tracked_articleStart, stop or resume tracking one published article. - 'track': follow a live article URL (url required). Works for a guest post on a publisher or a page on the brand's own site. Optionally aim it at up to 20 tracked prompts. Tracking a URL that is already tracked changes nothing. A publisher's domain is added to the outreach shortlist; the brand's own site is not. - 'stop': stop tracking (article_id or url). Past observations are kept. - 'restore': resume a stopped article (article_id or url). Tracking uses the brand's regular reports, so it costs nothing extra. Read results with g…
manage_webhookList, inspect, create, delete, or test outgoing webhooks. Webhooks let Trakkr ping an external URL when events fire (visibility changes, new citations, threats, etc.). Useful for piping the brand's AI-visibility signals into Slack, Linear, Notion, or any custom stack. Actions: - 'list': All webhooks for the brand. - 'get': Full config for one webhook. Requires `webhook_id`. - 'create': Register a new webhook. Requires `url` and `events`. An optional `signing_secret` will be sent as a signing key on every request. - 'delete': Remove a webhook. Requires `webhook_id`. - 'test': Send a dummy e…
manage_workflowPause, resume, delete, or instantiate a workflow. Workflow authoring lives in the visual editor — this tool only handles lifecycle actions and template cloning. To build a workflow from scratch, point the user at the editor. Actions: - 'pause' / 'resume' / 'delete': Require `workflow_id`. - 'from_template': Create a new workflow from a template id. Optional `name` overrides the template's default title. Use get_workflows(view='templates') to find the template_id. Args: brand_id: The brand the workflow belongs to (required). action: Lifecycle action. workflow_id: Required for…
mark_notifications_readMark notifications as read. Either pass `notification_ids` to mark specific events, or set `mark_all=True` to mark everything unread for the brand. One of the two is required. Args: brand_id: The brand the notifications belong to (required). notification_ids: IDs to mark read. mark_all: Mark every unread notification read.
preview_crawler_access_fixPreview a crawler access fix without applying it.
report_unmet_needReport a user request that no Trakkr tool can satisfy. Call this once only when the requested outcome is genuinely unavailable. Describe the request and the smallest missing capability. If relevant, list attempted Trakkr tools as a short comma-separated string. This records a product signal; it does not perform the missing action.
run_diagnosisDiagnose a specific search query across AI models. Runs the query through multiple AI models in real-time and analyzes how each model responds, whether the brand appears, what competitors show up, and what sources are cited. Subject to monthly usage limits. After starting a diagnosis, use get_diagnosis_result to check results (processing takes 30-60 seconds). Args: brand_id: The brand context for analysis (required). query: The search query to diagnose, 3-500 characters (required).
run_research_snapshotTrigger a topic snapshot research run. Generates 50 focused prompts on the supplied topic and runs them through the full Trakkr research pipeline (Gemini prompt generation + GPT-4o ranking + competitor normalization). Consumes one of the brand's monthly snapshot credits (5/mo per active brand) — call get_research_credits first to confirm availability. The brand must be active (tracking on). Only use when the user explicitly asks to run new research on a topic. Full prompt research runs are intentionally NOT exposed through the MCP — those run daily on a schedule. The snapshot runs asynchron…
scan_redditTrigger an on-demand Reddit scan for the brand. Most brands have a scheduled scan running daily. Use this only when you want results faster — for example after adding a new subreddit or trigger. Returns a job id; results land in the feed/opportunities views within a minute. Args: brand_id: The brand to scan (required).
send_crawler_verification_pingSend the crawler verification ping shown in the dashboard.
set_brand_locationSet a brand's primary location (country, optionally region/city). Pins the brand's home market so competitor analysis and AI search results are measured against the right region instead of defaulting toward global/US-skewed competitors. Use this when list_brands shows a brand has no location, or when its competitor set looks geographically wrong (e.g. a UK-only brand being compared against US companies). Updating the primary location reuses the brand's existing primary market — it does not consume an extra-market add-on. Args: brand_id: The brand to update (required). country: ISO-2…
submit_crawler_to_searchSubmit one or more crawler URLs to AI search. Args: brand_id: The brand to update (required). urls: Comma-separated absolute URLs to submit.
suggest_promptsSuggest fresh AI-search prompts to track for a brand. Generates generic, buyer-style category queries (never brand names) a customer might actually ask an AI, grounded in the brand's own profile: what it does, its market and language, and its competitors. Anything the brand already tracks is filtered out, so you only see new ideas. Prefer this over inventing prompts yourself. The suggestions are tuned to how Trakkr measures visibility (generic category demand, not branded lookups). Nothing is tracked until you create it with manage_prompt(action="create") or bulk_manage_prompts(action="creat…
update_brand_aliasesUpdate a brand's aliases (alternate names counted as the same brand). Aliases are the other ways a brand gets written: abbreviations, the legal name, a '.com' suffix, the misspelling an AI keeps using. Every alias is folded into the brand's visibility, so a missing one means mentions go uncounted. Reach for this when a brand looks under-counted because AI refers to it by a name Trakkr is not matching. Actions: - 'add' (default): merge these aliases into the existing set. Safe — it keeps whatever is already there. - 'remove': drop these aliases from the set. - 'set': replace the entire alia…
wrapper
Signals
- Weekly downloads
- 81
- Last release
- Sep 15, 2026 (1 month ago)
- Last package publish
- Oct 6, 2026 (23 days ago)
From the package registry.
Details
- Registry name
io.github.macklpgr/trakkr-mcp- Version
- 0.22.0
- Auth
- Auth not stated, API key
- Packages
- pypi trakkr-mcp
- License
- MIT
- Website
- trakkr.ai/learn/api/mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- Official MCP Registry
Cite this page
Trakkr MCP server. Agent Mart. https://agentmart.dev/connectors/macklpgr-trakkr-mcp (last updated 2026-10-24)