Skip to main content
Glama
Mhdd-24

workspace-build-mcp

by Mhdd-24
README.md
# @mhdd_24/workspace-build-mcp

MCP server **and** PowerShell scripts to **build** an Angular UI library and **npm-link** it into a consumer app. Short aliases (`core`, `app`) expand from config. GitHub workflows use the published **`mhdd24-cli`** (`mhdd24`).

Use from [Cursor](https://cursor.com) chat or the terminal. Same architecture as Timelog / Flyway / Caffeine / Notepad++ MCP packages.

**Full documentation:** [docs/WIKI.md](./docs/WIKI.md)

---

## How it works (30 seconds)

```
You (chat or CLI)
  → workspace-build-mcp
  → scripts/workspace-build.ps1
  → ng build + npm link

Git:
  → scripts/workspace-git.ps1 → mhdd24 push | smart-commit
```

1. Configure `WORKSPACE_ROOT` + alias env vars  
2. Say **"build and link core"** (or run the `.ps1`)  
3. Use **mhdd24** helpers for commit/push when needed  

---

## Prerequisites

| Requirement | Notes |
|-------------|--------|
| **Node.js 18+** | MCP server |
| **Windows** | PowerShell scripts |
| **Angular CLI (`ng`)** | On PATH |
| **npm** | On PATH |
| **mhdd24-cli** | `npm i -g mhdd24-cli` for git tools |

---

## Install

### Option A — npm (after publish)

```bash
npm install -g @mhdd_24/workspace-build-mcp
```

### Option B — npx

```bash
npx @mhdd_24/workspace-build-mcp
```

### Option C — clone and build

```bash
git clone https://github.com/Mhdd-24/Workspace-Build-MCP.git
cd Workspace-Build-MCP
npm install
npm run build
node dist/index.js
```

Also install the GitHub helper CLI:

```bash
npm i -g mhdd24-cli
```

---

## Configure Cursor

Edit `~/.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "workspace-build": {
      "command": "npx",
      "args": ["-y", "@mhdd_24/workspace-build-mcp"],
      "env": {
        "WORKSPACE_ROOT": "C:/path/to/your/workspace",
        "ALIAS_CORE_WS": "FEApp/ClientApp/ui-core-ws",
        "ALIAS_CORE_PROJECT": "ui-core",
        "ALIAS_CORE_DIST": "dist/ui-core",
        "ALIAS_CORE_PACKAGE": "@scope/ui-core",
        "ALIAS_APP_WS": "FEApp/ClientApp/ui-app-ws/ui-app"
      }
    }
  }
}
```

**Local development:**

```json
"command": "node",
"args": ["C:/path/to/workspace-build-mcp/dist/index.js"]
```

Reload MCP after saving.

---

## Environment variables

| Variable | Required | Purpose |
|----------|----------|---------|
| `WORKSPACE_ROOT` | Yes | Monorepo / workspace root |
| `ALIAS_CORE_WS` | Yes (for build) | Library workspace (relative to root or absolute) |
| `ALIAS_CORE_PROJECT` | No | Angular project name (default `ui-core`) |
| `ALIAS_CORE_DIST` | No | Dist folder under library ws (default `dist/<project>`) |
| `ALIAS_CORE_PACKAGE` | No | npm package name to link (default `@scope/<project>`) |
| `ALIAS_APP_WS` | Yes (for link) | Consumer app path |
| `GIT_CWD` | No | cwd for mhdd24 (defaults to `WORKSPACE_ROOT`) |

Aliases: `core` → library settings; `app` → consumer app path.

---

## Tools

| Tool | Purpose |
|------|---------|
| `ws_status` | Config + `ng` / `npm` / `mhdd24` availability |
| `ws_list_aliases` | Resolved alias paths |
| `ws_build_link` | Build library + link into app |
| `ws_build_only` | Build library only |
| `ws_git_push` | `mhdd24 push "<message>"` |
| `ws_git_smart_commit` | `mhdd24 smart-commit` |

### Chat examples

- "List workspace build aliases"
- "Build and link core into the app"
- "Build core only"
- "Push with mhdd24: chore update link"

### Terminal

```powershell
cd path\to\Workspace-Build-MCP
.\scripts\workspace-build.ps1 `
  -LibraryWs "C:\ws\FE\ui-core-ws" `
  -AppWs "C:\ws\FE\ui-app" `
  -NgProject "ui-core" `
  -DistRel "dist\ui-core" `
  -PackageName "@scope/ui-core"
```

---

## License

ISC

TDQS

A3.7/5.0

Scored across 6 tools

Disambiguation5/5

All tools have clearly distinct purposes: building with/without linking, two different git operations, listing aliases, and checking status. No overlap between any tool's functionality.

Naming Consistency5/5

All tools follow the consistent `ws_verb_noun` pattern using snake_case, e.g., ws_build_link, ws_git_push, ws_list_aliases. Naming is predictable and readable.

Tool Count5/5

With 6 tools, the server is well-scoped for workspace build management. Each tool serves a distinct and necessary purpose without being overly numerous or sparse.

Completeness4/5

The tool surface covers core workflows: building, git operations, and configuration inspection. Minor gaps exist (e.g., no tool to clean or reset workspace), but the set is sufficient for primary tasks.

Maintenance

ActivityMaintained
ResponsivenessSyncing