Apex-Byte-Technologies

Fictura MCP server

Updated

Fictura's MCP server: paywalls, onboarding, subscription analytics, experiments, attribution and errors for mobile apps, in Claude, ChatGPT, Cursor and any MCP client.

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

Ask What 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

Add to CursorInstall in VS Code

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

Option How Best 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 key Create 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
None Connect 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.

Area Tool What it does Access
Docs search_docs Search Fictura documentation No sign-in
Docs list_docs List Fictura documentation pages No sign-in
Docs read_doc Read a Fictura documentation page No sign-in
Setup get_app_setup Get this app's Fictura credentials and endpoints Read
Setup get_setup_status Get integration and feature status Read
Setup list_store_products List App Store subscription products Read
Setup get_link_infrastructure Get deep link and tracking domain configuration Read
Setup get_push_config Get push notification configuration Read
Analytics get_analytics Get funnel, overview or cohort analytics Read
Analytics get_tracking_plan Get the event tracking plan Read
Users list_users List users Read
Users get_user Get one user's full history Read
Users check_entitlement Check whether a user is subscribed Read
Paywalls & onboarding list_surfaces List paywalls, onboarding flows and placements Read
Paywalls & onboarding get_surface Get one paywall or onboarding flow's config Read
Paywalls & onboarding list_templates List built-in paywall and onboarding templates Read
Paywalls & onboarding get_paywall_doc Get a Studio paywall's document Read
Paywalls & onboarding validate_paywall_doc Check a paywall document without saving it Read
Paywalls & onboarding save_paywall_doc Save a DRAFT paywall's document Edit drafts
Paywalls & onboarding create_paywall_draft Create a new DRAFT Studio paywall Edit drafts
Paywalls & onboarding get_onboarding_doc Get an onboarding flow's document Read
Paywalls & onboarding validate_onboarding_doc Check an onboarding document without saving it Read
Paywalls & onboarding save_onboarding_doc Save a DRAFT onboarding flow's document Edit drafts
Paywalls & onboarding create_onboarding_draft Create a new DRAFT onboarding flow Edit drafts
Studio editor pair_editor Pair with an open Studio editor Read
Studio editor editor_get_doc Read the document open in the paired editor Read
Studio editor editor_set_doc Put a document on the paired editor's canvas (not saved) Edit drafts
Studio editor unpair_editor End the pairing with the editor Read
Experiments list_experiments List experiments Read
Experiments get_experiment Get one experiment Read
Acquisition get_attribution_report Get attribution, install and KPI reporting Read
Acquisition get_acquisition_report Get paid acquisition performance Read
Acquisition list_campaigns List live ad campaigns Read
Acquisition list_creators List creators and their performance Read
Store get_store_analytics Get App Store and Google Play analytics (Appfigures) Read
Errors list_error_issues List error issues Read
Errors search_error_issues Search error issues Read
Errors get_error_issue Get one error issue with stack traces Read
Errors get_error_issue_brief Get an issue brief and a fix prompt Read
Errors update_error_issue Change an error issue Write, if the app allows it
Errors get_trace Get one distributed trace Read
AppsFlyer import get_appsflyer_import_status Get AppsFlyer import status Read
AppsFlyer import start_appsflyer_import Start the AppsFlyer import Write, import key
AppsFlyer import get_appsflyer_attribution_summary Summarize imported AppsFlyer attribution Read

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.

Path What it is
server.json Entry 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.json Cursor plugin
gemini-extension.json Gemini 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)

Links

License

MIT © Apex Byte Technologies

MCP Server · Populars

MCP Server · New