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.2.tar.gz (99.2 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.2-py3-none-any.whl (35.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for adforge-0.1.2.tar.gz
Algorithm Hash digest
SHA256 28096dbb56506f6d95a97044c9b42a476ed441dd6e06797dc5c3ea44dc50942c
MD5 be51a63c63f6ba44c48abecd2820cc28
BLAKE2b-256 e605267fd182354f6065d9e5aa042965eab38c593a8ba20afe3be8970de999c7

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for adforge-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6f50d338bc5f74e16a11b4fb013156366cb200583be3dd17a9606193e926ed15
MD5 f9de74b805360f76b44708b00a340e24
BLAKE2b-256 a9bfd4babbb86cefe744e6503600deb4e68315ba34a38e5366e8c5eb1b825833

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