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.1.tar.gz (98.8 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.1-py3-none-any.whl (35.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for adforge-0.1.1.tar.gz
Algorithm Hash digest
SHA256 71e4ae1815c8c4db1dc8244d6ae7f094b7eadce72be9448d6057f3796b0f51f1
MD5 c387d5119dc2d0edd1d39f6aea1fc39c
BLAKE2b-256 18a7cbf080bf528e3318f37acd335546cf88bbcc54ba73df818e92e5b7ea953a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: adforge-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 47e374b2f4bb4aaa6c8cf70351372a1e4da34b04645bd1274faf27e318683e0e
MD5 78a54eb4c5815194cabb39cae832f879
BLAKE2b-256 38af7a85acd5c48be42875ff91083064b2557d48b425e32205cb15aa6bdbe2a7

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