Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

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

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
faf_readA

Read project DNA from a .faf file. Returns the full parsed structure including project info, stack, preferences, and scoring data. Use this as the first step to understand any FAF-enabled project.

faf_validateA

Validate a .faf file and return score, tier, and issues. Returns errors (must fix) and warnings (should fix) with specific messages. Use after faf_init or when checking if a .faf file meets quality standards.

faf_scoreA

Quick Mk4 score check — returns score (0-100%), tier, and slot counts. Uses the Mk4 Championship 21-slot scoring engine for universal parity. Use this for status checks; use faf_validate when you need error details.

faf_discoverA

Find .faf files in the project tree by walking up from start_dir. Searches the current directory and parent directories for project.faf. Use this before faf_read to locate the file automatically.

faf_initA

Create a starter .faf file with project name, goal, and language. Writes a valid FAF YAML file with all required sections. Will not overwrite an existing file — use faf_discover first to check. The path is confined to the project root (cwd / FAF_ALLOWED_ROOTS).

faf_stringifyB

Convert parsed FAF data back to YAML string. Useful for displaying the raw .faf content or preparing it for editing. Reads the file, parses it, then re-serializes to clean YAML.

faf_contextA

Get Gemini-optimized context from a .faf file. Returns the key sections an AI needs: project info, stack, instructions, and score. Use this to quickly understand a project without reading the full .faf structure.

faf_geminiA

Export and write GEMINI.md from a .faf file (non-destructive). Authors GEMINI.md in Gemini CLI's own convention (hierarchical, @file-importable — setup · verify · key files · stack · confirm-first actions) via faf-python-sdk's authoring tool, in parity with faf-cli's faf export --gemini. Injects it as a faf-managed block, preserving any hand content. Re-running updates the block in place.

faf_agentsA

Export and write AGENTS.md from a .faf file (non-destructive). Authors a BETTER-shaped AGENTS.md (setup · tests · layout · conventions · three-tier guardrails · definition of done · security · commit) via faf-python-sdk's authoring tool — in parity with faf-cli's faf export --agents. Injects it into AGENTS.md as a faf-managed block, preserving any hand content. Re-running updates the block in place — it never overwrites your file.

faf_migrateA

Migrate a .faf file to the current format version (3.0). Bumps faf_version, ensures the section roots exist (project, stack, human_context, monorepo), and re-serializes. Legacy slot names (frontend/database/…) still score via the registry's aliases — this only touches the version and structure, never your values. Parity with faf-cli's faf migrate. Pass dry_run=true to preview.

faf_aboutA

FAF format info — IANA registration, version, ecosystem. Returns metadata about the FAF format, server version, and available MCP bridges. Use this when users ask what FAF is or how it connects to other AI platforms.

faf_modelA

Get a 100% Trophy-scored example .faf file for a specific project type. Returns a complete, realistic project.faf that fills all 21 scored slots. Use this as a reference when building or improving a .faf file — shows exactly what 100% looks like. Call without arguments to list all 15 available project types.

faf_autoB

Auto-detect project stack and author/update a .faf file. Scans package.json, pyproject.toml, Cargo.toml, go.mod, and other manifest files for language, framework, database, API type, and build tools — then grounds the result in the repo's own files: docker-compose service images (Postgres, Redis, Elasticsearch...) map onto stack slots, and Makefile / justfile targets map onto test / build / lint commands. Facts from files, no hardcoded defaults. Creates a new .faf if none exists, or fills empty slots in an existing one.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 13 tools

Disambiguation4/5

Most tools have distinct purposes, but several pairs overlap: faf_validate vs faf_score both return score/tier (differing only in detail level), faf_init vs faf_auto both create .faf files, and faf_context vs faf_read both read the file. The descriptions do explicitly clarify the boundaries, keeping confusion manageable.

Naming Consistency5/5

Every tool uses a uniform snake_case 'faf_<verb/noun>' pattern with a shared prefix, making the set highly predictable. No mixing of conventions.

Tool Count5/5

13 tools is well within the ideal range and each maps to a meaningful operation (create, read, discover, validate, score, migrate, export, model). No tool feels redundant enough to be dead weight.

Completeness4/5

The lifecycle is well covered: discover/read/context for reading, init/auto for creation, validate/score for quality, migrate for format, and gemini/agents for export. A minor gap is the absence of an explicit arbitrary edit/write-back tool (stringify prepares content for editing but nothing writes it).

Maintenance

ActivityActive
ResponsivenessNo issues