Skip to main content

AD Forge — data-driven solution architecture with live cost estimates

Project description

AD Forge

Runtime-agnostic MCP server for data-driven solution architecture, with bundled Hermes skills.

Works with any MCP stdio client (Claude Desktop, Hermes, OpenClaw, etc.). The core logic is also importable as plain Python packages.

Authors: Amirthanathan R (amirth300324@gmail.com) and Dhivya GL (gldhivya1@gmail.com).

Project Structure

├── pyproject.toml              # Package metadata, deps, tool config
├── README.md                   # This file
├── CLAUDE.md                   # Guidance for Claude Code
├── .env.example                # Template for local env vars
├── Makefile                    # Common development targets
├── src/
│   └── adforge/
│       ├── __init__.py
│       ├── server.py           # MCP stdio server wiring
│       ├── models/             # Pydantic domain models
│       │   ├── problem.py
│       │   ├── solution.py
│       │   ├── sub_problem.py
│       │   ├── dag.py
│       │   └── cost.py
│       ├── persistence/        # SQLite repositories + migrations
│       │   ├── db.py
│       │   ├── migrations/
│       │   └── repositories/
│       ├── pricing/            # Cloud/role pricing provider wrappers
│       │   ├── aws.py
│       │   ├── azure.py
│       │   ├── gcp.py
│       │   ├── databricks.py
│       │   ├── roles.py
│       │   ├── cache.py (in repositories)
│       │   └── manager.py
│       ├── tools/              # MCP tool modules
│       │   ├── problem.py
│       │   ├── solution.py
│       │   ├── decompose.py
│       │   ├── cost.py
│       │   └── solution_cost.py
│       ├── prompts/            # MCP prompt modules
│       │   └── problem_decomposition.py
│       └── utils/
│           └── logging.py
├── skills/
│   └── solution-architect/
│       └── SKILL.md            # Hermes skill for architecture work
└── tests/

Quick Start

Install dependencies (uses uv or pip):

uv pip install -e ".[dev]"
# or
pip install -e ".[dev]"

Run the server manually:

python -m adforge.server
# or
adforge-mcp

Run tests:

uv run pytest tests/ -q

Workflow

  1. Capture a problemcreate_problem(title, description, tags_csv).
  2. Decompose it — use the problem_decomposition prompt, then call decompose_problem(...) to create sub-problems and a DAG.
  3. Create a solutioncreate_solution(problem_id, title, body).
  4. Attach costsattach_cost_to_solution(...) for each service/role/region.
  5. Summarizesummarize_solution_cost(solution_id).
  6. Reviewadd_solution_comment, add_solution_review, update_solution_status.

Pricing Sources

  • aws — public AWS Price List Query API (us-east-1), no credentials required.
  • azure — Azure Retail Prices API, no credentials required.
  • gcp / databricks — stub providers; supply manual_rate in parameters_json.
  • role — public/free role-pricing defaults; override with manual_rate.

Hermes Skill

The skills/solution-architect/SKILL.md is a Hermes-compatible skill. To use it:

  • Copy or symlink it into ~/.hermes/skills/solution-architect/SKILL.md, or
  • Keep it in-repo and load it directly if your agent supports in-repo skills.

MCP Configuration

Add to your MCP client config:

{
  "mcpServers": {
    "adforge": {
      "command": "uvx",
      "args": ["adforge"]
    }
  }
}

Or for local development:

mcp_servers:
  adforge:
    command: "uv"
    args: ["run", "python", "-m", "adforge.server"]

Environment Variables

Copy .env.example to .env and adjust:

  • ADFORGE_DB_PATH — SQLite file path.
  • ADFORGE_CACHE_TTL — pricing cache TTL in seconds.
  • AWS_PRICING_REGION — AWS region for pricing queries.
  • LOG_LEVEL, MCP_SERVER_NAME.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

adforge-0.1.0.tar.gz (80.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

adforge-0.1.0-py3-none-any.whl (35.2 kB view details)

Uploaded Python 3

File details

Details for the file adforge-0.1.0.tar.gz.

File metadata

  • Download URL: adforge-0.1.0.tar.gz
  • Upload date:
  • Size: 80.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.7

File hashes

Hashes for adforge-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2389c688c0725b851f614e0ae973e2faad46e9ed498e1cb21788ccbbdf1faec0
MD5 0a020abb101ec31a019c93e9ef2a0d93
BLAKE2b-256 23156cae01d572ffe1218f0514fe055b3e927b838a166a83247d8ed992b65656

See more details on using hashes here.

File details

Details for the file adforge-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: adforge-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 35.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.7

File hashes

Hashes for adforge-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 96b808278222c36303c982e94f1a5415e8d8f2b5592dc4d9aa44250da5c41ce4
MD5 d7fbcfe84b7785c5e0d3bd5189f2a10f
BLAKE2b-256 76c5ac006ddef758e1d4997571f99a8acbb5f820bff4ff763eff044282734cdd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page