OnlyFans API

Fanvue over MCP

Drive Fanvue accounts from Claude, ChatGPT, Manus, or any AI agent. Same MCP server and API key, with Fanvue tools prefixed fanvue_.

Rolling out team by team

We're enabling Fanvue for teams gradually. Until it's on for yours, the MCP server lists no Fanvue tools and every /api/fanvue endpoint answers 404. Email us if you'd like access.

Fanvue is in the same MCP server

There is no separate Fanvue MCP server. Once Fanvue is enabled for your team, its tools appear on the endpoint you already use:

https://app.onlyfansapi.com/mcp/onlyfans-mcp

You keep the same API key and the same connector. Reconnect it once so your client refreshes its tool list, and the Fanvue tools appear.

Every documented Fanvue endpoint maps to one tool, so the Fanvue API reference is the current list. You can also ask your client for tools/list.

Prerequisites

  • An OnlyFans API account and an API key
  • Fanvue enabled for your team
  • At least one connected Fanvue account

Fanvue creators connect by signing in with their Fanvue login, so connecting only happens in the browser and your agent can't do it for you. Open the Fanvue tab on Accounts in the OnlyFans API Console and connect the creator there. The agent then finds the account with fanvue_listAccounts.

Tool naming

Every Fanvue tool is prefixed fanvue_. OnlyFans tools are unprefixed and Fansly tools are prefixed fansly_.

TaskTool
List connected accountsfanvue_listAccounts
List chatsfanvue_listChats
Read a conversationfanvue_listChatMessages
Send a chat messagefanvue_sendChatMessage
List subscribersfanvue_listSubscribers
Find subscribers about to lapsefanvue_listExpiringSubscribers
Summarize earningsfanvue_getEarningsSummary
Rank top spendersfanvue_listTopSpenders

Names like listChats and sendChatMessage exist on OnlyFans too. The prefix is how an agent tells which platform a tool belongs to.

Each platform is a separate API with separate accounts. A fanvue_acct_… ID won't work on an OnlyFans or Fansly tool, and their account IDs won't work on a Fanvue tool. If a call fails on an account you know exists, check that the tool prefix matches the account ID prefix.

Account IDs

Most tools are account-scoped, and the parameter name differs per platform:

PlatformParameterFormatDiscover with
OnlyFansaccountacct_XXXXXXXXXXXXXXXlistAccounts
FanslyfanslyAccountfansly_acct_XXXXXXXXXXXXXXXfansly_listAccounts
FanvuefanvueAccountfanvue_acct_XXXXXXXXXXXXXXXfanvue_listAccounts

Chat and fan tools also take the fan's Fanvue userUuid, which fanvue_listChats and fanvue_listSubscribers return.

If your agent works on one creator, pin it in the system prompt so it stops asking:

Use Fanvue account fanvue_acct_XXXXXXXXXXXXXXX for all tool calls unless told otherwise.

Narrowing the tool list

If you only work with Fanvue, append ?platforms=fanvue to the MCP URL and the server registers only the Fanvue tools:

https://app.onlyfansapi.com/mcp/onlyfans-mcp?platforms=fanvue

Combine platforms with a comma, for example ?platforms=onlyfans,fanvue.

If Fanvue isn't enabled for your team yet, fanvue counts as an unrecognised value. The server then loads every tool you do have rather than none.

Fanvue-specific behaviour

Four things differ from OnlyFans and Fansly in ways an agent can't infer from the tool schema alone.

Results are Fanvue's own JSON

Most Fanvue tools return Fanvue's response unchanged inside data, alongside our _meta. Field names don't match the OnlyFans or Fansly tools, so an agent can't reuse what it learned about one platform's responses on another. See Responses are Fanvue's, passed through.

Chats only, no posting or uploads

The Fanvue tools cover chats, messages, fans, subscribers and earnings insights. There are no tools for posts, media uploads or mass messages, so an agent asked to post on Fanvue has nothing to call.

fanvue_sendChatMessage attaches media through mediaUuids, which must be UUIDs of media already in the creator's Fanvue account.

Prices are in USD cents

price on fanvue_sendChatMessage is in cents, with a minimum of 300 ($3.00), and it requires attached media. Fansly uses thousandths of a dollar instead. If your agent sets prices on both platforms, state each unit in your system prompt.

Fanvue's rate limits apply per account

Fanvue allows 200 requests per 60 seconds for each connected account, and 80 per 60 seconds for fanvue_checkOnlineStatus. An agent looping over every chat can reach that quickly. When a tool returns 429, have it wait before retrying. See Rate limits.

Example prompts

Drop these into a chat with the connector enabled:

Chat ops

  • "List my unread Fanvue chats and summarize what each fan last asked."
  • "Draft a reply to every Fanvue chat I haven't answered. Don't send anything."

Retention and reporting

  • "Which Fanvue subscribers lapse in the next 7 days with auto-renew off? Draft a win-back message for each."
  • "Who were my top 10 Fanvue spenders last month?"
  • "Compare this month's earnings across my OnlyFans, Fansly and Fanvue accounts."

Troubleshooting

Sending safely

Don't let an autonomous agent blind-retry a send. If fanvue_sendChatMessage times out, the message may already have been delivered. The HTTP API accepts an Idempotency-Key header that makes a retry safe, but MCP tools can't send headers. Have the agent check fanvue_listChatMessages before resending.

fanvue_disconnectAccount removes the connection, and the creator then has to sign in again in the browser to reconnect. Keep it out of autonomous runs.

The same controls that apply to OnlyFans apply here: scoped API keys, per-account permissions, and a full audit log of every call your agent makes. See Control & safety.

See also

On this page