PeekPanda markpeekpandaDocumentationFor AI ↗Open app

PeekPanda docs

MCP

Connect an agent to the PeekPanda tool profile. MCP is the same owner-scoped contract as HTTP, not a second data source and not Astro's local MCP.

Download Markdown ↓

Setup preview

Preview contract: these routes and tools are implemented in the shared contract, but the public host, customer API access and OAuth flow have not been deployment verified. The public host is not deployment verified.

Claude Code

The contract audience is https://mcp.peekpanda.com/mcp. That host is not deployment verified. When it is live, add the remote HTTP server, launch Claude Code, run /mcp and complete authentication, then ask it to search for iOS calorie-tracking competitors.

claude mcp add --transport http peekpanda https://mcp.peekpanda.com/mcp
claude
/mcp

Codex

The contract audience is https://mcp.peekpanda.com/mcp. That host is not deployment verified. When it is live, add the remote server, log in through the shared OAuth flow, launch Codex, then ask: “Use PeekPanda to search for iOS calorie-tracking competitors.”

codex mcp add peekpanda --url https://mcp.peekpanda.com/mcp
codex mcp login peekpanda
codex

Tools

Every MCP tool shares the owner-scoped HTTP contract. This is not a second data source and not Astro's local MCP.

tool | HTTP route | scope
search_competitors | GET /v1/competitors | context:read
get_competitor | GET /v1/competitors/{platform}/{storeId} | context:read
list_competitor_categories | GET /v1/competitors/categories | context:read
get_similar_competitors | GET /v1/competitors/{platform}/{storeId}/similar | context:read
get_competitor_organic | GET /v1/competitors/{platform}/{storeId}/organic | context:read
get_competitor_aso | GET /v1/competitors/{platform}/{storeId}/aso | context:read
request_competitor_data | POST /v1/competitors/{platform}/{storeId}/data-requests | content:write
list_competitor_data_requests | GET /v1/competitors/{platform}/{storeId}/data-requests | context:read
search_organic_content | GET /v1/organic | context:read
get_organic_content | GET /v1/organic/{postId} | context:read
list_saved_organic_content | GET /v1/organic/saved | context:read
save_organic_content | POST /v1/organic/{postId}/saved | content:write
remove_saved_organic_content | DELETE /v1/organic/{postId}/saved | content:write
search_paid_ads | GET /v1/paid-ads | context:read
admin_search_paid_ad_advertisers | GET /v1/admin/paid-ads/advertisers | content:write
admin_preview_paid_ads | POST /v1/admin/paid-ads/preview | content:write
admin_import_paid_ads | POST /v1/admin/paid-ads/imports | content:write
admin_get_paid_ad_import | GET /v1/admin/paid-ads/imports/{runId} | context:read
admin_retry_paid_ad_import | POST /v1/admin/paid-ads/imports/{runId}/retry | content:write
admin_link_paid_ads | POST /v1/admin/paid-ads/links | content:write
get_paid_ad | GET /v1/paid-ads/{platform}/{archiveId} | context:read
generate_paid_ad_transcript | POST /v1/paid-ads/{platform}/{archiveId}/transcript | content:write
analyze_paid_ad_creative | POST /v1/paid-ads/{platform}/{archiveId}/analysis | content:write
save_paid_ad | POST /v1/paid-ads/{platform}/{archiveId}/saved | content:write
remove_saved_paid_ad | DELETE /v1/paid-ads/{platform}/{archiveId}/saved | content:write
list_aso_apps | GET /v1/aso/apps | context:read
track_aso_app | POST /v1/aso/apps | content:write
get_aso_workstation | GET /v1/aso/apps/{appId} | context:read
update_aso_app_role | PATCH /v1/aso/apps/{appId} | content:write
remove_aso_app | DELETE /v1/aso/apps/{appId} | content:write
add_aso_keywords | POST /v1/aso/apps/{appId}/keywords | content:write
remove_aso_keyword | DELETE /v1/aso/apps/{appId}/keywords/{keywordId} | content:write
refresh_aso_app | POST /v1/aso/apps/{appId}/refresh | content:write
get_aso_keyword_gap | GET /v1/aso/apps/{appId}/gap/{rivalStoreId} | context:read
search_ios_apps | POST /v1/aso/app-search | content:write
explore_aso_keyword | GET /v1/aso/keywords/{query} | context:read
refresh_aso_keyword | POST /v1/aso/keywords/{query}/refresh | content:write
request_ios_competitor | POST /v1/competitors/intake/requested | content:write
discover_emerging_ios_competitors | POST /v1/competitors/intake/emerging-discovery | content:write
get_competitor_estimate_history | GET /v1/competitors/{platform}/{storeId}/estimates/history | context:read
refresh_competitor_estimates | POST /v1/competitors/{platform}/{storeId}/estimates/refresh | content:write
get_competitor_media | GET /v1/competitors/{platform}/{storeId}/media | context:read
list_emerging_ios_competitors | GET /v1/competitors/intake/emerging | context:read
get_apple_charts | GET /v1/charts | context:read
get_apple_chart_history | GET /v1/charts/apps/{storeId}/history | context:read