Source: https://mayphus.org/agents/
Title: For agents
---
type: project
---

Search the full published text, read a canonical document, and follow its sources. The website, plain text, HTTP API, and MCP gateway share the same public content.

## Read directly

No connection is needed for these ordinary HTTP requests. Search returns stable IDs and excerpts; reading returns full text, a citation URL, and metadata.

```http
GET /api/search?q=bootstrapping
GET /api/document?url=/a-tiny-freebsd-jail-doc-fix/
```

Document responses also include derived `assets` and `relations` when present. Selected visual records have a `model`: boot stages, tile studies, source-table rows, audio samples or links to the exact public dataset used by the browser. The same objects appear in the corpus and MCP `fetch`; they add no write operation. The original narrative and evidence qualifications remain in `text`.

Read the [complete public document corpus](https://mayphus.org/documents.json) or a [plain-text example](https://mayphus.org/a-tiny-freebsd-jail-doc-fix/index.txt).

## One public, read-only gateway

Connect explicitly to the public MCP server. It exposes published material and bounded tools; it does not grant access to private site areas or change site content.

```text
https://mayphus.org/mcp
```

Nothing here silently installs or connects an agent. A person or developer chooses to add this endpoint. The public HTTP interfaces also work directly.

## Browser site tools (WebMCP)

In a browser supporting the proposed WebMCP API, the ordinary reading pages register four read-only tools in the top-level document:

| Tool | Behavior |
| --- | --- |
| `search_site` | Search `/agent-index.json` metadata (title, summary, tags) with an optional language filter; return up to eight matches. Quiet archive entries stay excluded. |
| `read_page` | Read one published route as plain text using the same non-browser `Accept` representation the Worker already serves. |
| `current_page` | Return the open page title, canonical URL, summary, and plain-text body. |
| `get_profile` | Return the public profile and résumé links from `/api/profile`. |

All four reuse same-origin public endpoints only. They reject unexpected fields, invalid inputs, and external URLs. They expose only the published corpus; they do not access private work, unpublished records, or private datasets.

Tools register when `document.modelContext.registerTool` is available (with a trivial `navigator.modelContext` fallback where present). Registration is scoped to the page lifetime and renewed when the page returns from the back/forward cache. Unsupported browsers keep the ordinary links and reading interface. No polyfill, account, new connection, or credentials are needed. Browser support and agent discovery vary; this is progressive enhancement against the current draft, not a universal conformance claim.

References: [ChatGPT site tools](https://learn.chatgpt.com/docs/webmcp) and the [WebMCP draft](https://webmachinelearning.github.io/webmcp/).

## Capabilities

These six public capabilities cover discovery, reading and bounded map generation. The table lists the HTTP endpoints and corresponding MCP tools; the capability links lead to the human reading views. On a narrow screen, scroll the table horizontally to read all columns.

| Capability | HTTP API | MCP tools |
| --- | --- | --- |
| [Discover public work](https://mayphus.org/agents/#public-discovery): published capabilities, projects and pages. | [/api/capabilities](https://mayphus.org/api/capabilities), [/api/projects](https://mayphus.org/api/projects), [/api/pages](https://mayphus.org/api/pages) | `discover_capabilities`, `discover_projects` |
| [Search public knowledge](https://mayphus.org/agents/#public-search): full published text, excerpts and canonical citation URLs. | [/api/search](https://mayphus.org/api/search) | `search` |
| [Fetch a public record](https://mayphus.org/agents/#public-fetch): full text and source metadata, by stable ID or canonical URL. | [/api/document](https://mayphus.org/api/document) | `fetch`, `get_project` |
| [Follow public updates](https://mayphus.org/rss.xml): recent articles and notes through the RSS feed, without inferring private activity. | [/api/updates](https://mayphus.org/api/updates), [/api/notes](https://mayphus.org/api/notes) | `get_public_updates` |
| [Generate a city map](https://mayphus.org/map/): a bounded city-and-topic request returning an OpenStreetMap-based result without changing server state. | [/api/map](https://mayphus.org/api/map) | `generate_city_map` |
| [Read the public profile](https://mayphus.org/profile/): deliberately published profile, names, links and selected work. | [/api/profile](https://mayphus.org/api/profile), [/api/identity](https://mayphus.org/api/identity) | `search`, `fetch` |

For the exact map parameters, an HTTP request and MCP arguments, see the [bounded map example](https://mayphus.org/map/#section-try-a-bounded-request). That page also records the prototype’s upstream availability limits.

## Connect

Keep tool approval enabled when trying a new remote MCP server, even when its published tools are read-only.

### ChatGPT

Create a custom MCP app or connector and use this server URL:

```text
https://mayphus.org/mcp
```

### Codex

Add this remote server to the Codex MCP configuration:

```toml
[mcp_servers.mayphus]
url = "https://mayphus.org/mcp"
```

### Responses API

Place this object in the request’s `tools` array:

```json
{
  "type": "mcp",
  "server_label": "mayphus",
  "server_url": "https://mayphus.org/mcp",
  "require_approval": "always"
}
```

## Public discovery

These indexes are ordinary public files. They make the site easier to inspect, cite, and reuse, but they are not an automatic authorization mechanism.

- [llms.txt](https://mayphus.org/llms.txt) — compact public reading guide
- [ai.json](https://mayphus.org/ai.json) — structured public site index
- [Capabilities](https://mayphus.org/api/capabilities) — stable capability records
- [Notes](https://mayphus.org/api/notes) — public non-todo notes
- [Site manifest](https://mayphus.org/api/sites/v1/manifest.json) — canonical discovery URLs
- [RSS](https://mayphus.org/rss.xml) and [sitemap](https://mayphus.org/sitemap.xml) — public change and route feeds

---

Source: https://mayphus.org/agents/#city-map
Title: Generate a city map

Turn a bounded city-and-topic request into a public OpenStreetMap-based result without changing server state.

---

Source: https://mayphus.org/agents/#public-discovery
Title: Discover public work

List the public capabilities, projects, and pages that Mayphus has chosen to share.

---

Source: https://mayphus.org/agents/#public-fetch
Title: Fetch a public record

Read a public document by stable identifier or canonical URL, including its full text and source metadata.

---

Source: https://mayphus.org/agents/#public-profile
Title: Read the public profile

Retrieve Mayphus Tang's deliberately published profile, names, links, and selected work.

---

Source: https://mayphus.org/agents/#public-search
Title: Search public knowledge

Search the full published text of pages, projects, articles, notes, and capabilities, with excerpts and canonical citation URLs.

---

Source: https://mayphus.org/agents/#public-updates
Title: Follow public updates

Read recent public articles and notes without inferring private activity.
