Fictura

Official registry Marketing and sales

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

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

Remote (streamable-http)
Claude Code
claude mcp add --transport http fictura 'https://mcp.fictura.co/mcp' --header 'X-API-Key: <Optional Fictura MCP key (fk_mcp_...) from Dashboard > Setup > Coding agents (MCP). Leave it out to sign in with your Fictura account (OAuth) instead.>'
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "fictura": {
            "type": "http",
            "url": "https://mcp.fictura.co/mcp",
            "headers": {
                "X-API-Key": "<Optional Fictura MCP key (fk_mcp_...) from Dashboard > Setup > Coding agents (MCP). Leave it out to sign in with your Fictura account (OAuth) instead.>"
            }
        }
    }
}
NPM package @fictura/mcp
Claude Code
claude mcp add fictura -e 'FICTURA_MCP_KEY=<your fictura_mcp_key>' -e 'FICTURA_API_BASE=https://api.fictura.co' -- npx -y @fictura/mcp@0.1.2
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "fictura": {
            "command": "npx",
            "args": [
                "-y",
                "@fictura/mcp@0.1.2"
            ],
            "env": {
                "FICTURA_MCP_KEY": "<your fictura_mcp_key>",
                "FICTURA_API_BASE": "https://api.fictura.co"
            }
        }
    }
}

Environment variables

  • FICTURA_MCP_KEY secret Fictura MCP key (fk_mcp_...) from Dashboard > Setup > Coding agents (MCP). Leave it out to sign in with your Fictura account in the browser instead. The documentation tools work either way.
  • FICTURA_API_BASE Override the Fictura API base URL. Leave unset unless Fictura support asks you to change it.

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Fictura MCP server
  2. What your agent can do
  3. Connect
  4. Authentication
  5. Tools
  6. Security
  7. This repository
  8. Links
  9. License

Fictura MCP server

Give your AI agent your mobile app's real paywalls, funnels, experiments, attribution and crashes, and let it build paywall and onboarding drafts you review before anything goes live.

Fictura is the growth platform for Expo and React Native apps: paywalls and onboarding flows built in the Studio editor, subscription analytics and funnels, A/B experiments, attribution and ad spend, deep links, App Store and Google Play analytics, and error tracking with stack traces. This server puts all of it in reach of Claude, ChatGPT, Codex, Cursor, VS Code, Windsurf, Gemini CLI and any other MCP client.

https://mcp.fictura.co/mcp

Streamable HTTP, stateless, JSON responses. https://api.fictura.co/mcp serves the same server.

What your agent can do

AskWhat happens
"Add Fictura to this Expo app and show the onboarding flow at the right placement."Reads the app's real SDK key and API base (get_app_setup), the docs (read_doc) and the placements that exist (list_surfaces), then writes the integration with no placeholders.
"Why did trial-to-paid drop last week? Show me where people leave the funnel."Pulls the funnel with drop-off per step and compares cohorts (get_analytics).
"Fix the top crash in the latest release."Finds the issue, reads its source-mapped stack, breadcrumbs and a fix prompt (list_error_issues, get_error_issue_brief), then edits your code.
"Draft an annual-plan paywall from a template so I can review it in Studio."Picks a real template (list_templates) and creates a draft (create_paywall_draft). You publish it in the dashboard, or don't.

More: "Which campaigns paid back this month?" (get_acquisition_report), "Which experiment is winning, and how sure are we?" (list_experiments), "Are Universal Links set up right?" (get_link_infrastructure).

Connect

One-click

Both buttons add the URL only; sign in with your Fictura account when the editor asks. If the buttons do nothing on your system, open these links directly:

cursor://anysphere.cursor-deeplink/mcp/install?name=fictura&config=eyJ1cmwiOiJodHRwczovL21jcC5maWN0dXJhLmNvL21jcCJ9
vscode:mcp/install?%7B%22name%22%3A%22fictura%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.fictura.co%2Fmcp%22%7D
Claude (claude.ai, Claude Desktop, Cowork)
  1. Open Customize → Connectors, select + Add, then Add custom connector.
  2. Name it Fictura, paste https://mcp.fictura.co/mcp and select Continue.
  3. Keep the detected sign-in settings, select Add, then connect and sign in with Fictura. To use an MCP key instead, choose No sign in and add the key under Request headers as X-API-Key.

On Team and Enterprise plans an Owner adds the connector first under Organization settings → Connectors, then each member connects.

ChatGPT
  1. Go to chatgpt.com/plugins, select +, then Add custom MCP server.
  2. Enter https://mcp.fictura.co/mcp and choose OAuth for authentication.
  3. Select Create as a plugin, then sign in with Fictura.

Your account or workspace policy must allow custom MCP servers.

Claude Code

Install the plugin from this repository. It adds the server and a skill that makes Claude read your app's real setup before it writes integration code:

