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/mcpClaude.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.
| parameter | type | meaning |
|---|---|---|
language | string, 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.
| parameter | type | meaning |
|---|---|---|
category | string | category slug from list_categories, e.g. asian |
language | string, 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.
| parameter | type | meaning |
|---|---|---|
nickname | string | exact nickname, case-sensitive |
language | string, 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.
| parameter | type | meaning |
|---|---|---|
language | string, default "en" | language code |
category | string, optional | category slug to narrow the list |
nickname | string, optional | find one model by nickname |
limit | integer 1–100, default 20 | rows per page |
page | integer, default 1 | page number |
Returns: JSON: models[] with nikname, sex, viewers, is_online, avatar, page_url, watch_url.
Resources
site://llms.txt— Site index for LLMs (text/plain)
A typical session
site_overview— what the site is and which languages exist.list_categories("de")— the exact slugs of that language.list_online(language="de", category="asian", limit=5)— who is live now, most viewers first.get_model("<nickname>", "de")— her page; hand the userpage_urlorwatch_urlas returned.
Errors and limits
- A wrong language, slug or nickname returns a text hint naming the tool that lists the valid values; nothing raises.
limitis capped at 100 andpageat 50.- Opening the endpoint in a browser redirects here; the endpoint itself speaks JSON-RPC over POST.
Other machine-readable surfaces
/llms.txt— curated overview for LLMs: what the site is, key facts, menu sections/<lang>/llms.txt— every category page of one language, e.g. /en/llms.txt/<lang>/llms-full.txt— the full text of one language in one file/*.md— markdown twin of any page: append .md to its URL (/en/asian.md, /en/model/<nick>.md)robots.txt— Content-Signal: ai-train=yes, search=yes, ai-input=yes
Contact
Questions and integrations: the contact page in the site footer. Server: https://allcams.fm/api/mcp.