io.github.replohq/replo · v1.0.0 · ecommerce
Replo is healthy: it completed an MCP handshake in 2596 ms and exposes 77 tools.
Research competitors and build, edit, and manage ecommerce sites from your AI assistant.
Endpoint: https://api.replo.app/v1/mcp (streamable-http)
No repository listed · Website · JSON · Add to my inventory
| Users (last 30 days) | 0 |
| Handshake | Healthy |
| Auth needed | None |
| Tool count | 77 |
| Latency | 2596 ms |
| Last checked (UTC) | 2026-10-19T22:01:01.613Z |
| Checked (UTC) | Status | Latency | Error |
|---|---|---|---|
| 2026-10-19T22:01:01.613Z | Healthy | 2596 |
get_agent_session | Retrieve 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 pa |
resolve_agent_interaction | Resolve 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's |
abort_agent_session | Cancel 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_analytics | Run read-only ClickHouse SQL over a project's Replo analytics for traffic, conversion, revenue, and session-level questions. Queryable public tables are session_attribution, events_computed, currency_exchange_rates, daily_page_rollups, daily_namespace_rollups, and daily_namespace_purchase_rollups. O |
create_api_key | Create 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_assets | Find media and files in a project's asset library using semantic search or library metadata. |
upload_asset | Import a file or publicly accessible URL into a project's asset library. Replo generates a semantic-search embedding by default. |
connect_custom_domain | Begin 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_status | Diagnose a connected custom domain by inspecting its activation state and required DNS records. |
verify_custom_domain | Check 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_bug | Report 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. Mark |
submit_feature_request | Submit 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 per |
list_files | List private working documents and folders in a project. Omit parentId for My Files. Assets are a separate media library. |
get_file | Retrieve metadata for an existing Files document or folder by fileId. |
read_file | Read complete small UTF-8 documents in Files, or obtain a temporary download URL for binary and larger files. |
create_file | Create 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_file | Rename or move an entry within its project. Set parentId to null to move it to My Files. Existing content is preserved; conflicts never overwrite. |
find_orders | Find 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 cur |
get_order | Inspect 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 U |
find_products | Find 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_product | Retrieve the current public catalog details for a specific Replo-managed product. |
create_product | Create a Replo-managed product for native product pages or checkout flows. New products are active immediately. |
update_product | Change the current catalog details of a Replo-managed product. Null values clear nullable fields. |
set_product_inventory | Set 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 u |
list_projects | List 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 results |
create_project | Create 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_project | Read 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 button |
update_project | Update 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. Publishing |
create_shared_preview | Create 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 availability |
revoke_shared_preview | Disable 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_sites | Find 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_site | Rename a Replo site's dashboard display name. This does not change its SEO page title or published page content. |
publish_site | Publish a site to make changes live. Requires the siteId from list_sites. Builds, packages, uploads, and deploys. |
list_tasks | List scheduled Replo tasks in a project. |
get_task | Inspect the schedule and current timing of a specific recurring Replo task. |
delete_task | Permanently delete a scheduled Replo task and stop all future runs. |
apply_brand_kit_to_site | Apply 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_sess |
update_site_navigation | Update 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 ta |
update_site_metadata | Update 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 sessionId |
update_site_tracking | Add, 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_sess |
get_integration_status | Check 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. connectFailureMessage explains a failed connection attempt. isAlwaysAvailable identifies a built-in integration; isSetti |
get_brand_kit | Read 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_kit | Create 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_ki |
create_site_page | Create 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 unchan |
edit_site_page | Edit 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 w |
delete_site_page | Remove 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 ta |
sightglass_show | Show 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 th |
sightglass_find_ads | Search 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, of |
sightglass_search_companies | Search 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 up |
sightglass_get_company | One 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_activi |
sightglass_get_company_activity | How 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 tren |
sightglass_get_rankings | The 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_pages | Find 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_page | Fetch 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 (`estimat |
sightglass_get_ad | Fetch 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's |
sightglass_find_technologies | The 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, pas |
sightglass_get_access | What 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 asks |
sightglass_list_saved | What 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 pa |
sightglass_create_board | Create 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_board | Rename one of the user's Sightglass boards. |
sightglass_delete_board | Delete 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_companies | Set 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_company | Find 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 populate |
sightglass_copy_creative_to_assets | Copy 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_campaigns | A 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 st |
sightglass_find_offers | Offer 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 date |
sightglass_find_angles | A 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 a |
sightglass_find_top_angles | The 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 usin |
sightglass_find_personas | A 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 of |
sightglass_arena_compare | Place 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. Use |
sightglass_get_site_page_versions | How 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 com |
sightglass_xray | Start 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 call |
sightglass_get_xray | Read 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 gr |
connect_replo_account | Sign 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_workspaces | The 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_options | The 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_upgrade | Start 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 |