WTFM
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DO_NOT_TRACK | No | Set to 1 to turn telemetry off. | |
| OPENAI_API_KEY | No | Optional OpenAI API key used only for an article's optional generated images; WTFM never sets it. | |
| SUPPORTPAGES_TELEMETRY | No | Set to 0 to turn anonymous usage counts and crash reports off. | |
| SUPPORTPAGES_AUTO_UPDATE | No | Set to 0 to turn automatic updates off. | |
| SUPPORTPAGES_TELEMETRY_DEBUG | No | Set to 1 to print each telemetry report to stderr as it is sent. |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| supportpages_initA | Sign this device in to SupportPages.io if needed and link the current workspace to a help centre. A folder set up to save articles locally returns local without any sign-in unless host_local=true, which means the user explicitly asked to sign in or use a help centre from it. Without a device sign-in it opens browser approval when supported, otherwise returns an approval link: show the link and comparison code to the user; sign-in completes privately in the background (check supportpages_status). Once signed in, a workspace with no linked help centre returns project_required with the account’s help centres: ask the user which one to use, then call this tool again with that project_id, or call supportpages_create_project first. Never accept a token in chat or approve for the user. |
| supportpages_publishA | Host saved local articles on a SupportPages.io help centre. Use only when the user asks to host or publish saved local articles, after asking whether they want to sign in or create a free account. Signs in through browser approval if needed, links a chosen help centre, and uploads selected articles as drafts. With no slugs, returns the available articles for selection; pass their slugs to upload. Follow authentication_required or project_required responses and call again after approval or selection. This changes the folder to hosted generation and preserves local files. It does not make articles publicly visible; publish_article is the separate public publication action. Never use automatically after local generation. |
| supportpages_statusA | Check article progress and draft links, the signed-in account, browser approval progress and access to the linked help centre. Does not start authentication, open a browser, change bindings or expose credentials. Uses a read-only API check when configured. |
| supportpages_doctorA | Check configuration and local generation prerequisites without exposing credentials. |
| supportpages_get_capabilitiesB | Check whether an action can run and return its execution location or next setup step. No job or browser consent is started. |
| supportpages_request_permissionsA | Request explicit browser consent for missing Writer permissions. Preserve the original action and retry it after consent. Never approve the browser form for the user. |
| supportpages_find_article_gapsC | Run hosted documentation analysis and return a durable operation. Suggestions remain pending for review. Never analyse locally, accept suggestions automatically or generate articles implicitly. |
| supportpages_suggest_sectionsC | Run hosted documentation analysis and return a durable operation. Suggestions remain pending for review. Never analyse locally, accept suggestions automatically or generate articles implicitly. |
| supportpages_recommend_articlesB | Run hosted documentation analysis and return a durable operation. Suggestions remain pending for review. Never analyse locally, accept suggestions automatically or generate articles implicitly. |
| supportpages_list_sectionsC | List persisted suggestions with IDs and review state. Use after_id to read the next page. |
| supportpages_review_sectionsA | Accept or reject one selected suggestion. Acceptance never advances onboarding or starts generation. Generate an accepted article recommendation explicitly with create_article and recommendation_id. |
| supportpages_list_recommendationsB | List persisted suggestions with IDs and review state. Use after_id to read the next page. |
| supportpages_review_recommendationsB | Accept or reject one selected suggestion. Acceptance never advances onboarding or starts generation. Generate an accepted article recommendation explicitly with create_article and recommendation_id. |
| supportpages_create_video_walkthroughA | Create a hosted video walkthrough for a completed eligible article. Uses project voice/settings and returns a durable operation. Review/playback is private until the user explicitly shares it in SupportPages; never publish, share or record locally. |
| supportpages_setup_hostedA | Sign in or create an account and connect a repository for the original requested hosted action. Opens browser sign-in first, asks which help centre to use, requests missing device consent, then opens that project repository connection or repair page. After the user completes a step, call again with next_arguments (and the selected project_id when asked). Returns resume_tool and resume_arguments when ready. Never approves consent, chooses a repository, uploads local articles or starts generation. |
| supportpages_connect_repositoryA | Compatibility alias for supportpages_setup_hosted. Sign in or create an account and connect a repository for the original requested hosted action. Opens browser sign-in first, asks which help centre to use, requests missing device consent, then opens that project repository connection or repair page. After the user completes a step, call again with next_arguments (and the selected project_id when asked). Returns resume_tool and resume_arguments when ready. Never approves consent, chooses a repository, uploads local articles or starts generation. |
| supportpages_set_repository_remindersB | Enable or disable optional repository connection reminders when the user asks. Applies to the bound help centre across local checkouts on this device, for this API origin. Disabling lasts until explicitly enabled again; it does not affect article generation or publication. |
| supportpages_set_hosting_remindersA | Enable or disable the optional hosting reminders shown after an article is saved locally, when the user asks. Needs no account or help centre: the preference covers every local folder on this device for this API origin. Disabling lasts until explicitly enabled again; it does not affect article generation or hosting. |
| supportpages_set_telemetryA | Turn the Writer’s anonymous usage counts and crash reports on or off for this device when the user asks. Needs no account. Returns what is sent and the current state; environment variables such as SUPPORTPAGES_TELEMETRY=0 or DO_NOT_TRACK=1 still win. |
| supportpages_list_projectsA | List accessible SupportPages.io help centres. |
| supportpages_create_projectC | Create a SupportPages.io project for local generation; no repository connection is needed. |
| supportpages_bind_workspaceA | Bind this configured local workspace to a remote project. Refuses to silently change an existing destination. |
| supportpages_get_contextA | Fetch writing guidance, sections, article inventory and current account-wide article hosting capacity with billing and management links. A local folder returns its writing guidance with no sections, inventory or capacity. |
| supportpages_get_local_planA | Read validated local project detection context. Sections, recommendations and PR analysis require a repository connection in the web app. This compatibility tool does not expose a local plan. Run wtfm analyse in the project terminal if analysis is required. |
| supportpages_create_articleA | Create one illustrated article using the permitted execution location. Hosted projects run in SupportPages with configured repositories/models; never launch a local writer for a hosted operation. Local responses return the existing prepared writer task. Defaults to draft even if project auto-publish is enabled. Set publish only for an explicit user publication request. Reuse request_id when recovering a lost response. |
| supportpages_edit_articleA | Edit an existing article according to instructions. Read it first and supply its current revision. Repository-connected edits run in SupportPages: send instructions, never write the replacement locally. Account-only drafts return local editing guidance. Successful published edits become live immediately; failures preserve the existing article and images. |
| supportpages_get_operationA | Check a hosted operation once, when the user asks how it is going or after a client restart; it never resubmits work. Do not call it on a loop while an operation runs: the review link shows progress as it is written. After a restart use the saved operation_id, or omit it to recover the most recent request, including a lost submission response. Polling is bounded to 20 seconds. |
| supportpages_retry_operationA | Explicitly retry a failed hosted operation after fixing its reported prerequisite. Reuses the operation and target; rechecks permissions. Pass the current attempt from get_operation. Revision conflicts require a new request with a freshly read revision; retry cannot overwrite an old snapshot. |
| supportpages_prepare_articleA | Check account-wide article hosting capacity before preparing a writing task and self-contained task brief. Call this before writing content or rendering images. In a local folder there is no capacity check or preview: the response says where the article will be saved. On plan_limit, show usage, upgrade and article-management links and stop; no writer should launch. This creates a preview when supported and returns its editor_url. Show that link immediately before launching the writer. This does not execute generation. Follow the returned personal preference for background or foreground execution; report started after launch and complete automatically after success. |
| supportpages_update_runA | Report actual host task start, failure, interruption or cancellation. Returns a compact acknowledgement and editor link; use supportpages_status for full run details when needed. Always show the returned editor_url, including after failure or interruption. Cannot mark content delivered or published. Stop the writer before reporting a terminal event. |
| supportpages_retry_articleA | Resume the same partial article after stopping the previous writer. Run the returned recovery task, report started, and complete after validation. Always show its returned editor_url before retrying, even if the link was already shown or the operation fails. Never retry a draft the user kept for editing. |
| supportpages_complete_articleA | After successful host writing and validation, finalize and upload this run as a draft. In a local folder it saves the article as Markdown with its screenshots and returns the saved path instead of an editor link. Safe to retry after an upload failure without regenerating. The writer finish handshake can already have delivered the draft; still call this tool to get the final response. Never infer completion from the writer’s prose or preview link. Return the editor link, then any show_to_user text verbatim, open only if the returned open_when_ready is true, and ask whether the user wants to publish. Never call for a partial or interrupted writer. |
| supportpages_cancel_runA | Release a generation run after the host agent has stopped. Does not stop processes or delete files. A writing run requires stopped=true. |
| supportpages_syncA | Refresh remote project settings, articles and video walkthroughs, including remote-only resources, publication/sharing, review links and changes. Missing walkthroughs are unavailable, not confirmed deletion tombstones. Preserves local content and upload baselines. Review conflicts in the editor; never recreate deleted resources automatically. |
| supportpages_list_walkthroughsA | List existing hosted video walkthroughs, including videos created in the browser. Returns generation, readiness, sharing and article-publication state with review/playback links. Optional article_id filters to one article. For the next page pass both next_cursor as after_id and through_id. Does not generate or share videos. |
| supportpages_get_walkthroughA | Read a hosted video walkthrough by ID: current generation and public visibility, revision, assets, transcript when available, and private review/playback links. Use get_operation for a Writer generation job; this tool also reads videos created outside Writer. Read-only: never publishes, shares or starts generation. |
| supportpages_list_local_articlesA | List current local article files when signed out or in local mode, without login or network requests. Otherwise refresh the linked project inventory, including remote-only articles and conflicts. Preserves local content. |
| supportpages_validate_articleA | Validate article schema, image references and available lint results. Validation does not finalize a generation run. |
| supportpages_preview_articleB | Create a self-contained local preview. Returns a file path and URI; no network requests or article scripts execute in the preview. |
| supportpages_finalize_articleA | Snapshot a successfully completed article for upload. Set completed=true only after the full skill pipeline succeeds (or after reviewing an existing finished article). Prepared runs require their run_id. Never finalize interrupted generation. |
| supportpages_upload_draftA | Upload the finalized article bundle to the bound SupportPages.io project as an unreviewed draft. Repeating an upload is safe. Published-article changes are rejected. |
| supportpages_get_articleB | Read remote content, revision and publication state for an article in the bound project. |
| supportpages_list_articlesA | List existing support articles. By default, inspect local article files when signed out or in local mode; otherwise list the linked help centre. Do not call status or init first and do not ask for login for a local listing. An empty local result does not mean the hosted help centre is empty. Use source=hosted only for an explicitly hosted inventory request, or source=local to inspect local files while signed in. Hosted results use next_cursor as after_id. |
| supportpages_update_articleA | Save an exact content update using the current revision from get_article. Structured articles use structured_content; Markdown articles use body and optional title. Preserves images and publication state. Published changes become live immediately and require repository access and publish permission. On conflict read again; never overwrite browser changes. |
| supportpages_publish_articleA | Make an article visible in the hosted help centre. It can be unpublished again in the web editor or with unpublish_article. Use only when the user has instructed publication. Address by article_id and current revision, or use the legacy slug and uploaded bundle revision; never both. |
| supportpages_unpublish_articleA | Remove an article from the public help centre while retaining it as a draft. Requires an account and publish permission, not a repository. Use the latest revision. |
| supportpages_delete_articleA | Soft-delete the selected article using its latest revision. Use only when the user requests deletion. Existing retention and browser restoration apply; never recreate it through upload or retry. |
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 47 tools
Several tools are near-duplicates: find_article_gaps, suggest_sections, and recommend_articles share nearly identical descriptions, while list_sections/list_recommendations and review_sections/review_recommendations are hard to distinguish. setup_hosted and connect_repository are explicit aliases, and many article lifecycle tools overlap, making tool selection error-prone.
All tools use a consistent supportpages_ snake_case prefix, and most follow a verb_noun pattern. Minor deviations such as noun-style supportpages_doctor or the compatibility alias supportpages_connect_repository are readable but slightly less uniform.
47 tools is well above the ideal 3-15 range and feels over-fragmented for the domain. Many narrowly scoped lifecycle steps and duplicate analysis/list/review variants increase selection cost without clear proportional benefit.
Article handling covers a broad lifecycle: create, edit, list, get, validate, preview, finalize, upload, publish, unpublish, and delete. Video walkthroughs are less complete, with create/list/get but no obvious update, delete, or sharing operation, leaving minor gaps.