Fictura
Paywalls, onboarding, subscription analytics, A/B tests, attribution and errors for mobile apps.
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
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.>'
{
"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.>"
}
}
}
}
@fictura/mcpclaude 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
{
"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"
}
}
}
}
متغيرات البيئة
FICTURA_MCP_KEYسري 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_BASEOverride the Fictura API base URL. Leave unset unless Fictura support asks you to change it.
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
المحتويات
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
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)
- Open Customize → Connectors, select + Add, then Add custom connector.
- Name it
Fictura, pastehttps://mcp.fictura.co/mcpand select Continue. - 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
- Go to chatgpt.com/plugins, select +, then Add custom MCP server.
- Enter
https://mcp.fictura.co/mcpand choose OAuth for authentication. - 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_docchanges 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_issueworks only after you turn on Let MCP keys change issues in the app's Issues settings.start_appsflyer_importneeds 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 thatget_app_setupreturns (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
- Documentation: https://docs.fictura.co/connections/outgoing/mcp-server
- Website: https://fictura.co
- Privacy policy: https://fictura.co/privacy
- Terms: https://fictura.co/terms
- Support: https://fictura.co/contact or info@fictura.co
License
MIT © Apex Byte Technologies
الأسئلة الشائعة
ما هو Fictura؟
Paywalls, onboarding, subscription analytics, A/B tests, attribution and errors for mobile apps.
كيف أثبّت Fictura؟
يعمل كخادم بعيد. في 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 من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج Fictura إلى مفتاح API؟
نعم. يتطلب FICTURA_MCP_KEY, X-API-Key، وتضبطها في إعداداته.
هل Fictura مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون Fictura؟
ينشره Apex-Byte-Technologies. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.