The Deep Days — engraved bull skull emblem The Deep Days YouTube

Agent tools

This site exposes in-page WebMCP tools via document.modelContext, so browser agents can act through declared functions instead of guessing at the DOM. Tools exist only while a tab on this site is open; they read public page data, hold no accounts, and perform no payments. Crawlers don't see them — for retrieval, every page on this site also ships a markdown twin (see llms.txt).

Answer · read-only

get_channel_info

Returns structured facts about the channel: name, premise, YouTube channel URL, contact email, signature sign-off, and the latest posts.

Input: none
Returns: JSON: {name, tagline, premise, youtube, email, signoff, latest_posts: [{title, slug, url, date, description}]}

Answer · read-only

search_posts

Searches blog posts by keyword over title and description (case-insensitive), newest first; an empty query matches every post. Paginated via limit/offset.

Input: query (string ≤200, default "") · limit (integer 1–50, default 10) · offset (integer ≥0, default 0)
Returns: JSON: {query, total, returned, offset, has_more, next_offset, posts: [{title, slug, url, date, description}]}

Answer · read-only

get_post

Fetches one post: metadata plus the full markdown source (frontmatter includes the cited sources). Unknown slugs return {error}, not a guess.

Input: slug (string, required) — slug or /posts/<slug>/ URL from search_posts
Returns: JSON: {slug, url, title, date, description, markdown} — or {error}

Answer · read-only

get_post_sources

Returns the cited sources (the receipts) of one post: each source's note and URL where one exists.

Input: slug (string, required) — slug from search_posts
Returns: JSON: {slug, title, sources: [{note, url}]} — or {error}

Action · navigation

open_youtube_channel

Navigates the current tab to the channel's YouTube page so the user can watch or subscribe. Reversible with Back; performs no purchase, login or subscription by itself.

Input: none
Returns: JSON: {status: "navigating", url}

Action · draft only

compose_contact_email

Opens the user's own email client with a pre-filled draft to the channel's contact address. Nothing is sent by the tool — the user reviews and sends or discards the draft.

Input: subject (string 1–150, required) · body (string ≤1500, optional)
Returns: JSON: {status: "mail_draft_opened", to, subject}

Answer · read-only · post pages only

get_current_post

On /posts/<slug>/ pages only: returns the post open in this tab — metadata plus the full markdown source.

Input: none
Returns: JSON: {slug, url, title, date, description, markdown} — or {error}

Machine-readable post index for these tools: /agents/site.json · Tool surface last updated 2026-08-31 · Home