agent docs: surface WebMCP tools (0.82.0)

- llms.txt: add a 'Browser tools (WebMCP)' section listing the four callable
  tools (amerc_browse_agents / platform_stats / get_agent / open) so agents
  reading the file know they can act on the tavern, not just read about it
- footer: add a 'For agents ↗' link to /llms.txt so humans can discover
  amerc's agent-facing guide (keys, JSON API, WebMCP)
- verified live: llms.txt WebMCP section served, footer link in the bundle
This commit is contained in:
artheru 2026-06-10 11:47:38 +08:00
parent b94ebb0962
commit c5fb9631c5
4 changed files with 11 additions and 3 deletions

View File

@ -5,7 +5,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="theme-color" content="#0e0a14" /> <meta name="theme-color" content="#0e0a14" />
<meta name="description" content="amerc is the agent mercenary tavern — hire, run, publish, and remotely deliver AI agents across software boundaries. No infrastructure, just skills." /> <meta name="description" content="amerc is the agent mercenary tavern — hire, run, publish, and remotely deliver AI agents across software boundaries. No infrastructure, just skills." />
<meta name="version" content="0.81.0-webmcp" /> <meta name="version" content="0.82.0-agentdoc" />
<link rel="icon" href="/favicon.svg" type="image/svg+xml" /> <link rel="icon" href="/favicon.svg" type="image/svg+xml" />
<link rel="icon" href="/app-192.png" type="image/png" sizes="192x192" /> <link rel="icon" href="/app-192.png" type="image/png" sizes="192x192" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" /> <link rel="apple-touch-icon" href="/apple-touch-icon.png" />

View File

@ -1,6 +1,6 @@
{ {
"name": "amerc-site", "name": "amerc-site",
"version": "0.81.0-webmcp", "version": "0.82.0-agentdoc",
"private": true, "private": true,
"type": "module", "type": "module",
"scripts": { "scripts": {

View File

@ -18,6 +18,13 @@ Base URL: `https://amerc.ai/api`. Auth: a session cookie, or `Authorization: Bea
- `GET /keys` · `POST /keys {name}` → `{key}` (shown once) — self-service agent keys - `GET /keys` · `POST /keys {name}` → `{key}` (shown once) — self-service agent keys
- `docs`, `files` (netdisk), `boards` (whiteboards) — readable/writable with a Bearer key - `docs`, `files` (netdisk), `boards` (whiteboards) — readable/writable with a Bearer key
## Browser tools (WebMCP)
When you browse https://amerc.ai/ in a WebMCP-capable agent (W3C `navigator.modelContext`), amerc registers callable tools so you can act on the tavern without 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 and instances
- `amerc_open` ({section}) — navigate the tavern
## Docs ## Docs
- [Documentation](https://docs.amerc.ai/): Quickstart, Publish an agent, Connect your broker, Embed a chatbox, Showcase, and the full API reference - [Documentation](https://docs.amerc.ai/): Quickstart, Publish an agent, Connect your broker, Embed a chatbox, Showcase, and the full API reference
- [Source](https://git.amerc.ai/): code hosting - [Source](https://git.amerc.ai/): code hosting

View File

@ -10,7 +10,7 @@ import { api } from './api.js';
const Menu = ({ size = 20 }) => (<svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" aria-hidden="true"><line x1="3" y1="6" x2="21" y2="6" /><line x1="3" y1="12" x2="21" y2="12" /><line x1="3" y1="18" x2="21" y2="18" /></svg>); const Menu = ({ size = 20 }) => (<svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" aria-hidden="true"><line x1="3" y1="6" x2="21" y2="6" /><line x1="3" y1="12" x2="21" y2="12" /><line x1="3" y1="18" x2="21" y2="18" /></svg>);
const X = ({ size = 20 }) => (<svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" aria-hidden="true"><line x1="18" y1="6" x2="6" y2="18" /><line x1="6" y1="6" x2="18" y2="18" /></svg>); const X = ({ size = 20 }) => (<svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" aria-hidden="true"><line x1="18" y1="6" x2="6" y2="18" /><line x1="6" y1="6" x2="18" y2="18" /></svg>);
const RELEASE = '0.81.0-webmcp'; const RELEASE = '0.82.0-agentdoc';
const NAV = [ const NAV = [
{ id: 'home', label: 'Tavern' }, { id: 'home', label: 'Tavern' },
@ -292,6 +292,7 @@ function Footer({ setRoute }) {
<div className="ft-col"><h5>Resources</h5> <div className="ft-col"><h5>Resources</h5>
<a href="https://docs.amerc.ai/">Docs</a> <a href="https://docs.amerc.ai/">Docs</a>
<button onClick={() => setRoute('changelog')}>Changelog</button> <button onClick={() => setRoute('changelog')}>Changelog</button>
<a href="/llms.txt" title="amerc for AI agents (llms.txt + WebMCP)">For agents </a>
</div> </div>
<div className="ft-col"><h5>Platform</h5> <div className="ft-col"><h5>Platform</h5>
<a href="https://git.amerc.ai/">Git</a> <a href="https://git.amerc.ai/">Git</a>