claude plugin marketplace add Apex-Byte-Technologies/fictura-mcp
claude plugin install fictura@fictura

Or add only the server:

claude mcp add --transport http fictura https://mcp.fictura.co/mcp

Then run /mcp, pick fictura and sign in. To use an MCP key instead:

claude mcp add --transport http fictura https://mcp.fictura.co/mcp \
  --header "X-API-Key: $FICTURA_MCP_KEY"
Codex (CLI, IDE extension, ChatGPT desktop app)
codex mcp add fictura --url https://mcp.fictura.co/mcp
codex mcp login fictura

With an MCP key instead of sign-in, keep the key in an environment variable:

export FICTURA_MCP_KEY=fk_mcp_...
codex mcp add fictura --url https://mcp.fictura.co/mcp --bearer-token-env-var FICTURA_MCP_KEY

The same thing in ~/.codex/config.toml:

[mcp_servers.fictura]
url = "https://mcp.fictura.co/mcp"
bearer_token_env_var = "FICTURA_MCP_KEY"
Cursor

Use the button above, or add this to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "fictura": {
      "url": "https://mcp.fictura.co/mcp"
    }
  }
}

With an MCP key, add "headers": { "X-API-Key": "${env:FICTURA_MCP_KEY}" } to the fictura entry.

VS Code

Use the button above to sign in with Fictura. To use an MCP key instead, add this to .vscode/mcp.json; VS Code asks for the key once and stores it securely.

{
  "inputs": [
    {
      "type": "promptString",
      "id": "fictura-mcp-key",
      "description": "Fictura MCP key (fk_mcp_...)",
      "password": true
    }
  ],
  "servers": {
    "fictura": {
      "type": "http",
      "url": "https://mcp.fictura.co/mcp",
      "headers": { "X-API-Key": "${input:fictura-mcp-key}" }
    }
  }
}
Windsurf

Open the Cascade panel's ... menu, then Open MCP config file, and add:

{
  "mcpServers": {
    "fictura": {
      "serverUrl": "https://mcp.fictura.co/mcp",
      "headers": { "X-API-Key": "${env:FICTURA_MCP_KEY}" }
    }
  }
}
Gemini CLI
gemini extensions install https://github.com/Apex-Byte-Technologies/fictura-mcp

The installer asks for an optional MCP key and keeps it in your system keychain. Change it later with gemini extensions config fictura.

Claude Desktop with a local bridge (npx)

For clients that only run local (stdio) servers, the @fictura/mcp package bridges to the hosted server. In Claude Desktop, open Settings → Developer → Edit Config and add:

{
  "mcpServers": {
    "fictura": {
      "command": "npx",
      "args": ["-y", "@fictura/mcp"],
      "env": { "FICTURA_MCP_KEY": "fk_mcp_..." }
    }
  }
}

