FBEM
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FBEM_HOME | No | Base dir for state | ~/.fbem |
| FBEM_WS_HOST | No | WS bind host (must be loopback) | 127.0.0.1 |
| FBEM_WS_PORT | No | Extension WebSocket port | 9224 |
| FBEM_HTTP_PORT | No | Bridge HTTP API port | 47102 |
| FBEM_MEDIA_DIR | No | Media served to the extension | $FBEM_HOME/media |
| FBEM_BRIDGE_URL | No | Where the MCP reaches the bridge | http://127.0.0.1:47102 |
| FBEM_CAPTURES_DIR | No | Captured templates (contain live tokens) | $FBEM_HOME/captures |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| capture_statusA | Crawler/snapshot status: which native templates are captured (reel / photo / profile-switch), whether you're ready to post, and exactly what to do if a (re)snapshot is needed. The crawler captures passively when you post by hand on facebook.com — re-snapshot only when Facebook rotates its payload and replay starts failing. |
| get_identityA | Read which Facebook page/profile the browser tab currently posts AS (read-only, no switch). Useful to confirm identity before posting. |
| healthA | Bridge + extension health: is the bridge up, is the Chrome extension connected, are the reel/photo templates captured, and tab freshness/TTL. |
| post_photosA | Publish a Facebook photo (1 image) or album (N images) from local files via the browser extension (native web API, NOT the Graph API). Requires the bridge running, a logged-in facebook.com tab, and a captured photo template (see capture_status). |
| post_reelA | Publish a Facebook Reel from a local .mp4 via the browser extension (native web API, NOT the Graph API — avoids reach suppression). Requires the bridge running, a logged-in facebook.com tab, and a captured reel template (see capture_status). |
| switch_profileA | Switch the browser session to a target Facebook page/profile id so subsequent post_reel / post_photos go out AS that page (one account, many Pages). Requires a captured CometProfileSwitchMutation template. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose: capture_status checks template readiness, get_identity reads current identity, health checks system status, post_photos and post_reel handle different content types, and switch_profile changes posting identity. No ambiguity.
Most tools follow verb_noun pattern (capture_status, get_identity, post_photos, post_reel, switch_profile). The 'health' tool is a noun but acceptable as a status check. Overall consistent.
Six tools is well-scoped for a browser extension MCP focused on posting to Facebook. Not overloaded nor insufficient.
The tool set covers the core workflow: checking status, posting photos and reels, switching profiles, and monitoring health. No obvious gaps for its intended purpose of multi-platform posting via browser automation.