Skip to main content
Glama
trmckinzie

aurelia-mcp-server

by trmckinzie
README.md
# aurelia-mcp-server

A modular MCP hub connecting two sibling local-first projects:

- **aurelia-os** — a static-site generator over an Obsidian vault. This repo reads its `vault/` directory read-only (no changes to that project).
- **aurelia-mission-control** — a Next.js dashboard for Agents/Goals/Runs/Projects. This repo owns the canonical SQLite schema for that domain data; `aurelia-mission-control` consumes it as a `file:` dependency.

Not a monolith: each concern is its own npm workspace package, independently built and tested.

## Packages

| Package | Responsibility |
|---|---|
| `packages/db` | Drizzle schema, migrations, and typed repo functions for the mission-control domain (agents/goals/runs/projects). SQLite via `better-sqlite3`. |
| `packages/vault-reader` | Read-only frontmatter + markdown parsing over aurelia-os's vault. Mirrors the relevant subset of `engine/content.py`. |
| `packages/tools-mission-control` | MCP tool handlers wrapping `@aurelia/db`. |
| `packages/tools-vault` | MCP tool handlers wrapping `@aurelia/vault-reader`. |
| `packages/server` | Composes both tool packages behind `@modelcontextprotocol/sdk`'s `McpServer` + `StdioServerTransport`. |

## Status

Phase 2 complete — `aurelia-mission-control` now persists to SQLite via `@aurelia/db` instead of flat JSON files. See the architecture plan for the full phased rollout.

## Development

```bash
npm install
npm run build
npm test
```

## Consuming `@aurelia/db` from `aurelia-mission-control`

`aurelia-mission-control` depends on `@aurelia/db` via a packed tarball (`file:../aurelia-mcp-server/packages/db/aurelia-db-0.0.1.tgz`), not a live symlink — Next.js/Turbopack refuses to resolve a `file:` dependency whose real path is a symlink outside the project root. This means the tarball has to be rebuilt and reinstalled after any change to `packages/db`:

```bash
cd packages/db && npm pack        # rebuilds (via prepack) and repacks dist/ + drizzle/ into aurelia-db-0.0.1.tgz
cd ../../../aurelia-mission-control && npm install
```

The tarball itself is gitignored (a build artifact, like `dist/`) — regenerate it locally rather than committing it.

Maintenance

ActivityMaintained
ResponsivenessSyncing