Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FLARUM_URLYesYour forum's base URL, e.g. https://discuss.example.com
FLARUM_MODENowrite (default) or read. In read mode the server refuses every mutating request. READ_ONLY=1 does the same.write
FLARUM_API_KEYNoA Flarum API key (from the api_keys table). Without it, only public read access is available.
FLARUM_TIMEOUTNoRequest timeout in ms (default 30000)30000
FLARUM_USER_IDNoAct as this user id when using a master API key

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
flarum_listA

List or search any Flarum resource collection (discussions, posts, users, tags, groups, notifications, flags, etc., including third-party extension resources). Supports JSON:API filter, include, sort, pagination, and sparse fieldsets. Long text fields are truncated by default to protect context -- raise maxFieldChars or use fields/flarum_get to read full content. Example: type="discussions", filter={ q: "search terms" }, include="user,tags".

flarum_getA

Fetch a single Flarum resource by type and id, optionally including relationships and narrowing fields. Returns full field values by default (no truncation). Example: type="discussions", id="42", include="posts,user".

flarum_searchA

Full-text search across discussions using Flarum's gambit/search (filter[q]). Long fields are truncated by default. Example: query="upgrade postgres".

flarum_requestA

Escape hatch: make an arbitrary request to any Flarum API endpoint, for anything not covered by the typed tools (custom extension routes, non-JSON:API endpoints, etc.). In read-only mode, non-GET methods are refused. Path is relative to the API root, e.g. "/discussions" or "/fof/gamification/ranks".

flarum_whoamiA

Return the forum's basic info and the user the configured API key acts as. Useful to verify connectivity and permissions.

flarum_createB

Create any Flarum resource via JSON:API. Provide the resource type, its attributes, and optional relationships. Requires an API key whose user has permission. Example: type="discussions", attributes={ title, content }, relationships={ tags: { data: [{ type: "tags", id: "1" }] } }.

flarum_updateA

Update (PATCH) any Flarum resource by type and id. Used for editing posts/discussions and for moderation: lock/sticky a discussion, approve/hide a post, change user groups, etc. Example: type="discussions", id="42", attributes={ isLocked: true }.

flarum_deleteA

Delete any Flarum resource by type and id (e.g. delete a post, discussion, or user). Irreversible. Requires appropriate permissions on the API key's user.

flarum_create_discussionA

Start a new discussion (thread) with a title and first-post content. Optionally attach tag ids (required by forums that use the Tags extension).

flarum_replyB

Post a reply (comment) to an existing discussion by its id.

flarum_docs_searchA

Search the official Flarum 2.0 documentation (docs.flarum.org/2.x) and return ranked results with their page path and a snippet. Use this to look up how something works -- admin settings, permissions, extenders, REST API usage, extension development -- before acting on a forum. Reads the live docs, so results reflect the current docs. Then call flarum_docs_get with a result's "page" to read the full page. Example: query="approve posts permission".

flarum_docs_getA

Fetch the full Markdown of one Flarum 2.0 documentation page. Accepts a page slug ("rest-api", "extend/api"), a site path ("/2.x/rest-api"), or a full docs URL (any #anchor is ignored). Reads the page's Markdown source, so code blocks and headings are preserved. Pair with flarum_docs_search to find the right page first.

flarum_docs_listA

List the available Flarum 2.0 documentation pages (paths and URLs), from the live sitemap. Useful to discover what pages exist before reading one with flarum_docs_get. Optionally pass a substring to filter by path, e.g. filter="extend".

flarum_devA

A development reference for building or reviewing a Flarum 2.0 extension: scaffolding and architecture, composer.json, the TypeScript frontend, backend (API resources/models/migrations), scaling (queue-driver portability, Redis, multi-server file storage), optional ecosystem integrations (realtime, audit, fof widgets, fof sitemap), i18n, testing, static analysis & CI, releasing, and porting a 1.x extension to 2.0. Combines the conventions the official docs establish, the de-facto FriendsOfFlarum standard, and patterns that prevent real production bugs (fail-closed API fields, lazy-chunk-safe extends, atomic creation, the PHPStan/testing setup). Consult it before scaffolding, when adding a feature, or when reviewing extension code. Pair with flarum_docs_search/flarum_docs_get for the authoritative API reference. Omit topic for the full reference, or pass one to narrow it.

flarum_troubleshootA

A plain-language guide for forum ADMINS and non-developers to diagnose a broken or misbehaving Flarum forum and prepare a request for help (distinct from flarum_dev, which is for building extensions). Covers safe first-aid fixes, how to run php flarum info and find logs on their hosting, what common errors mean, and how to write a redacted support request and where to post it. Use it whenever a user describes a forum problem or asks how to get help, and pair it with the prepare-flarum-support-request prompt to assemble a report from a forum that still loads. Omit topic for the full guide, or pass one to narrow it.

Prompts

Interactive templates invoked by user choice

NameDescription
build-flarum-extensionScaffold and implement a new Flarum 2.0 extension the right way, consulting the built-in flarum_dev reference and live flarum_docs at each step so it follows the conventions and compatibility contracts from the start.
review-flarum-extensionAudit an existing Flarum 2.0 extension against the canonical flarum_dev contracts, topic by topic, reporting concrete violations with file:line and fixes.
check-flarum-compatibilityFocused audit of whether an extension works on a real production stack (database/Redis queues, Horizon, multi-server file sync) and with the optional ecosystem extensions (realtime, audit, widgets, sitemap), per the flarum_dev `scaling` and `integrations` contracts.
prepare-flarum-support-requestHelp a non-developer turn a broken or misbehaving Flarum forum into a clean, redacted support request: auto-collect what the forum's API exposes, guide them through the rest, and tell them where to post it.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/karl-bullock/mcp-for-flarum'

If you have feedback or need assistance with the MCP directory API, please join our Discord server