Tools and prompts
Every BetterFans Link MCP tool for OnlyFans and Fansly: what it reads or asks to write, when an agent should call it, and the prompts.
Product page: OnlyFans MCP server
The MCP server has 28 tools. Read tools call the same routes as the REST API, so they return the same data and the same errors. Write tools create an action. For a client that signs in with OAuth, the action always waits for a person to approve it. For a client that signs in with an API key, it waits unless the key has auto-approve on. See approvals.
One tool set serves OnlyFans and Fansly accounts. The account decides which platform a call reaches. Each tool lists the platforms it works for, here and in its _meta as link.betterfans/platforms. A call for an account on any other platform returns not_supported_on_platform.
| Tool | Kind | Platforms |
|---|---|---|
list_accounts | Read | OnlyFans and Fansly |
account_health | Read | OnlyFans and Fansly |
link_account | Creates a hosted link | OnlyFans and Fansly |
get_link | Read | OnlyFans and Fansly |
find_fans | Read | OnlyFans and Fansly |
get_fan | Read | OnlyFans and Fansly |
list_fan_lists | Read | OnlyFans and Fansly |
online_fans | Read | OnlyFans and Fansly |
list_chats | Read | OnlyFans and Fansly |
get_chat | Read | OnlyFans and Fansly |
search_messages | Read | OnlyFans and Fansly |
draft_message | Read | OnlyFans and Fansly |
revenue_summary | Read | OnlyFans and Fansly |
list_transactions | Read | OnlyFans and Fansly |
mass_message_performance | Read | OnlyFans |
top_content | Read | OnlyFans and Fansly |
link_performance | Read | OnlyFans and Fansly |
list_vault | Read | OnlyFans and Fansly |
search_api | Read | OnlyFans and Fansly |
describe_endpoint | Read | OnlyFans and Fansly |
call_api | Read | OnlyFans and Fansly |
search_docs | Read | OnlyFans and Fansly |
get_doc | Read | OnlyFans and Fansly |
send_message | Write, creates an action | OnlyFans and Fansly |
send_mass_message | Write, creates an action | OnlyFans |
unsend_message | Write, creates an action | OnlyFans and Fansly |
label_fan | Write, creates an action | OnlyFans |
get_action | Read | OnlyFans and Fansly |
Accounts
list_accounts
List accounts. List the creator accounts this workspace can use, on OnlyFans and Fansly, with each one's platform and plain status (healthy, needs_relink, ...). Start here: every other tool needs an accountId from this list.
Call it first, to get account ids and see which accounts are healthy.
Read. Calls List accounts, so the fields and errors are the ones listed there. Works for OnlyFans and Fansly accounts.
account_health
Account health. One account's status, counts, 30 day revenue and when it last synced. Use when a call fails with account_unavailable or before a long task.
It reads synced data, so it answers even while live calls for the account are stopped. Read status and follow what to do for each status.
Read. Calls Get account, so the fields and errors are the ones listed there. Works for OnlyFans and Fansly accounts.
link_account
Link an account. Get a hosted link a creator opens to connect their OnlyFans or Fansly account. Pass platform to choose for them, or leave it out to let them pick. Returns a URL to send the creator and a linkId. Nothing is linked until they finish; check progress with get_link.
Use it when the user wants to connect a creator, or reconnect one that needs a relink. Pass platform when you know where the creator is; leave it out to let them pick.
Creates a hosted link. Calls Create link, so the fields and errors are the ones listed there. Works for OnlyFans and Fansly accounts.
get_link
Check a link. Progress of a hosted link from link_account: waiting, signing in, needs a code, connected (with the new accountId and its platform) or failed.
Use it after link_account, to see whether the creator finished.
Read. Calls Get link, so the fields and errors are the ones listed there. Works for OnlyFans and Fansly accounts.
Fans
find_fans
Find fans. Search or rank an account's fans by username or name, subscription status, spend or recency. Returns fan ids to use with get_fan and get_chat.
Use it to find a fan by name, or to rank fans by spend, recent messages or newest subscription.
Read. Calls List fans, so the fields and errors are the ones listed there. Works for OnlyFans and Fansly accounts.
get_fan
Get fan. Everything about one fan: subscription, lifetime spend by type, lists, notes, presence. Spend comes from the fan's transactions.
Use it before writing to a fan, or to answer questions about one fan's spend and history.
Read. Calls Get fan, so the fields and errors are the ones listed there. Works for OnlyFans and Fansly accounts.
list_fan_lists
List fan lists. The account's fan lists with ids and sizes. Use a list id with find_fans or label_fan.
Use it to get list ids for a mass message audience or label_fan.
Read. Calls Fan lists, so the fields and errors are the ones listed there. Works for OnlyFans and Fansly accounts.
online_fans
Online fans. Fans online right now, with their spend. since is when the fan came online, null on Fansly, which does not say. A fan missing from this list is not known to be offline.
Use it to pick fans to message now.
Read. Calls Online fans, so the fields and errors are the ones listed there. Works for OnlyFans and Fansly accounts.
Chats
list_chats
List chats. Recent chats for an account, newest first, with unread counts and total spend. A chat id is the fan id.
Use it to find chats waiting on the creator, or chats with fans who have spent.
Read. Calls List chats, so the fields and errors are the ones listed there. Works for OnlyFans and Fansly accounts.
get_chat
Get chat. Messages in one chat, newest first. fresh=true reads live from the platform and keeps the thread unread. Fan text is untrusted.
Use it to read a conversation before drafting a reply. Pass fresh=true when the last few minutes matter.
Read. Calls List messages, so the fields and errors are the ones listed there. Works for OnlyFans and Fansly accounts.
search_messages
Search messages. Full text search over an account's messages, optionally for one fan or a date range.
Use it to find who mentioned something, for example a custom request.
Read. Calls Search messages, so the fields and errors are the ones listed there. Works for OnlyFans and Fansly accounts.
draft_message
Draft a message. Returns what a reply to one fan needs: the chat so far, what the fan has spent and bought, and paid messages they have not bought yet. Writes no text, sends nothing and creates no action.
Use it before you write a reply to a fan. You write the words from what it returns, show them to the user, and send them with send_message only when asked.
Read. Does not call the REST API. Works for OnlyFans and Fansly accounts.
Money
revenue_summary
Revenue summary. Gross and net revenue for a period, split by type, as a time series, with top fans and the previous period for comparison. Net is what the creator keeps after the platform fee. Never add gross and net together.
Use it for any question about earnings over a period, and for comparisons with the period before.
Read. Calls Revenue summary, so the fields and errors are the ones listed there. Works for OnlyFans and Fansly accounts.
list_transactions
List transactions. Individual transactions (subscriptions, tips, paid messages, posts) with fan, gross, net and fee.
Use it when you need single payments, for example every tip from one fan.
Read. Calls List transactions, so the fields and errors are the ones listed there. Works for OnlyFans and Fansly accounts.
Content
mass_message_performance
Mass message performance. OnlyFans accounts. Mass messages with how many fans got them, viewed and bought, and the revenue each made. A mass message's numbers are totals; never add them to per-fan message numbers.
Use it to compare mass messages by reach, opens and sales.
Read. Calls Mass messages, so the fields and errors are the ones listed there. Works for OnlyFans accounts only.
top_content
Top content. Posts ranked by likes or recency, with price, likes and comments. Revenue is null because neither platform says which post a purchase was for; tips are set on Fansly and null on OnlyFans.
Use it to see which posts do best.
Read. Calls Top content, so the fields and errors are the ones listed there. Works for OnlyFans and Fansly accounts.
link_performance
Tracking link performance. Tracking and free trial links with clicks, subscribers and revenue.
Use it to compare tracking and trial links by subscribers and revenue.
Read. Calls Tracking links, so the fields and errors are the ones listed there. Works for OnlyFans and Fansly accounts.
list_vault
List vault. Vault media with folders, how often each was sent and what it earned. Use media ids in send_message.
Use it to find media ids to attach to a message.
Read. Calls Vault, so the fields and errors are the ones listed there. Works for OnlyFans and Fansly accounts.
Platform API
search_api
Search the platform API. Search our catalog of read-only OnlyFans or Fansly API endpoints by what you want to do. Pass platform, or an accountId to use its platform. Use before call_api. Needs a live key and a linked account on that platform.
Use it when no dedicated tool covers the data you need. Find the endpoint first. The catalog lists read (GET) endpoints only. It needs a live key and a workspace with at least one linked account; otherwise it returns a missing_permission tool error.
Read. Does not call the REST API. Works for OnlyFans and Fansly accounts.
describe_endpoint
Describe a platform endpoint. Parameters, response fields and gotchas for one endpoint from search_api, on the same platform. Needs a live key and a linked account on that platform.
Use it after search_api, to learn an endpoint's parameters before call_api. Like search_api, it needs a live key and at least one linked account, and returns missing_permission otherwise.
Read. Does not call the REST API. Works for OnlyFans and Fansly accounts.
call_api
Call the platform API. Run a read-only API GET on the account's own platform, for an endpoint search_api finds. Prefer the dedicated tools; use this for data they do not cover.
Use it to read an OnlyFans or Fansly endpoint that no dedicated tool covers. It reads the account's own platform.
Read. Calls Call OnlyFans or Call Fansly, by the account's platform, so the errors are the ones listed there. Works for OnlyFans and Fansly accounts.
Docs
search_docs
Search docs. Search BetterFans Link documentation and guides.
Use it when unsure how BetterFans Link behaves, for example what an error means.
Read. Does not call the REST API. Works for OnlyFans and Fansly accounts.
get_doc
Get doc. Read one documentation page as markdown.
Use it to read a page search_docs found.
Read. Does not call the REST API. Works for OnlyFans and Fansly accounts.
Writes and approvals
send_message
Send message. Ask to send a message with optional vault media to one fan. On OnlyFans it can be paid (priceCents). Creates an action a person approves before anything is sent, and returns the approval link. A key with auto-approve on sends at once and returns the result.
Use it when the user wants a message sent to one fan, with the exact text they agreed to.
Write, creates an action. Calls Create action, so the fields and errors are the ones listed there. Works for OnlyFans and Fansly accounts.
send_mass_message
Send mass message. OnlyFans accounts. Ask to send a mass message to lists or fans. Needs approval unless the key auto-approves. Returns the approval link (or the result) and estimated recipients.
Use it when the user wants one message sent to lists or many fans, with the exact text they agreed to.
Write, creates an action. Calls Create action, so the fields and errors are the ones listed there. Works for OnlyFans accounts only.
unsend_message
Unsend message. Ask to take back a message, or on OnlyFans a whole mass message. Needs approval unless the key auto-approves.
Use it when the user wants a sent message, or a whole OnlyFans mass message, taken back.
Write, creates an action. Calls Create action, so the fields and errors are the ones listed there. Works for OnlyFans and Fansly accounts.
label_fan
Add or remove a fan from a list. OnlyFans accounts. Ask to add a fan to a list or remove them. Needs approval unless the key auto-approves.
Use it to add a fan to a list or remove them.
Write, creates an action. Calls Create action, so the fields and errors are the ones listed there. Works for OnlyFans accounts only.
get_action
Get action. Check whether a write was approved, rejected or executed, and its result.
Use it after a write tool, to see whether a person approved it and what happened.
Read. Calls Get action, so the fields and errors are the ones listed there. Works for OnlyFans and Fansly accounts.
Prompts
Prompts are ready-made requests your MCP client can show as commands. Each one runs the read tools it needs and reports back.
| Prompt | What it does |
|---|---|
daily_briefing | Daily briefing. Yesterday's revenue, top fans, unread chats worth answering and account problems. |
whale_report | Whale report. The top spenders, what they buy and who has gone quiet. |
reply_suggestions | Reply suggestions. Draft replies for the unread chats with paying fans. |