All servers · Marketing & SEO · Shops & products
Replo
io.github.replohq/replo · v1.0.0
New (7 days)Has write/delete toolsTools changed (7 days)
Measured by MCP Station
| Last check | Reachable |
|---|---|
| Checked at | — |
| Check success 7 / 30 days | — |
| First-try success 30 days | — |
| Median response | — |
| Lookups 30 days | — |
| Authentication | No auth |
| MCP version | 2025-06-18 |
| Rank score | — |
| Declared risk | Has destructive tools (destructiveHint) |
| Capabilities declared | resources, tools |
| Tool definitions | 84 tools · with description 100% · input schema is an object 100% · read/destructive hints 100% |
Description written by the publisher, not verified
Research competitors and build, edit, and manage ecommerce sites from your AI assistant.
Connect
streamable-http · https://api.replo.app/v1/mcp
claude mcp add --transport http replo https://api.replo.app/v1/mcp{
"mcpServers": {
"replo": {
"url": "https://api.replo.app/v1/mcp"
}
}
}Tools as reported by the server
get_agent_sessionRetrieve a Replo session's current status, latest response, tool activity, errors, and pending interactions (permission requests and questions). Use to check progress after starting or continuing a session. When pendingInteractions is non-empty, show it to the user and wait for their answer, then paresolve_agent_interactionwrite/deleteResolve one pending Replo agent interaction with the user's explicit answer. For a permission request, pass type permission and the decision from its response options. For a question, pass type question and one answers array per form step, in order, holding the selected option values, or the user'sabort_agent_sessionwrite/deleteCancel the in-progress turn of a Replo session. Cancellation interrupts unfinished work and may leave partial changes. Completed changes are not rolled back, and the session is retained.query_replo_analyticsRun read-only ClickHouse SQL over a project's Replo analytics for traffic, conversion, revenue, and session-level questions. No saved Insights report is required. Use this for ad hoc questions or when list_insights_reports finds no relevant report; an empty report list does not mean analytics are uncreate_api_keyCreate an API key for user-requested local Git development of one Replo project at git.replo.app. Defaults to repo.read for cloning and pulling; include repo.write only for authorized pushes. Grants no publishing or workspace administration access. Requires permission to manage the selected project.find_assetsFind media and files in a project's asset library using semantic search or library metadata.upload_assetImport a file or publicly accessible URL into a project's asset library. Replo generates a semantic-search embedding by default.connect_custom_domainBegin connecting a custom domain to a Replo site. This creates a pending domain and returns the DNS records required before verification can activate it. Never connect a Shopify store's primary domain: Shopify runs checkout there.get_custom_domain_statusDiagnose a connected custom domain by inspecting its activation state and required DNS records.verify_custom_domainCheck DNS for a pending or stale custom domain and activate it when records have propagated. If verification cannot complete yet, the tool returns the current domain status instead of failing.report_bugReport a credible user-reported or directly observed Replo defect, including API, MCP, or documentation defects. Pass projectId from list_projects. Include expected/actual behavior, reported or performed reproSteps, retry/workaround outcomes, and observed errors or request IDs in errorContext. Marksubmit_feature_requestSubmit a feature request to Replo when the user asks to send feedback about a missing capability. Provide the projectId, a short title, and a concise description of the requested capability. Do not include conversation transcripts, verbatim messages, message references, credentials, or unrelated perlist_filesList private working documents and folders in a project. Omit parentId for My Files. Assets are a separate media library.get_fileRetrieve metadata for an existing Files document or folder by fileId.read_fileRead complete small UTF-8 documents in Files, or obtain a temporary download URL for binary and larger files.create_fileCreate a private document or folder in Files. Documents require a text, base64, or asset source. Asset sources copy without deleting the source. Folders have no source. Name conflicts never overwrite.update_filewrite/deleteRename or move an entry within its project. Set parentId to null to move it to My Files. Existing content is preserved; conflicts never overwrite.list_insights_reportsDiscover accessible private, team-shared, and individually shared Insights reports in a project. Follow nextOffset until null, even after an empty page. If no relevant report exists, use query_replo_analytics to answer the question directly; a saved report is not required. Use get_insights_report foget_insights_reportRead an existing report's definition, formulas, SQL, data sources, permissions, and resolved default scope. Accepts a report ID from list_insights_reports or the final UUID in an Insights URL. This returns the definition, not executed data. Call query_insights_report for data and explain the resultsquery_insights_reportExecute saved report queries using the same formulas and scope compiler as the Insights UI. Optionally override dates, comparison, filters, or breakdown. Returns structured rows and individual query errors. Check integration status for external sources; missing data is not measured zero. Use these rfind_ordersFind storefront orders when investigating a payment state or fulfillment state. Returns order summaries only: no customer contact details or payment identifiers are included. To look up a known customer's orders, pass their address as the `customerEmail` filter. Money amounts are integers in the curget_orderInspect the public record of one storefront order: line items, fulfillment, refunds, and event history. The customer's contact address is masked (`j••••@example.com`) and no payment identifiers are returned. Money amounts are integers in the currency's minor units (Stripe convention: 2500 = $25.00 Ufind_productsFind Replo-managed products for catalog, product-page, or checkout work. These are separate from products managed by Shopify or other integrations. If no Replo-managed products are found, tell the user they can connect Shopify from the Replo dashboard.get_productRetrieve the current public catalog details for a specific Replo-managed product.create_productCreate a Replo-managed product for native product pages or checkout flows. New products are active immediately.update_productwrite/deleteChange the current catalog details of a Replo-managed product. Null values clear nullable fields.set_product_inventorywrite/deleteSet stock counts and stock policy for a Replo-managed product's variants, addressing each variant by its option-value combination (empty optionValues for a product with no options). available is an absolute count, not a delta. Turning on trackInventory without an available count leaves the variant ulist_projectsList accessible Replo projects, optionally within one workspace. Use to resolve the project for the user's Replo request. Returns paginated projects or setup_required with eligible workspaces when project creation is available. Listing does not create a project. Follow next_cursor when more resultscreate_projectCreate a Replo project in a workspace selected for the user's requested work. Requires an eligible workspaceId from list_projects and a project name. Returns the created project; this changes the workspace's project list.get_projectRead one Replo project's settings: name, time zone, currency, support email, and checkoutProvider ('shopify' means Shopify Checkout, 'replo' means Replo checkout, null means checkout is off). Check checkoutProvider before promising Shopify checkout or when a Shopify-connected site's Checkout buttonupdate_projectwrite/deleteUpdate the supplied settings of a Replo project: name, time zone, currency, support email, or checkoutProvider. Changing checkoutProvider affects checkout on the project's sites after publication; Shopify checkout requires a connected store and Replo checkout requires payments onboarding. Publishingcreate_shared_previewCreate or recover a public live preview link to a site page without publishing. Anyone with the URL can view the draft from your account's existing preview workspace. Use projectId from list_projects and siteId from list_sites; supply the page route and omit locale for the default. Page availabilityrevoke_shared_previewwrite/deleteDisable a public shared preview link using the id returned by create_shared_preview. Only its creator with current project access or a workspace admin can revoke it. Repeating the request succeeds; page content is preserved. Revoke only the link the user requested.list_sitesFind the Replo site to inspect, manage, or clone within a project. Each site returns clone_url, the URL used to clone that site's code over Git, and is_default. When the user does not name a site, use the site with is_default true; if no site is default, ask which one to use. Results are paginated:update_sitewrite/deleteRename a Replo site's dashboard display name. This does not change its SEO page title or published page content.publish_sitewrite/deletePublish a site to make changes live. Requires the siteId from list_sites. Builds, packages, uploads, and deploys.list_tasksList scheduled Replo tasks in a project.get_taskInspect the schedule and current timing of a specific recurring Replo task.delete_taskwrite/deletePermanently delete a scheduled Replo task and stop all future runs.apply_brand_kit_to_sitewrite/deleteApply the project's saved brand to the selected site's shared style tokens, fonts, layout, and shared components. Affects that site's drafts, not the saved brand kit. Use create_or_update_brand_kit first if there is no saved brand. Starts an asynchronous internal-agent operation; poll get_agent_sessupdate_site_navigationwrite/deleteUpdate the selected site's shared navigation, header, or footer in its layout and shared components. Shared component changes affect all pages using them. Starts an asynchronous internal-agent operation; poll get_agent_session. For corrections, call this same tool with its sessionId and unchanged taupdate_site_metadatawrite/deleteUpdate site-wide SEO title, description, social preview, favicon references, or search visibility in the selected site's root layout. Does not rename the dashboard label. Starts an asynchronous internal-agent operation; poll get_agent_session. For corrections, call this same tool with its sessionIdupdate_site_trackingwrite/deleteAdd, change, or remove a user-requested analytics or marketing script in the selected site's root layout. Name the provider, identifiers, and requested behavior. After publication, the script may send visitor data to that provider. Starts an asynchronous internal-agent operation; poll get_agent_sessget_integration_statusCheck one integration's connection status in the selected Replo project. Returns connected, not_connected, or needs_reconnect, along with a dashboard URL for setup when available. externalAnalytics lists supported SQL views and their maximum cache age, not proof the connection can fetch metrics. Cheget_brand_kitRead the selected project's saved business information, overviews, colors, fonts, logo marks, and personas. Returns null when no brand exists. Makes no changes and does not start an agent session.create_or_update_brand_kitwrite/deleteCreate or update the project's saved brand: business information, colors, fonts, logos, personas, overviews, and brand-context file tags. May import from a public website URL; replacement can delete prior brand data and import assets/references. Does not restyle or publish a site: use apply_brand_kicreate_site_pagewrite/deleteCreate a draft page at one route in an existing site. Preserve existing pages. Supply copy, layout, product references, and design requirements in instructions. Starts an asynchronous internal-agent operation; poll get_agent_session. For corrections, call this same tool with its sessionId and unchanedit_site_pagewrite/deleteEdit the selected site's draft page at one route, including its copy, sections, product display, forms, and page-local components. Shared component edits may affect other pages using them. Starts an asynchronous internal-agent operation; poll get_agent_session. For corrections, call this same tool wdelete_site_pagewrite/deleteRemove the selected route's draft page. Its published copy remains live until a separate publication removes it. Does not delete the site or other routes. Starts an asynchronous internal-agent operation; poll get_agent_session. For corrections, call this same tool with its sessionId and unchanged tacreate_insights_reportwrite/deleteCreate a saved Replo Insights report from instructions, existing reports, analytics, or files. Starts an asynchronous internal-agent operation using normal Replo tools and connected integrations. Poll get_agent_session; its final message contains the saved result ID and link after validation. Use thedit_insights_reportwrite/deleteEdit an existing saved Insights report in place, preserving its identity and sharing. Requires write permission. Starts an asynchronous internal-agent operation using normal Replo tools and connected integrations; poll get_agent_session for progress, questions, failures, and the validated result lincreate_artifactwrite/deleteCreate a saved Replo artifact from instructions, existing reports, analytics, or files. Starts an asynchronous internal-agent operation using normal Replo tools and connected integrations. Poll get_agent_session; its final message contains the saved result ID and link after validation. Use the sameedit_artifactwrite/deleteEdit an existing saved artifact in place, preserving its identity and sharing. Requires write permission. Starts an asynchronous internal-agent operation using normal Replo tools and connected integrations; poll get_agent_session for progress, questions, failures, and the validated result link. Follsightglass_showShow a prior Sightglass result to the user as an inline card, in hosts that draw cards. Call it once, after the data call that answered the user's question, with that call's resultId. This call returns the stored result without searching again or spending credits. Skip it for empty results. Where thsightglass_find_adsSearch a library of real Meta ads and the landing pages they drive to. `search` is a semantic vector search, so describe the ad's angle, offer or visual style rather than one keyword. Combine it with companyIds, displayFormats, pageTypes and technologies to narrow, and with hookTypes, angleTypes, ofsightglass_search_companiesSearch Sightglass companies — what users call brands: the business behind one or more Meta advertiser pages, keyed on its domain. `search` is semantic, so describe the business (what it sells and to whom). Pass `similarToCompanyId` to find a company's nearest competitors instead. To look a brand upsightglass_get_companyOne company's full profile plus its six nearest competitors. Use the id or slug from sightglass_search_companies, or the `companySlug` on an ad's advertiser. Includes the category breadcrumb, every Meta page the company runs, grade mix, and the Momentum components. Call sightglass_get_company_activisightglass_get_company_activityHow one brand's advertising has moved: its daily active-ad trend, ads launched per week, how long its ads stay live (longevity buckets), and the technology stack on its site with when each tool was first seen. Use it for 'is this brand scaling up or pulling back' and 'what did they change'. The trensightglass_get_rankingsThe market view: who holds what share of active ads, week by week. `pulse` is the headline numbers for the scope (brands, active ads, launches, video and advertorial share). `share` is the weekly share of the top groups, grouped by company (default), category, platform, country or plan. `categories`sightglass_find_site_pagesFind destination pages ads drive to — what users call 'landing pages'. Filter by pageTypes (offer_page, advertorial, listicle, quiz, lead_capture, homepage, pdp, collection, blog, marketplace, app_store, social_profile) and by the technologies detected on the site, e.g. Shopify or Klaviyo. `search`sightglass_get_site_pageFetch one landing page in full: desktop, mobile and pre-popup screenshots as viewable URLs, the site's detected technology stack, its traffic estimates, and how many live ads point at it. Fields the user's Replo plan doesn't include come back null and are named in that item's `locked` list (`estimatsightglass_get_adFetch one ad in full: copy, creative caption, duplication facts, its destination landing page, and presigned media URLs you can pull into context to look at the creative itself. Returns data only: nothing is shown to the user yet. Once you know the answer, call sightglass_show once with this call'ssightglass_find_technologiesThe technology directory: the apps and vendors detected on tracked brands' sites (Shopify, Klaviyo, Recharge…), ranked by how many brands use each and how those brands are doing. Pass `slug` for one technology's adopter stats and its category peers. To list the brands or ads behind a technology, passightglass_get_accessWhat the user's Replo plan includes in Sightglass: the plan name, row caps per list, whether sales and traffic estimates are included, the history and trend windows, and how many new-brand researches are used and left this month. Call it when a result comes back with locked fields and the user askssightglass_list_savedWhat the user has collected in Sightglass. Returns up to 100 boards with nextBoardCursor for more; pass boardCursor to continue. With no `kind` it adds a count summary; with `kind` it lists saved ads, landing pages (site_pages), companies or followed brands. Pass nextCursor as cursor for the next pasightglass_create_boardCreate a named board in the user's Sightglass collection. A board holds one kind of item: ad, site_page (landing pages), company (brands) or persona. Returns the board and its id.sightglass_update_boardRename one of the user's Sightglass boards.sightglass_delete_boardwrite/deleteDelete one of the user's Sightglass boards and everything saved on it. This cannot be undone, so only call it when the user asked for this board to be deleted.sightglass_follow_companieswrite/deleteSet the brands the user follows in Sightglass. companyIds replaces the whole list, so read the current one with sightglass_list_saved (kind=following) and include the ones to keep. Followed brands feed the user's home view and offer calendar.sightglass_research_companywrite/deleteFind or add a company by website domain and queue background research into its ads, landing pages, store details, and technologies. Newly tracked companies consume one monthly research allowance when research is dispatched. Already tracked companies do not consume another allowance. Results populatesightglass_copy_creative_to_assetsCopy one ad creative's image from Sightglass into the Replo project's Assets, so it can be used as a reference in the project. Takes the `creative.id` of an ad, not the ad's own id. Returns the asset's id and URL; copying the same creative again returns the existing asset.sightglass_find_campaignsA brand's offer campaigns: what deal it ran (discount, bundle, free gift…), in plain English, from when to when, how deep, on how many ads and landing pages, with the exact quote it was read from. Grouped from the brand's ads and page captures; a deepening discount (5% → 10%) is one campaign with stsightglass_find_offersOffer campaigns across brands. With no companyRefs, `mode` is 'top': the offers running across every tracked brand in the trailing window, sorted by how many ads carry them, how long they have run, or how deep the discount is. With companyRefs, `mode` is 'calendar': those brands' campaigns in a datesightglass_find_anglesA brand's angles: the pitch each ad leans on, for whom; offers sit on top. Each angle has a type (problem/solution, proof, founder story…), a short name for the idea, the newest headline hook, the persona it speaks to (a segment nickname, the buyer's situation in their words, an age range when the asightglass_find_top_anglesThe angles in use across every tracked brand in the trailing window: the same shape as sightglass_find_angles, with the brand on each. Filter by angle type, the age band or awareness stage of the persona it speaks to, and sort by ads, landing pages or newest. Use it for 'what pitches are brands usinsightglass_find_personasA brand's customer personas: who it markets to, their age range and awareness stage, with the angles and offers aimed at each. Each persona is a segment nickname, the buyer's situation in their words, its share of the brand's ads, how many ads and landing pages speak to it, and its top angles and ofsightglass_arena_comparePlace personas, ads, landing pages or companies (brands) on one or two 'this vs that' axes, the same map the user sees in Sightglass Arena. Each item gets a position per axis from 0 (most like the low end) to 100 (most like the high end), relative to the items returned, plus the raw similarity. Usesightglass_get_site_page_versionsHow one landing page changed over time: its dated captures, newest first, each with a screenshot and the offers read from it. Use it for 'what did they change on this page' and to see when an offer appeared or deepened. The window depends on the plan. Fields the user's Replo plan doesn't include comsightglass_xrayStart an X-ray: a graded teardown of one ad (with its landing page, as a funnel) or one landing page, scored against what works in its category. Pass exactly one of adId or sitePageId. This spends the workspace's Replo credits (the model cost, or one credit when a grade already exists), so only callsightglass_get_xrayRead an X-ray. Pass requestId to poll a grade started with sightglass_xray (a finished request is billed when first read). Pass adId or sitePageId to read the grade itself: scores, findings and fixes, as far as the workspace has unlocked it. A target nobody has graded returns its summary with the grconnect_replo_accountSign the user in to Replo. Call this only after the user agrees to connect an account, usually after a tool returned status sign_in_required; it opens the client's sign-in window. Once signed in it returns who they are. Then call list_workspaces.list_workspacesThe user's Replo workspaces with each one's plan (free, starter or pro). Call right after sign-in: use the only workspace, or ask the user once which to use when there are several, then pass its id as workspaceId on Sightglass calls. Also use it when the user wants to switch workspaces.get_plan_optionsThe workspace's current Replo plan, and the Starter and Pro plans' monthly prices and what each adds in Sightglass (sales and traffic estimates, trends, more brand research). Use it when a result names a locked field or a higher plan, or the user asks about upgrading.start_plan_upgradeStart buying a Replo plan for a free workspace. Returns { status, url, message }: status checkout means url is a Stripe Checkout link for the user to open and pay, and nothing is charged until they finish there. status manage_in_dashboard means url is the workspace's billing settings, for a workspac
Tool changes
- 2026-10-23: get_agent_session, resolve_agent_interaction, abort_agent_session, query_replo_analytics, create_api_key, find_assets, upload_asset, connect_custom_domain, get_custom_domain_status, verify_custom_domain, report_bug, submit_feature_request
- 2026-10-21: get_agent_session, resolve_agent_interaction, abort_agent_session, query_replo_analytics, create_api_key, find_assets, upload_asset, connect_custom_domain, get_custom_domain_status, verify_custom_domain, report_bug, submit_feature_request
- 2026-10-20: get_agent_session, resolve_agent_interaction, abort_agent_session, query_replo_analytics, create_api_key, find_assets, upload_asset, connect_custom_domain, get_custom_domain_status, verify_custom_domain, report_bug, submit_feature_request
Website · JSON · Text for agents · Registry updated 2026-10-19