Horizontal

实测可用数据库和数据开发和代码

Fictura

Paywalls, onboarding, subscription analytics, A/B tests, attribution and errors for mobile apps.

地址https://mcp.fictura.co/mcp
Claude Codeclaude mcp add --transport http mcp https://mcp.fictura.co/mcp
Cursor 等客户端的配置
{
  "mcpServers": {
    "mcp": {
      "type": "http",
      "url": "https://mcp.fictura.co/mcp"
    }
  }
}

连接时它要:X-API-Key

要注意

有会改数据的工具:4 个

服务方自己把这些工具标成了会删除或改写数据(destructiveHint),让智能体调用前先问你。

测试结果
实测可用:握手成功
工具
47 个工具
握手用时
2.7 秒
传输方式
streamable-http · 2025-06-18
测试时间
2026 年 11 月 6 日
官方目录名称
co.fictura/mcp v0.1.2
登记于
2026 年 10 月 29 日
更新于
2026 年 10 月 29 日
网站
docs.fictura.co/connections/outgoing/mcp-server
代码
github.com/Apex-Byte-Technologies/fictura-mcp
也能装到本机
1 个安装包
最近 1 次测试
时间结果用时
2026-11-06 12:12 UTC握手成功2.7 秒

它列出的 47 个工具

“只读”和“会改数据”是服务方自己标的。带下划线的参数是必填的。

  1. check_entitlement只读

    Check whether a user is subscribed

    The authoritative paid/not-paid verdict for one user, unified across Stripe, RevenueCat, App Store and Play — the same answer GET /api/v1/entitlements/{user_id} returns to a server. Note: `environment` is SANDBOX when the verdict rests on test purchases, so always check it before granting production access; a cancellation only flips will_renew (access runs to expires_at); and an unknown user is a valid 'none' answer, not an error.

    user_id

  2. create_onboarding_draft

    Create a new DRAFT onboarding flow

    Creates a draft onboarding flow from a document you wrote (see get_onboarding_doc's reference). It is never made live: going live is done in the dashboard. Needs an MCP key that can edit.

    name doc

  3. create_paywall_draft

    Create a new DRAFT Studio paywall

    Creates a draft paywall from a Studio template (template_key, from list_templates — the webview ones) or from a document you wrote. It is never made live: going live is done in the dashboard. Needs an MCP key that can edit.

    name template_key doc

  4. create_tracking_link

    Create a tracking link

    Creates a tracking link and returns its shareable URL. A tap is logged as a click, then redirected to destination_url with the click's id, which is how an install is credited to the link. Use the store address for a real campaign, or the app's own scheme (myapp://) for a link that opens the app in a test. Creates a new link each time; nothing existing changes. Needs read and edit access.

    name destination_url slug provider campaign_id deep_link_value play_store_url

  5. editor_get_doc只读

    Read the document open in the paired editor

    The document exactly as it is on the person's screen (unsaved changes included), which paywall it is, the screen they are on and the node they have selected, plus the document model reference. Read this before editor_set_doc and edit what you got — keep node ids, change only what was asked.

    pairing_id

  6. editor_set_doc会改数据

    Put a document on the paired editor's canvas

    Replaces the document in the person's open editor with the one given. It is NOT saved: the person sees the change, can undo it, and saves it themselves. The document is validated first and refused with the problems if it does not parse. Needs an MCP key that can edit.

    pairing_id doc note

  7. get_acquisition_report只读

    Get paid acquisition performance

    `roas` gives per-campaign spend, attributed installs/trials/paying users, revenue, CPI, CAC and ROAS, plus blended totals and explicitly-unattributed revenue — always keep attributed and blended figures apart when reporting these. `spend` gives raw daily ad-spend rows. `links` lists this app's tracking links.

    view since until provider days

  8. get_analytics只读

    Get funnel, overview or cohort analytics

    This app's real numbers. `overview` gives headline metrics (users, trials, trial→paid rate, events by name, cancel reasons, 14-day activity). `funnel` gives the ordered conversion funnel with per-step drop-off. `cohorts` compares behaviour across billing outcomes — what converted users did that cancelled users didn't. Below ~100 users in a step the sample is too small to read. `stores` splits paying users, purchases and revenue by App Store / Google Play / web and by storefront country (last 28 days).

    view

  9. get_app_setup只读

    Get this app's Fictura credentials and endpoints

    The real values needed to wire the Fictura SDK into a codebase: the API base URL, this app's publishable SDK key (gk_…), and the RevenueCat webhook URL. ALWAYS call this before generating integration code — never leave a placeholder API key in what you write. The SDK key is publishable and safe to commit in app source; it identifies the app, not a person.

  10. get_appsflyer_attribution_summary只读

    Summarize imported AppsFlyer attribution

    What the AppsFlyer import brought in about where people came from: people with an imported attribution, split by media source (organic included) and acquisition vs retargeting, plus the top campaigns. Filters on the install date. Imported verdicts never overwrite an attribution Fictura's own SDK resolved. For revenue and ROAS by source, use get_attribution_report with view=kpis.

    since until top_campaigns

  11. get_appsflyer_import_status只读

    Get AppsFlyer import status

    Whether AppsFlyer is connected, the latest import run (status, progress, rows imported, duplicates skipped, people created, date range covered, error if it stopped), and whether an import has ever finished. Call before start_appsflyer_import so a finished import is not offered again as though nothing had happened.

  12. get_attribution_report只读

    Get attribution, install and KPI reporting

    Where installs and revenue actually came from. `summary` is the headline attribution picture (installs, organic vs non-organic, revenue). `kpis` breaks the same window down by source, campaign, link or day. `installs` lists individual installs with their attribution. Defaults to the trailing 28 days.

    view since until group_by limit

  13. get_error_issue只读

    Get one error issue with stack traces

    One issue in full: the group, its 50 most recent occurrences with stack traces, release and environment, and 30 days of daily counts. This is the tool to reach for when asked to fix a production error. When the app uploaded source maps, each occurrence also has `stack_resolved` and `frames` (original file, line, column and function; `in_app` marks the app's own code) — read those instead of the minified `stack`. An occurrence with a trace_id can be opened with get_trace.

    issue_id

  14. get_error_issue_brief只读

    Get an issue brief and a fix prompt

    One issue condensed for fixing it: latest stack (resolved when source maps exist), in-app frames, breadcrumbs before it, facets (release, OS, device, screen), cause chain, and a ready-to-use fix prompt.

    issue_id

  15. get_experiment只读

    Get one experiment

    One experiment with its variants and full Bayesian results.

    id

  16. get_link_infrastructure只读

    Get deep link and tracking domain configuration

    How links reach the app. `app_links` is the most important for integration work: it returns the iOS team id, bundle id, Android package and SHA-256 fingerprints that Fictura serves in the Universal Links / App Links association files, plus ios_ready and android_ready. Get these wrong and BOTH files fail SILENTLY — they parse, associate nothing, report no error, and links simply keep opening the browser instead of the app, so verify the ready flags rather than assuming. `domains` lists branded link domains and their DNS verification state, `web_config` the web-to-app smart banner, `esp` the email provider link setup.

    view

  17. get_onboarding_doc只读

    Get an onboarding flow's document

    The JSON document a builder-made onboarding flow is made of, with its status and version, plus the reference to the document model. Read this before save_onboarding_doc, and edit the document you got rather than writing one from scratch — keep step keys and node ids, change only what was asked.

    id

  18. get_paywall_doc只读

    Get a Studio paywall's document

    The JSON document a Studio (visual editor) paywall is made of, with its status and version, plus the reference to the document model. Read this before save_paywall_doc, and edit the document you got rather than writing one from scratch — keep node ids, change only what was asked. Prices are never typed: use {{ products.<slot>.price }} and the other product variables.

    id

  19. get_push_config只读

    Get push notification configuration

    Whether push is set up and who could receive it: registered-device counts per billing cohort (all / paid / trial / free) and whether OneSignal is configured. Returns counts and configuration only — never device tokens or individual recipients.

  20. get_setup_status只读

    Get setup progress, integrations and feature status

    Where this app has got to: the six setup steps and which are really done, worked out from data that has arrived, then the billing state, every Fictura feature toggle and whether it is on, and which third-party integrations (Stripe, RevenueCat, Slack, App Store Connect, …) are connected. Use it to check a setup step worked, and to check a feature is enabled before writing code that depends on it — a disabled tool is a server-side kill switch the SDK obeys.

  21. get_setup_step只读

    Get the instructions for one setup step

    What to do for one of Fictura's six setup steps, ready to follow: the instructions, this app's real values (so there is nothing to fill in), the full text of that step's docs pages, and how to check it worked. Call this when a person pastes a setup prompt, and follow what it returns rather than recalling the SDK from memory. Steps in order: install, connect, events, attribution, errors, performance.

    step

  22. get_store_analytics只读

    Get App Store and Google Play analytics (Appfigures)

    Store-reported numbers synced from Appfigures: downloads, re-downloads, updates, uninstalls, store revenue after the store's cut (subscriptions, in-app purchases, ads), top countries, the ratings snapshot, recent reviews with text, and category chart positions. Money is in micros of `currency`. Store revenue is a separate figure from RevenueCat revenue; never add the two. Returns connected: false when Appfigures is not set up.

    days reviews

  23. get_surface只读

    Get one paywall or onboarding flow's config

    The full configuration of one paywall or onboarding flow, plus its version history. Note that configs never contain price strings — prices resolve at render time from the PurchasesAdapter's packages, so never copy a price literal out of (or into) a config.

    kind id

  24. get_trace只读

    Get one distributed trace

    Every span of one trace (app → backend → dependencies) as a tree: names, services, start offsets, durations, HTTP status and errors, plus the error events linked to the trace. Take the trace_id from an occurrence in get_error_issue. Use it to see where the time went or what failed first.

    trace_id

  25. get_tracking_plan只读

    Get the event tracking plan

    Every event this app has ever sent, with volume, last-seen, and whether capture is switched off. Use it before adding instrumentation so you reuse the existing event name instead of introducing a near-duplicate — the name chosen here is the same string an experiment later names as its primary metric.

  26. get_user只读

    Get one user's full history

    One user's identity (every stitched device / account / RevenueCat id), event breakdown, churn state and recent activity. Accepts the Fictura master user id, or any identifier the app knows them by — a device id, account id or RevenueCat id.

    user_id

  27. list_campaigns只读

    List live ad campaigns

    Campaigns read live from a connected ad platform: status, daily budget and ad sets. Returns a not_connected result rather than failing when the provider is not set up. This calls the provider's API, so prefer get_acquisition_report for historical numbers.

    provider

  28. list_creators只读

    List creators and their performance

    Creator records with a 28-day funnel per creator (clicks, installs, trials, paying users) and the tracking links tagged to each.

  29. list_docs只读

    List Fictura documentation pages

    The full documentation index — every page path, grouped by section, with a one-line description. Use it to find the right page when a search term is hard to guess. No API key required.

  30. list_error_issues只读

    List error issues

    The error feed: grouped issues with level, status, event and user counts, a 14-day sparkline, plus the app's uptime summary. Defaults to unresolved issues only. `synthetic: true` marks console lines the SDK captured, not crashes.

    status include_legacy

  31. list_experiments只读

    List experiments

    Every experiment with status and, for running or finished ones, full Bayesian results — exposures, conversions, and the probability each variant is best.

  32. list_store_products只读

    List App Store subscription products

    This app's auto-renewable subscriptions in App Store Connect: product id, billing period and Apple review state. Use it to check that a paywall references a product that actually exists. Pass subscription_id to also fetch Apple's price ladder for that one product (Apple scopes price points per subscription, so there is no global list).

    subscription_id territory

  33. list_surfaces只读

    List paywalls, onboarding flows and placements

    Every paywall and onboarding flow, what is actually being served at each placement (running experiment > live > none), and the valid placement names. IMPORTANT: read `placements` before writing a placement string into code. The list is configured ∪ observed, so a name that appears only under `observed` is usually a typo in the app — and a placement that does not exist renders nothing at all, with no error.

  34. list_templates只读

    List built-in paywall and onboarding templates

    The one-click starter templates available for paywalls or onboarding flows, with the template key and what each looks like. Use this when asked to add a paywall so you pick a real template key rather than inventing one.

    kind

  35. list_users只读

    List users

    The app's users, most recently active first — each with an identity label, event count, last seen, and derived churn state (in_trial, converted, cancelled, expired, billing_issue, grace_period, paused, refunded, none). Capped so a large app does not flood the context; `total` reports how many matched before the cap.

    limit churn_state

  36. pair_editor

    Pair with an open Studio editor

    Connects to the paywall editor a person has open, using the 6-character code shown under “Pair an agent” in the Studio. Returns a pairing_id for the editor_* tools. The code works once and for 10 minutes; a pairing lasts 24 hours or until either side stops it.

    code

  37. read_doc只读

    Read a Fictura documentation page

    The complete markdown of one documentation page. Accepts a site-relative path such as '/implementation/welcome/sdk-quickstart' (a full docs.fictura.co URL works too). If the path is wrong, the closest real paths come back as suggestions. No API key required.

    path

  38. save_onboarding_doc会改数据

    Save a DRAFT onboarding flow's document

    Replaces a draft flow's document with the one given, as a new version (the dashboard's history shows it as `mcp: <note>` and can roll it back). Refused for a live flow. Needs an MCP key that can edit. Translations, overrides and the exit setting are kept.

    id doc note

  39. save_paywall_doc会改数据

    Save a DRAFT paywall's document

    Replaces a draft paywall's document with the one given, as a new version (History in the dashboard shows it as `mcp: <note>` and can roll it back). Refused for a live paywall — copy it in the dashboard first. Needs an MCP key that can edit. Products, translations and other settings are kept.

    id doc note

  40. search_docs只读

    Search Fictura documentation

    Full-text search across the Fictura docs, grouped by page. Use this before answering any 'how do I…' question about the SDK, API, paywalls, entitlements, links or webhooks — the docs are the source of truth and are regenerated on every code change. Returns page paths; pass one to read_doc for the full text. No API key required.

    query limit

  41. search_error_issues只读

    Search error issues

    Find issues by text in the title or culprit, platform, or release (first or last seen in). Returns the same rows as list_error_issues, filtered.

    query status platform release limit

  42. start_appsflyer_import

    Start the AppsFlyer import

    Import everything AppsFlyer holds for this app: installs and the channel, campaign, adset and ad behind each one, in-app events and purchases, uninstalls, reinstalls, ad revenue and retargeting traffic. All twelve raw-data reports are walked; ones the AppsFlyer plan lacks are skipped, not failed. Runs in the background and keeps going after this call. mode 'auto' (default) only pulls the days since the last finished import when there is one, and walks the full history otherwise. 'full' re-walks everything. resume=true continues a failed or cancelled run from where it stopped. Safe to call while a run is going: it reports that run instead of starting another. Anything already imported is counted once. Check progress with get_appsflyer_import_status.

    mode resume

  43. unpair_editor

    End the pairing with the editor

    Stops this pairing. The editor shows that the agent left.

    pairing_id

  44. update_app_identity会改数据

    Save this app's bundle ID, Team ID and store details

    Saves what the app IS to Apple, Google and the web: the iOS bundle ID and Apple Team ID (which build the Universal Links file), the Android package and signing fingerprints (which build the App Links file), both store addresses and the website. Send only the fields you know. Every value is checked before saving, because a bad one makes links fail with no error anywhere. A value already saved is not overwritten unless replace_existing is true: changing a bundle ID on a live app breaks its links, so ask the person first. Needs read and edit access.

    ios_bundle_id ios_team_id android_package android_sha256 ios_store_url android_store_url web_url replace_existing

  45. update_error_issue

    Change an error issue

    Resolve, ignore or reopen an issue, assign it, set its priority, or add a note. Only works when the app allows MCP writes (Issues settings → Let MCP keys change issues).

    issue_id status resolved_in_release assignee priority note

  46. validate_onboarding_doc只读

    Check an onboarding document without saving it

    Runs a document through the same parser, step-key check and renderer a save uses and reports what is wrong, if anything. Changes nothing.

    doc

  47. validate_paywall_doc只读

    Check a paywall document without saving it

    Runs a document through the same parser and renderer a save uses and reports what is wrong, if anything. Changes nothing.

    doc

这是你的服务?

认领后,服务坏了第一时间知道,还能改正这一页、提交你自己的用法。

测试只做握手和列出工具,没有调用任何工具。名称和说明是登记的人写的,原样展示,我们没有核实。

回到 MCP 服务实测