joma.film
Independent film streaming platform — discover, support, and watch films from independent filmmakers worldwide
https://joma.film/Connect straight to this server’s public endpoint.
https://joma.film/api/mcpWe add this server to your workspace, walk through sign-in once, then open Studio with tools ready to run.
Last probed Sep 14, 2026 · joma.film
34tools discovered
Showing 25 of 34 from the live probe.
Get Context
Get the org's full editing context: branding, site structure (pages), catalog (films + merch), custom entities, available data-joma bindings, structured section types, and platform constraints. Call this first.
List Pages
List all of the org's pages (including drafts) with metadata.
Get Page
Get a single page with all of its sections. The response also includes a `version` token — pass it back as `expectedVersion` on update_section to be safely rejected (instead of silently overwriting) if someone else changed the page since you read it.
Render Page
Get the server-rendered HTML of a page (draft or published) so you can SELF-CHECK your edits — confirm sections actually rendered, inspect the real DOM/classes, and verify layout — instead of relying on the user to eyeball it. Returns the rendered HTML. Use it after edits to verify before asking the user to publish.
Create Page
Create a new page (always as a DRAFT — use publish_page to make it public). Returns the created page.
Update Page
Update a page's metadata (title, description, showInNav, navLabel, navOrder). To rename the URL slug, pass newSlug. Does NOT change publish state — use publish_page / unpublish_page for that. Floating-nav per-page OVERRIDES: navOverlay (true = a leading hero bleeds up behind the nav, false = push content down) and navBackground ('auto'|'light'|'dark') override the org-wide orgNav default for THIS page — pass null to clear either. Stages to the page draft.
Delete Page
Delete a page and all of its sections.
Publish Page
Publish a page — makes it PUBLICLY VISIBLE on the org's live site. This is a deliberate go-live action: ALWAYS confirm with the user before calling it. Editing/creating only ever produces drafts; this is the only tool that makes a page public.
Unpublish Page
Unpublish a page — removes it from the public site (it stays editable as a draft). Confirm with the user before calling.
Discard Draft
Discard a page's unpublished draft changes — reverts to the currently published version. Use when the user wants to throw away staged edits. (To go further back, use restore_version.) Confirm with the user before calling.
List Versions
List page version history (newest first; up to 50 kept per page). Optionally filter by slug. Each entry has an id for restore_version. Use this to find a prior version to undo to.
Restore Version
Restore a page to a prior version (id from list_versions). Undoes edits; if the page was deleted it's recreated as a draft (never auto-published). The current state is snapshotted first, so a restore is itself undoable. Confirm with the user before restoring.
Add Section
Add a section to a page. `type` is a structured section type (composition [preferred — a typed atom tree; supports Split, live `from:` bindings, FilmActions for price/buy, Quote for reviews/press, Video click-poster-to-play (provider + bare id, never embed HTML), Section full-bleed cover-image heroes, and typed per-instance Text `style` (reach for a role first)], hero, text_block, merch_grid, film_card, film_grid, press_quotes, events, contact_form, press_article_list [press_quote entities as ar
Update Section
Update the section at the given 0-based index on a page. `type`/`content` take the same governed section types as add_section (composition incl. the Video atom, hero, text_block, merch_grid, film_card, film_grid, press_quotes, events, contact_form, press_article_list, newsletter_signup, form, earnings_calculator, embed, html) — see get_context for each contentShape. Pass `expectedVersion` (from get_page's `version`) for a lost-update check — the write is rejected if the page changed since you re
Delete Section
Delete the section at the given 0-based index on a page.
Reorder Sections
Reorder a page's sections in ONE call instead of rewriting each section. Pass `order`: an array of the current 0-based indices in their new order — it must contain every index exactly once (e.g. [2, 0, 1] moves section 2 first, then 0, then 1). Like other section edits, this stages into the page's draft — publish_page to make it public.
Get Styles
Get the org's global CSS and site-wide head/footer scripts.
Update Styles
Update the org's global CSS and/or site-wide scripts (sanitized server-side). ⚠️ HIGHEST-IMPACT tool: globalStyles + headScripts/footerScripts apply to EVERY page and scripts can change behavior, not just looks. Before calling, SHOW the user the exact CSS/script you intend to add and get their explicit OK; after it stages, summarize what changed and confirm again before publish_page. Reach for this ONLY when structured styling can't express it — prefer update_settings (colors, textStyles, surfac
Get Settings
Get the org's branding settings (name, logo, colors, layout, customData).
Update Settings
Update the org's branding (name, description, logoUrl, primaryColor, secondaryColor, accentColor, displayLayout) and customData. Colors drive the white-label theme. customData (merged, not replaced) carries opt-in features — notably orgNav (your own nav inside joma's chrome; works on your *.joma.film subdomain AND a custom domain on joma's shell: { mode: 'inline'|'secondary_bar'|'floating', scrim?: 'auto'|'none'|'light'|'dark' (floating veil), navBackground?: 'auto'|'light'|'dark' (floating: 'au
List Redirects
List the org's SEO redirect map — the { from, to, permanent? } rules that 301/308 old marketing URLs to their new joma paths so Google rankings survive a domain migration onto joma. `from`/`to` are same-host paths starting with '/'.
Set Redirects
REPLACE the org's ENTIRE SEO redirect map (not a merge — send the full list every call). Each entry is { from, to, permanent? }: `from` is the old path to catch (starts with '/', path only, no host/query — e.g. '/pages/about'); `to` is the new SAME-HOST path to send visitors to (must start with '/' and be a plain path — no host, scheme, protocol-relative '//', or backslash; those are rejected on write AND re-validated before the redirect is emitted, so the Location always stays on the current ho
List Films
List the org's films (catalog) with public fields.
Get Film
Get one film's full record by slug — incl. synopsis (long/short description), landscape backdrop (bannerUrl), credits (director/cast/producers), year/runtime, the film's own reviews, AND `editablePageKnobs` (the displaySettings keys this film grants update_film — global knobs + any bespoke one-offs it uses). Use this to bind page content to a film's real data instead of retyping copy, and to know what update_film will accept before editing.
Update Film
Update a film's data + governed page knobs (the same controls a human gets in the dashboard film form). Editable: shortDescription, longDescription; featuredReviewIds (array of the film's review ids to feature as pull-quotes — MULTIPLE allowed, [] clears); displaySettings (top-level merge; null a key to clear); showTrailer / showReviews booleans. displaySettings keys are gated per film — GLOBAL knobs { pageLayout: 'auto'|'hero'|'poster', heroTheme: 'auto'|'dark'|'light', titleColor: '#rrggbb' }
Get your MCP into directories
A working endpoint is step one. Directory coverage is the coordinated launch across ChatGPT, Claude, Cursor, the MCP Registry, and community indexes.
Directory coverage for brandsIndependent film streaming platform — discover, support, and watch films from independent filmmakers worldwide
Use the MCP endpoint listed on this page in your MCP client configuration. One-click install pills support Claude, Cursor, VS Code, and other hosts. Copy the remote MCP URL if your client needs a manual entry.
Operate joma-content? Verify ownership to take over this directory entry.
This server appears in the MCPBundles directory. Verify you operate it to take over the listing — name, description, logo, contact email, and skill content. We email a 6-digit code to a maintainer address your server publishes in /.well-known/security.txt or /.well-known/mcpbundles.json. Free, takes about a minute.
MCPBundles probed 34 tools on the live server. The tool list on this page reflects what was discovered at the last refresh — connect your client to see the full set available to your session.
joma-content may require signing in to the provider before tools can run. Connect through MCPBundles or your MCP client and complete any provider login when prompted.
MCPBundles is an independent platform built on the open Model Context Protocol standard. Not affiliated with Anthropic PBC or Claude.