Archforge
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ARCHFORGE_HOME | No | Where projects and config are stored. | ~/.archforge |
| OPENAI_API_KEY | No | API key for OpenAI-compatible providers. | |
| ANTHROPIC_API_KEY | No | API key for the Claude API provider. | |
| ARCHFORGE_LLM_MODE | No | How documents are written: auto, provider, sampling or host. | auto |
| ARCHFORGE_LLM_MODEL | No | Model name. Required for Ollama and OpenAI-compatible providers; defaults to claude-sonnet-4-5 for Anthropic. | |
| ARCHFORGE_LLM_BASE_URL | No | Override the API address; the Ollama default is http://localhost:11434. | http://localhost:11434 |
| ARCHFORGE_LLM_PROVIDER | No | LLM provider to use: anthropic, ollama or openai-compatible. | |
| ARCHFORGE_QUESTION_MODE | No | How interview questions are shown: auto, elicit or chat. | auto |
| ARCHFORGE_LLM_API_KEY_ENV | No | Name 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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
| design_app | Interview me about an app idea and produce a complete HLD and LLD with diagrams. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
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.
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.
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.
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.