The bridge reads FICTURA_MCP_KEY and, optionally, FICTURA_API_BASE (default https://api.fictura.co). Claude Desktop also supports the custom connector above, which needs no local install.

Authentication

OptionHowBest for
Sign in with Fictura (OAuth 2.1)Add the URL only. Your client opens Fictura's sign-in; on the consent screen you pick one app and an access level (read, or read and edit drafts).Claude, ChatGPT, Claude Code, Codex, Cursor, VS Code
MCP keyCreate one in the Fictura dashboard under Setup → Coding agents (MCP). Send it as Authorization: Bearer fk_mcp_... or X-API-Key: fk_mcp_....CI, scripts, clients without MCP sign-in
NoneConnect without signing in.Reading the Fictura docs before you have an account

Without sign-in or a key, only the three documentation tools work: search_docs, list_docs and read_doc. Every other tool answers with how to connect.

A key is read-only unless you tick Can edit draft paywalls when you create it (those keys start with fk_mcpw_). The AppsFlyer import needs a key created with Can connect and import data. App data over MCP needs an active Fictura subscription with AI access.

Tools

44 tools and one prompt. "Read" tools change nothing.

AreaToolWhat it doesAccess
Docssearch_docsSearch Fictura documentationNo sign-in
Docslist_docsList Fictura documentation pagesNo sign-in
Docsread_docRead a Fictura documentation pageNo sign-in
Setupget_app_setupGet this app's Fictura credentials and endpointsRead
Setupget_setup_statusGet integration and feature statusRead
Setuplist_store_productsList App Store subscription productsRead
Setupget_link_infrastructureGet deep link and tracking domain configurationRead
Setupget_push_configGet push notification configurationRead
Analyticsget_analyticsGet funnel, overview or cohort analyticsRead
Analyticsget_tracking_planGet the event tracking planRead
Userslist_usersList usersRead
Usersget_userGet one user's full historyRead
Userscheck_entitlementCheck whether a user is subscribedRead
Paywalls & onboardinglist_surfacesList paywalls, onboarding flows and placementsRead
Paywalls & onboardingget_surfaceGet one paywall or onboarding flow's configRead
Paywalls & onboardinglist_templatesList built-in paywall and onboarding templatesRead
Paywalls & onboardingget_paywall_docGet a Studio paywall's documentRead
Paywalls & onboardingvalidate_paywall_docCheck a paywall document without saving itRead
Paywalls & onboardingsave_paywall_docSave a DRAFT paywall's documentEdit drafts
Paywalls & onboardingcreate_paywall_draftCreate a new DRAFT Studio paywallEdit drafts
Paywalls & onboardingget_onboarding_docGet an onboarding flow's documentRead
Paywalls & onboardingvalidate_onboarding_docCheck an onboarding document without saving itRead
Paywalls & onboardingsave_onboarding_docSave a DRAFT onboarding flow's documentEdit drafts
Paywalls & onboardingcreate_onboarding_draftCreate a new DRAFT onboarding flowEdit drafts
Studio editorpair_editorPair with an open Studio editorRead
Studio editoreditor_get_docRead the document open in the paired editorRead
Studio editoreditor_set_docPut a document on the paired editor's canvas (not saved)Edit drafts
Studio editorunpair_editorEnd the pairing with the editorRead
Experimentslist_experimentsList experimentsRead
Experimentsget_experimentGet one experimentRead
Acquisitionget_attribution_reportGet attribution, install and KPI reportingRead
Acquisitionget_acquisition_reportGet paid acquisition performanceRead
Acquisitionlist_campaignsList live ad campaignsRead
Acquisitionlist_creatorsList creators and their performanceRead
Storeget_store_analyticsGet App Store and Google Play analytics (Appfigures)Read
Errorslist_error_issuesList error issuesRead
Errorssearch_error_issuesSearch error issuesRead
Errorsget_error_issueGet one error issue with stack tracesRead
Errorsget_error_issue_briefGet an issue brief and a fix promptRead
Errorsupdate_error_issueChange an error issueWrite, if the app allows it
Errorsget_traceGet one distributed traceRead
AppsFlyer importget_appsflyer_import_statusGet AppsFlyer import statusRead
AppsFlyer importstart_appsflyer_importStart the AppsFlyer importWrite, import key
AppsFlyer importget_appsflyer_attribution_summarySummarize imported AppsFlyer attributionRead

Prompt: integrate_fictura_sdk (Integrate the Fictura SDK) walks the agent through wiring @fictura/sdk into an Expo / React Native app with the app's real credentials.

Security

  • The app comes from your sign-in or key, never from the agent. No tool takes an app id, so there is no argument an agent could pass to read another app's data. A sign-in reaches only the one app you chose on the consent screen.
  • Drafts never go live. The paywall and onboarding tools create and edit drafts only. Saving a live paywall or flow is refused, and going live is a click in the Fictura dashboard. Every save is a new version you can roll back; the history marks it mcp: <note>.
  • The editor stays yours. editor_set_doc changes the canvas of a Studio editor you paired with a one-time code. It does not save; you see the change, can undo it, and save it yourself.
  • Other writes are opt-in. update_error_issue works only after you turn on Let MCP keys change issues in the app's Issues settings. start_appsflyer_import needs a key created with Can connect and import data.
  • Revocation is immediate. A revoked or invalid key is rejected on its next request with an error, never silently downgraded.
  • Keep keys out of code. MCP keys (fk_mcp_...) read revenue and user data: store them in environment variables or your client's secret storage, never in a repository. The SDK key that get_app_setup returns (gk_...) is different: it is publishable and safe to ship in your app.

Report a vulnerability as described in SECURITY.md.

This repository

This repository holds the public listing files for the hosted server. The server itself runs at Fictura; there is no server code here.

PathWhat it is
server.jsonEntry for the official MCP Registry as co.fictura/mcp
.claude-plugin/marketplace.json, plugins/fictura/Claude Code plugin marketplace and plugin
.cursor-plugin/plugin.json, mcp.jsonCursor plugin
gemini-extension.jsonGemini CLI extension
openai/ChatGPT and Codex plugin bundle; build the upload ZIP with scripts/build-openai-zip.sh
assets/Icons (SVG, and PNG at 48, 128, 256, 400 and 512 px)

License

MIT © Apex Byte Technologies

Frequently asked questions

What is Fictura?

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

How do I install Fictura?

It runs as a remote server. In Claude Code: claude mcp add --transport http fictura 'https://mcp.fictura.co/mcp' --header 'X-API-Key: <Optional Fictura MCP key (fk_mcp_...) from Dashboard > Setup > Coding agents (MCP). Leave it out to sign in with your Fictura account (OAuth) instead.>'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does Fictura need an API key?

Yes. It expects FICTURA_MCP_KEY, X-API-Key, which you set in its configuration.

Is Fictura open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains Fictura?

It is published by Apex-Byte-Technologies. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.