Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ARCHFORGE_HOMENoWhere projects and config are stored.~/.archforge
OPENAI_API_KEYNoAPI key for OpenAI-compatible providers.
ANTHROPIC_API_KEYNoAPI key for the Claude API provider.
ARCHFORGE_LLM_MODENoHow documents are written: auto, provider, sampling or host.auto
ARCHFORGE_LLM_MODELNoModel name. Required for Ollama and OpenAI-compatible providers; defaults to claude-sonnet-4-5 for Anthropic.
ARCHFORGE_LLM_BASE_URLNoOverride the API address; the Ollama default is http://localhost:11434.http://localhost:11434
ARCHFORGE_LLM_PROVIDERNoLLM provider to use: anthropic, ollama or openai-compatible.
ARCHFORGE_QUESTION_MODENoHow interview questions are shown: auto, elicit or chat.auto
ARCHFORGE_LLM_API_KEY_ENVNoName of the environment variable holding the API key, if not the default.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

Archforge designs an application end to end: an adaptive requirements interview, deterministic capacity estimates, then a full HLD + LLD with Mermaid diagrams, exported as Markdown into the workspace. Workflow: (1) archforge_start_project with the user's idea. (2) Optionally pre-fill answers the idea clearly implies using archforge_submit_answers with source "inferred". (3) archforge_ask to interview the user (native form or chat). NEVER answer interview questions on the user's behalf. (4) archforge_generate_design — repeat until it reports completion. In "host authoring" mode you write the sections it hands you and submit them with archforge_submit_sections. (5) archforge_export. Use archforge_status to resume or inspect a project and archforge_config to choose which model writes the documents (the IDE's model, Claude API, or Ollama).

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

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

Tools

Functions exposed to the LLM to take actions

NameDescription
archforge_start_projectA

Create a new architecture-design project from the user's app idea. Returns the project id and the catalog of interview question ids so you can pre-fill answers the idea clearly implies. Follow with archforge_ask.

archforge_askA

Run or resume the requirements interview. If the IDE supports popup forms (MCP elicitation) the questions appear as native forms and this call returns when the user has answered; otherwise it returns a chat questionnaire you must show to the user, then submit their replies with archforge_submit_answers. Questions adapt to earlier answers (cloud, concurrent users, throughput, availability, compliance, …).

archforge_submit_answersA

Record the user's answers (chat mode), pre-fill inferred answers, or accept defaults. Returns the next batch of questions (or announces that the interview is complete). Only submit values the user actually gave; use source "inferred" for values you deduced from their idea.

archforge_capacityB

Show the deterministic capacity estimate (RPS, storage, instances, availability budget, consistency warnings) for the answers collected so far.

archforge_generate_designA

Generate the design sections. Depending on configuration and IDE support, either the server writes them using the configured model (Claude API / Ollama / the IDE's model via sampling), or — in host-authoring mode — it returns section briefs for YOU to write, which you then submit with archforge_submit_sections. Each call handles a few sections; keep calling with the same arguments until it says everything is complete. Use sectionIds + feedback to revise specific sections.

archforge_submit_sectionsA

Submit design sections you wrote from archforge_generate_design briefs. The server cleans headings, validates Mermaid diagrams and required content, stores accepted sections and returns problems for the rest.

archforge_statusA

Without projectId: list all projects. With projectId: interview progress, which sections are written / stale / missing, how documents will be written, and the next step.

archforge_exportB

Write hld.md, lld.md, README.md (index + assumptions), requirements.json, a viewer.html and every Mermaid diagram as .mmd into the workspace (default docs/architecture). Partial exports are allowed; missing sections are marked.

archforge_configA

Show diagnostics (what this IDE supports, which model will write the documents, how questions are shown) or change settings. API keys are never accepted here: set the environment variable named by apiKeyEnv in the IDE's MCP server config. With test:true a tiny request is sent to the resolved model.

Prompts

Interactive templates invoked by user choice

NameDescription
design_appInterview me about an app idea and produce a complete HLD and LLD with diagrams.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 9 tools

Disambiguation4/5

Each tool maps to a distinct pipeline stage (start, interview, capacity, generate, submit, status, export, config), and descriptions clarify the ask/submit_answers and generate_design/submit_sections pairs. The only real confusion risk is the generate/submit split in host-authoring mode, but the descriptions explain when each applies.

Naming Consistency4/5

All tools share a consistent archforge_ prefix and snake_case formatting. Most are verb_noun (start_project, submit_answers, generate_design) while a few are bare nouns (capacity, status, config, export), which is a minor but readable deviation.

Tool Count5/5

Nine tools is well within the ideal 3-15 range and each one maps to a necessary step of the architecture-design workflow. No redundant or filler tools are present.

Completeness4/5

The surface covers the full lifecycle: project creation, adaptive requirements interview, capacity estimation, design generation/authoring, status inspection, and multi-format export. Minor gaps exist (no project deletion/archival or explicit project switching beyond status listing), but agents can work around these.