Skip to main content
Glama
README.md
# PoB MCP Suite

This monorepo contains the complete Path of Building MCP delivery chain:

| Path | Responsibility |
| --- | --- |
| `vendor/PathOfBuilding` | Vendored Path of Building runtime with the stdio Lua bridge. |
| `packages/pob-mcp` | TypeScript MCP server and Docker runtime source. |
| `packages/pob-mcp-market` | Codex plugin, skill, marketplace metadata, and client wrapper scripts. |

The goal of this repository is to replace the previous three-repository release chain with one source of truth. Docker images are built from the checked-in PoB vendor tree instead of cloning another repository during image build.

## Local Validation

```bash
npm --prefix packages/pob-mcp ci
npm run validate
docker build -t pob-mcp-suite:local .
docker run --rm --entrypoint node -e POB_LUA_ENABLED=true -e POE_TRADE_ENABLED=false pob-mcp-suite:local /opt/pob-mcp/scripts/mcp-smoke.mjs node /opt/pob-mcp/build/index.js
```

## Release Shape

- Root CI validates the MCP package and Codex plugin package.
- Root Docker workflow builds the image from `vendor/PathOfBuilding` and `packages/pob-mcp`.
- The Codex plugin continues to run `ghcr.io/anitaguptaoffice/pob-mcp-suite:latest` by default.
- Previous standalone repositories are legacy references; active source, plugin, sync, and publishing changes belong in this monorepo.

## Vendor Synchronization

`.github/workflows/sync-pob.yml` syncs the Path of Building Community `dev` branch every Monday. After merging the vendor subtree, it validates `src/Data/TimelessJewelData/ElegantHubris.zip` with `unzip -tq`, records its SHA-256 and whether it changed in the workflow summary, then publishes a fresh Docker image when the vendor changed. This keeps the native Timeless Jewel seed lookup table aligned with the bundled PoB version.