allcams.fm MCP server

Live webcam rooms from six platforms as tools for an AI agent: who is online now, what a category or a model page says, in 41 languages. One URL, no key.

Streamable HTTPstatelessno auth5 tools18+

Facts

Endpoint
https://allcams.fm/api/mcp
Transport
MCP Streamable HTTP, stateless, JSON responses (no SSE stream to keep open)
Authentication
none — public read-only data
Data
six platforms (Stripchat, Chaturbate, Cam4, LiveJasmin, BongaCams, CamSoda), one vocabulary of categories, 41 languages
Freshness
who is online refreshes every 10 minutes; category and model text is the same the HTML pages show
Links
every URL a tool returns is a page on this site: page_url opens the model page, watch_url opens her live room; give them to users exactly as returned
Registry
fm.allcams/cams — https://registry.modelcontextprotocol.io/v0.1/servers/fm.allcams%2Fcams/versions/1.0.0
Audience
adult content (18+); the site and every link it returns are for adults only

Connect a client

Claude Code

claude mcp add --transport http allcams https://allcams.fm/api/mcp

Claude.ai / Claude Desktop

Settings → Connectors → Add custom connector → URL: https://allcams.fm/api/mcp (no authentication)

Cursor

{
  "mcpServers": {
    "allcams": { "url": "https://allcams.fm/api/mcp" }
  }
}

Any JSON-RPC client

curl -s https://allcams.fm/api/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Tools (5)

site_overview — Site overview

What the site is, key facts, menu sections and languages — the llms.txt as text.

No parameters.

Returns: markdown text.

list_categories — List categories

Every category page of one language with its slug and one-line description.

parametertypemeaning
languagestring, default "en"two-letter language code, e.g. en, de, ja

Returns: markdown text; use the slugs in get_category and list_online.

get_category — Get category

One category page: text, which platforms run it, how many models are online, related categories.

parametertypemeaning
categorystringcategory slug from list_categories, e.g. asian
languagestring, default "en"language code

Returns: markdown text — the same the site serves at /<lang>/<slug>.md.

get_model — Get model

One model page: status (online/offline, viewers), platform, languages, statistics, tags, the sign-up link.

parametertypemeaning
nicknamestringexact nickname, case-sensitive
languagestring, default "en"language code

Returns: markdown text — the same the site serves at /<lang>/model/<nick>.md.

list_online — Who is online

Models live right now, most viewers first; refreshed every 10 minutes.

parametertypemeaning
languagestring, default "en"language code
categorystring, optionalcategory slug to narrow the list
nicknamestring, optionalfind one model by nickname
limitinteger 1–100, default 20rows per page
pageinteger, default 1page number

Returns: JSON: models[] with nikname, sex, viewers, is_online, avatar, page_url, watch_url.

Resources

A typical session

  1. site_overview — what the site is and which languages exist.
  2. list_categories("de") — the exact slugs of that language.
  3. list_online(language="de", category="asian", limit=5) — who is live now, most viewers first.
  4. get_model("<nickname>", "de") — her page; hand the user page_url or watch_url as returned.

Errors and limits

Other machine-readable surfaces

Contact

Questions and integrations: the contact page in the site footer. Server: https://allcams.fm/api/mcp.