Claude Faf MCP Server: Persistent AI Project DNA
Create persistent AI project DNA with the Claude Faf MCP server: 33 tools to build, score, and sync projects in IANA .faf format for reliable context.
npm install -g claude-faf-mcpOverview
The Claude Faf MCP Server provides a lightweight, developer-focused backend for creating and maintaining persistent AI “project DNA” using the Model Context Protocol (MCP). It packages and synchronizes project context, tooling state, and metadata into the .faf format (IANA .faf format compatibility), making context sharable, versionable, and reproducible across sessions and systems.
The server is useful when you need a canonical, machine-readable context for agents, pipelines, or model sessions — for example, to persist prompt history, tool definitions, evaluation artifacts, and project metadata. By exposing a REST/CLI surface and a collection of build/score/sync tools, it helps teams keep model context stable, auditable, and portable.
Features
- Persistent project context stored in IANA .faf format for reliable serialization and exchange
- 33 built-in tools covering build, transform, scoring, import/export, and sync workflows
- HTTP REST API and optional CLI interface for automation and CI/CD
- Pluggable storage backends (local filesystem, S3-compatible stores)
- Project versioning and incremental sync to reduce transfer and recompute
- Tool-level hooks to run custom build or evaluation logic
- Configurable authentication and transport (API token, local-only mode)
- Export/import utilities for sharing .faf packages between environments
Installation / Configuration
Clone the repository and run with Docker or locally. The examples below assume the repo is available at https://github.com/Wolfe-Jam/claude-faf-mcp.
Install and run (local, Node/npm example):
# install dependencies
# run the server
Run with Docker:
Minimal configuration (mcp.config.json):
Environment variables commonly supported:
- MCP_PORT — HTTP port (default 8080)
- MCP_DATA_DIR — root data directory for .faf projects
- MCP_AUTH_TOKEN — API token for authenticated routes
API quick check (curl):
# list available tools
# create a new project (POST with JSON body)
Available Tools / Resources
The server ships a suite of 33 tools grouped by purpose. You can query the full list at the /api/tools endpoint. Common categories and example tools:
| Category | Example tools |
|---|---|
| Build & Transform | project-init, manifest-merge, dependency-resolve |
| Scoring & Evaluation | score-runner, metric-aggregator, baseline-compare |
| Sync & Transport | sync-push, sync-pull, delta-package |
| Import/Export | export-faf, import-faf, archive-zip |
| Utility | checksum, manifest-validate, audit-log |
Each tool exposes a simple input/output contract: JSON in, JSON out. Tools can be executed via API, CLI, or chained in server-side workflows.
Use Cases
Reproducible model experiments
- Persist experiment prompts, toolchains, and evaluation metrics into a .faf package. Re-run experiments by reloading the same .faf to ensure identical context and tooling.
Team-shared agent context
- Store “project DNA” including persona, instructions, and utility tools. Team members and agent instances fetch the same .faf to ensure consistent behavior across deployments.
CI/CD for prompt engineering
- Integrate MCP server into CI pipelines: generate .faf artifacts on PRs, run score-runner to validate performance, and fail builds if regressions are detected.
Multi-agent orchestration
- Use sync-push and sync-pull to distribute consistent context to multiple agents or worker nodes, reducing drift and simplifying coordination.
Migration and backup
- Export .faf packages for backups or to migrate projects between environments (local → cloud, staging → production).
Example: Create and Export Project
- Create a project:
- Add tools or artifacts (example: attach a manifest):
- Export .faf package:
Where to get it
Source and issues: https://github.com/Wolfe-Jam/claude-faf-mcp
For developers new to this tool: start by running the server locally, calling /api/tools to inspect what’s available, and creating a small project to export/import as a .faf package. The server is designed to integrate into automation and CI pipelines, so try wiring simple build-and-score flows first and iterate from there.