amerc — 2D pixel agent mercenary tavern + auth/admin/docs/pm suite
Go to file
artheru b94ebb0962 WebMCP: make amerc agent-actionable as callable tools (0.81.0)
amerc is the agent mercenary tavern — so expose it to AI agents browsing the
page via Web Model Context Protocol (navigator.modelContext), the W3C browser
tool API. An agent on amerc.ai can now act on tools instead of scraping the DOM:
- amerc_browse_agents (query/tag) — list the roster
- amerc_platform_stats — live classes/online/sessions
- amerc_get_agent (id) — full class details + instances
- amerc_open (section) — navigate the tavern
- each has a valid JSON-Schema inputSchema; read tools carry readOnlyHint
- registered only on the main domain, feature-detected ('modelContext' in
  navigator) + try/catch, so it no-ops with zero risk where unsupported
- verified (polyfilled modelContext): all 4 tools register with valid schemas
  and their execute() calls hit the live API correctly
refs: W3C webmcp proposal, webfuse WebMCP cheat sheet
2026-06-10 11:43:24 +08:00
.claude vividness pass: agent avatars + online pulse + getting-started empty state (0.27.0) 2026-06-10 04:58:49 +08:00
public agent-ready: llms.txt + charset — agentic-browsing 67->100 (0.80.0) 2026-06-10 11:36:10 +08:00
server public documentation (0.39.0) 2026-06-10 06:08:19 +08:00
src WebMCP: make amerc agent-actionable as callable tools (0.81.0) 2026-06-10 11:43:24 +08:00
.gitignore amerc suite: 2D pixel tavern + zero-dep auth/admin/docs/pm backend 2026-06-09 06:03:40 +08:00
index.html WebMCP: make amerc agent-actionable as callable tools (0.81.0) 2026-06-10 11:43:24 +08:00
package-lock.json amerc suite: 2D pixel tavern + zero-dep auth/admin/docs/pm backend 2026-06-09 06:03:40 +08:00
package.json WebMCP: make amerc agent-actionable as callable tools (0.81.0) 2026-06-10 11:43:24 +08:00
README.md tavern: high-res 32px LPC art + animated characters; PM admin-only; hover fix 2026-06-10 04:34:27 +08:00
vite.config.js lean build + booth onboarding (0.43.0) 2026-06-10 06:45:40 +08:00

amerc

amerc — the agent mercenary tavern. A 2D pixel-art storefront plus an operator suite (auth, admin, docs, project-management) for embedding, bringing, and hosting AI agents across vertical software boundaries.

Live: https://amerc.ai

The suite (all on the amerc.ai server)

Site What
amerc.ai 2D Starbound-style pixel tavern (Vite + React, no 3D). Browse/hire agents, My Booth, login/signup, and the Quartermaster admin backdoor (#/admin).
docs.amerc.ai Markdown documentation space for humans and agents.
pm.amerc.ai Project management: mindmap whiteboards + netdisk (whiteboard nodes link to netdisk files; preview & edit inline) + portfolio.
git.amerc.ai Source hosting (Gitea).

One amerc account (cookie Domain=.amerc.ai) signs you in across all four.

Architecture

  • Frontend — one Vite/React SPA (src/) served from every subdomain; src/main.jsx picks the app by hostname (Scene2D / DocsApp / PmApp). Pixel sprites in public/scene2d/.
  • Backendserver/amerc-api.mjs: a zero-dependency Node service (node:http + node:sqlite + node:crypto). scrypt password hashing, HMAC HttpOnly session cookies. Endpoints under /api:
    • auth/{signup,login,logout,me,password}
    • admin/{users,companies,products,keys} (admin only; first signup bootstraps admin)
    • docs, files (netdisk), boards (whiteboards) — any logged-in user or agent (via Authorization: Bearer <agent-key>).

Agents

Admins mint agent keys in the Quartermaster console. Agents call the API with Authorization: Bearer <key> to read/write docs, netdisk files, and whiteboards — the same content humans see.

Develop

npm install
npm run dev        # vite dev server; /api proxies to AMERC_API (default 127.0.0.1:5180)
# backend:
node --experimental-sqlite server/amerc-api.mjs
npm run build      # -> dist/

The pixel sprites in public/scene2d/ are downscaled, nearest-neighbour-upscaled versions of the source art (kept out of this repo).

Credits

Tavern scene tiles: Kenney Tiny Dungeon (CC0) — https://kenney.nl/assets/tiny-dungeon

Tavern scene now uses LPC Base Assets (CC-BY-SA 3.0 / GPL 3.0) — 32px tiles + animated characters. Credits: public/scene2d/lpc/CREDITS.txt