Skip to main content
Glama
README.md
# AIDC-AI.IO — MCP Connector

**AI data center sizing, validation, and layout via a remote MCP server.**  
AI 데이터센터 자동화 툴: 결정론적 엔진으로 AI 데이터센터를 설계·검증·레이아웃합니다.

[![MCP](https://img.shields.io/badge/MCP-Streamable%20HTTP-blue)](https://aidc-ai.io/api/mcp)
[![Registry](https://img.shields.io/badge/registry-io.aidc--ai%2Fdesign--engine-green)](https://aidc-ai.io/.well-known/mcp/server.json)
[![License](https://img.shields.io/badge/license-MIT-lightgrey)](LICENSE)

---

## What is this?

This repository shows how to connect an MCP client or REST client to the
**AIDC-AI.IO Design Engine** — a deterministic, source-backed engine that sizes,
validates, and lays out Rubin-era AI data centers.

**What the engine does (on the server):**

- Accepts an IT load, rack density, GPU generation (Hopper / Blackwell / **NVIDIA Vera Rubin**
  NVL72 / VR200), and site constraints.
- Returns deployment-unit-snapped rack counts, design PUE, power-factor-backed total MVA
  (22.9 kV intake), liquid-cooling / air-cooling heat split, CDU planning values,
  cost (KRW), and timeline.
- Validates designs against electrical, cooling, layout, safety, and data rules with
  severity-classified findings and RFIs.
- Generates a rack-plan grid (hall dimensions, row/column positions in mm) and a
  site-block layout.

**What this repo contains:**

- MCP client configuration snippet.
- `curl` and Node.js examples that call the public REST projection (`/api/agent/*`).
- Authenticated runnable examples that read the current response shape.

The core calculation engine, reference catalogs (rack library, AHJ/code matrix,
1.6T fabric topology, direct-to-chip (D2C) cooling models, etc.) are proprietary and
remain server-side. No engine source is published here.

> **Korea live.** Region-specific: 22.9 kV utility intake, Korean AHJ/code, climate,
> and operations validation. Keywords the engine targets: AI data center, AIDC,
> NVIDIA Rubin, Vera Rubin, 22.9kV, liquid cooling, CDU, D2C, 1.6T fabric, PUE.

---

## MCP Server

| Field | Value |
|---|---|
| Transport | Streamable HTTP |
| Endpoint | `https://aidc-ai.io/api/mcp` |
| Official registry name | `io.aidc-ai/design-engine` |
| Registry descriptor | `remote.server.json` (metadata revision 1.0.1; separate from npm/API versions) |
| Auth | Registered API key required. Configure `Authorization: Bearer` in the client credential settings; never send keys in tool arguments. |
| Tool count | 3 |
| Limits | The registered account limits apply; preserve HTTP 429 and `Retry-After`. |

### Tools

| Tool | One-line description |
|---|---|
| `design` | Size an AI data center: returns rack count, PUE, total MVA, liquid/air cooling split, CDU count, cost (KRW), and build timeline. |
| `validate` | Check a design against electrical, cooling, layout, safety, and data rules; returns severity-classified findings and RFIs. |
| `layout` | Generate a rack-plan grid (hall dimensions, row/column positions in mm) and a site-block layout. |

---

## Quick Start

### MCP client configuration

Obtain a registered integration key through [AIDC Contact](https://aidc-ai.io/contact).
Use a client that supports Streamable HTTP and pass the key through its
credential settings as an `Authorization: Bearer` header. The `mcp.json`
example contains a replacement marker, not a working credential. Keep the
configured copy private and never commit a real key.

For a local stdio client, the published package is available through npm:

```bash
npx -y aidc-mcp-server@0.2.4
```

Set `AIDC_API_KEY` in the MCP server process's environment using your client's
secret or environment configuration. A file next to the server is not read
automatically. `design`, `validate`, and `layout` do not accept credentials
as tool inputs. Authentication errors are connection-configuration failures,
not engineering verdicts.

### Docker (local stdio server)

Build and run the same published MCP server used for registry evaluation:

```bash
docker build -t aidc-ai-mcp .
docker run --rm -i -e AIDC_API_KEY aidc-ai-mcp
```

The container communicates over stdio and connects to `https://aidc-ai.io` by
default. Export a registered `AIDC_API_KEY` before running the container;
`-e AIDC_API_KEY` forwards the existing variable without placing its value in
the command text.

---

## REST Usage

The MCP package calls these REST endpoints. All calculation routes require a
registered key:

| Tool | REST endpoint |
|---|---|
| `design` | `POST https://aidc-ai.io/api/agent/design` |
| `validate` | `POST https://aidc-ai.io/api/agent/validate` |
| `layout` | `POST https://aidc-ai.io/api/agent/layout` |

### Example: size a 30 MW Rubin-era AI data center

```bash
curl -s -X POST https://aidc-ai.io/api/agent/design \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${AIDC_API_KEY}" \
  -d '{
    "itLoadMw": 30,
    "rackDensityKw": 120,
    "gpuGen": "rubin",
    "siteAreaSqm": 5000,
    "region": "metropolitan",
    "options": {
      "redundancy": "n_plus_1",
      "coolingMode": "liquid",
      "pueTarget": 1.2
    }
  }'
```

### Read the response

Use `node design.example.js` for a live authenticated example. Successful
responses contain `ok`, `summary`, `warnings`, `engineVersion`, `requestId`,
and `_agent`. Sizing values such as `rackCount`, `pueDesign`, and `mvaTotal`
are inside `summary`. Preserve warnings and validation findings; an `ok: true`
response does not certify the design or turn `PENDING` into PASS.

There is no fixed numeric output fixture for a real project. Use the returned
engine result and its evidence for the exact selected inputs.

---

## Tools — Input Reference

### `design`

Size an AI data center from scratch.

| Field | Type | Range / values | Required |
|---|---|---|---|
| `itLoadMw` | number | 0 < x ≤ 1000 | Yes |
| `rackDensityKw` | number | 0 < x ≤ 500 | Yes |
| `gpuGen` | string | `"hopper"` \| `"blackwell"` \| `"rubin"` | Yes |
| `siteAreaSqm` | number | 0 < x ≤ 1 000 000 | Yes |
| `region` | string | `"metropolitan"` \| `"regional"` | Yes |
| `options.redundancy` | string | `"n"` \| `"n_plus_1"` \| `"2n"` | No |
| `options.coolingMode` | string | `"air"` \| `"hybrid"` \| `"liquid"` | No |
| `options.pueTarget` | number | 1.0 – 2.5 | No |

Key response fields: `summary.rackCount`, optional `summary.unsnappedRackCount`,
`summary.pueDesign`, `summary.mvaTotal`, and cooling/commercial values inside
`summary`. `warnings[]`, `engineVersion`, and `requestId` are top-level fields.

---

### `validate`

Check a design against engineering rules.

```json
{
  "rawInput": {
    "itLoadMw": 30,
    "rackDensityKw": 120,
    "gpuGen": "rubin",
    "siteAreaSqm": 5000,
    "region": "metropolitan"
  }
}
```

Key response fields: `findings[]` (including `severity`, `family`, `message`,
and optional `publicRuleId`), `rfis[]`, and optional `verdict` / `graphVerdict`.
Public MCP accepts `rawInput` or `designSummary`; private EngineSession IDs
remain in the signed-in AIDC workflow.

---

### `layout`

Generate a rack plan and site block layout.

```json
{
  "design": {
    "itLoadMw": 30,
    "rackDensityKw": 120,
    "gpuGen": "rubin",
    "siteAreaSqm": 5000,
    "region": "metropolitan"
  },
  "siteCentroid": { "lat": 37.5665, "lng": 126.9780 },
  "siteAreaSqm": 5000
}
```

**Key response fields:** `rackPlan` (hall dimensions, rows, columns, per-rack positions in mm),
`sitePlan` (block-level layout in percentage coords)

---

## Links

| Resource | URL |
|---|---|
| Website | https://aidc-ai.io |
| OpenAPI 3.1 spec | https://aidc-ai.io/api/openapi.json |
| MCP server card | https://aidc-ai.io/.well-known/mcp/server.json |
| LLM context | https://aidc-ai.io/llms.txt |
| Full LLM context | https://aidc-ai.io/llms-full.txt |
| Contact | contact@aidc-ai.io |

---

## License

This repository (examples and connector code only) is released under the [MIT License](LICENSE).  
The AIDC-AI.IO engine, reference catalogs, and all server-side logic remain proprietary.

TDQS

A3.5/5.0

Scored across 3 tools

Disambiguation5/5

The three tools target distinct stages: design generates the design basis, validate checks inputs/rules, layout produces physical rack/site data. No functional overlap; boundaries are clear from descriptions.

Naming Consistency5/5

All tool names are single, lowercase action words (design, validate, layout) following a consistent terse style. No mixed conventions or casing.

Tool Count5/5

Three tools is well within the ideal 3-15 range and each maps to a core operation (generate, validate, layout). No redundant tools; the set is tightly scoped.

Completeness4/5

Core generate-validate-layout pipeline is covered, but there is no explicit retrieval/update/list for designs, and sessions are handled externally. Minor gaps may require workarounds but no critical dead end.

Maintenance

ActivityMaintained
ResponsivenessNo issues