Oasy · MCP builder for publishers

terraforms.nl

https://terraforms.nl/ · slug terraforms-nl

MCP server

URL: https://builder-one-delta.vercel.app/api/mcp/org_3FqpgEEiKyCVgtew6D3myJXFrgm
Card: /api/publishers/org_3FqpgEEiKyCVgtew6D3myJXFrgm/card · Manifest: /.well-known/mcp.json?slug=terraforms-nl
Claude Desktop / ChatGPT install snippet
{
  "mcpServers": {
    "terraforms-nl": {
      "transport": {
        "type": "streamable-http",
        "url": "https://builder-one-delta.vercel.app/api/mcp/org_3FqpgEEiKyCVgtew6D3myJXFrgm"
      }
    }
  }
}

Retrieval (hybrid search) & latency SLO

Semantic index: 760 / 760 articles embedded
Last 7 days · search p95: no calls yet (target < 300 ms)

Ingestion

Last job (drain): SUCCEEDED · discovered 1 · ingested 1 · failed 0

Sources ()

Add a source
CSV: url (+ optional title) column. Max 20MB.

Loading…

Book catalog (PDF upload)

Upload a book PDF (or a markdown/plain-text manuscript). It's split into chapter-level units — via the PDF's table of contents when present, otherwise by chapter headings — and each chapter is served like any article: search, MCP/A2A, paywall, and payments all apply. The author contract checkboxes set the rights ceiling from the underlying book contract; chapters can never be licensed beyond it.
Author contract permits
Loading catalog…

Content rules (path / embargo / territory / pricing)

No rules. Rules refine article policy at serve time — by path, article age (embargo), requester territory, or with a time-window price.

Add rule
Lower priority evaluates first; first match sets policy/price, territory denials stack. Age is measured from publish date. Rules apply on MCP, REST, A2A and the oasy landing page.

Content license (use-case rights)

View public terms →
Unchecking Full display makes agents receive summaries only (summarization license). Unchecking RAG retrieval removes articles from agent search. Fine-tuning is denied by default industry-wide.

License requests

No license requests yet.

Paywall meter (MCP path)

Applies to articles whose policy is PAYWALL. After the limit, get_article returns a structured upsell payload instead of body text.

Agent payments (oasy / WAF path)

Agent is charged $0.53 per article (your price + 4.7% platform fee = $0.03). You keep $0.50, paid out monthly.
Applies to articles whose policy is PAYWALL served on the oasy / WAF path. Per-article overrides take precedence.
Crawlers your robots.txt disallows stop getting free content on the oasy landing page — their policy escalates to PAYWALL (pay per article, or nothing). Your robots.txt is refetched daily.

Enterprise license (negotiated)

MCP Apps (interactive UI)

When on, the article UI resource is emitted with mime type text/html;profile=mcp-app and a small postMessage bridge, so compliant hosts (Claude, Claude Desktop, VS Code Copilot, Goose, Postman, MCPJam) render it as a sandboxed interactive app. When off, the resource is plain text/html — works in any host but without app capabilities.

Public REST API

When on, a JSON HTTP API is exposed on your custom domain so clients can search and fetch articles without speaking MCP.

A2A (Agent2Agent) server

When on, this publisher exposes an Agent Card at the well-known path and a JSON-RPC 2.0 endpoint implementing message/send, tasks/get, and tasks/cancel per the A2A spec. Two skills are declared: search_articles and get_article.
  • Agent Card: GET https://oasy.terraforms.nl/.well-known/agent-card.json
  • JSON-RPC: POST https://oasy.terraforms.nl/a2a

Tools (auto-generated)

  • search_articles(query, limit?)
  • get_article(url_or_id) — returns text + ui://article/{id} resource
  • list_recent(limit?, since?)
  • list_by_topic(tag, limit?)

Sponsor tools

Toggle which catalog tools this publisher exposes in tools/list. Affects every MCP client connected to this publisher.
No catalog tools defined.

Articles (50 shown of 760)

Set policy on all articles:
TitlePublishedPolicyPrice (PAYWALL)
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$
Terraforms$

MCP call log (last 100)

JSON-RPC traffic from MCP clients (Claude, ChatGPT, etc.) hitting /api/mcp/org_3FqpgEEiKyCVgtew6D3myJXFrgm.
TimeToolUALatencyStatus
2026-08-31 07:05:11_method:resources/listClaude-User0 mstrace
2026-08-31 07:05:11_method:tools/listClaude-User0 mstrace
2026-08-31 07:05:10_method:notifications/initializedClaude-User0 mstrace
2026-08-31 07:05:10_method:initializeClaude-User0 mstrace
2026-08-31 07:05:09_method:server/discoverClaude-User0 mstrace
2026-08-30 14:28:02_method:resources/listClaude-User0 mstrace
2026-08-30 14:28:02_method:tools/listClaude-User0 mstrace
2026-08-30 14:28:01_method:notifications/initializedClaude-User0 mstrace
2026-08-30 14:28:01_method:initializeClaude-User0 mstrace
2026-08-30 14:28:00_method:server/discoverClaude-User0 mstrace
2026-08-29 18:00:06_method:tools/listClaude-User0 mstrace
2026-08-29 18:00:06_method:resources/listClaude-User0 mstrace
2026-08-29 18:00:06_method:notifications/initializedClaude-User0 mstrace
2026-08-29 18:00:05_method:initializeClaude-User0 mstrace
2026-08-29 18:00:05_method:server/discoverClaude-User0 mstrace
2026-08-29 18:00:05_method:server/discoverClaude-User0 mstrace
2026-08-29 11:54:17_method:resources/listClaude-User0 mstrace
2026-08-29 11:54:16_method:tools/listClaude-User0 mstrace
2026-08-29 11:54:16_method:notifications/initializedClaude-User0 mstrace
2026-08-29 11:54:16_method:initializeClaude-User0 mstrace
2026-08-29 11:54:15_method:server/discoverClaude-User0 mstrace
2026-08-29 09:00:36_method:resources/listClaude-User0 mstrace
2026-08-29 09:00:35_method:tools/listClaude-User0 mstrace
2026-08-29 09:00:35_method:notifications/initializedClaude-User0 mstrace
2026-08-29 09:00:34_method:initializeClaude-User0 mstrace
2026-08-29 09:00:34_method:server/discoverClaude-User0 mstrace
2026-08-28 19:50:19_method:tools/listClaude-User0 mstrace
2026-08-28 19:50:18_method:resources/listClaude-User0 mstrace
2026-08-28 19:50:18_method:notifications/initializedClaude-User0 mstrace
2026-08-28 19:50:18_method:initializeClaude-User0 mstrace
2026-08-28 19:50:17_method:server/discoverClaude-User0 mstrace
2026-08-28 19:50:17_method:server/discoverClaude-User0 mstrace
2026-08-28 14:01:43_method:resources/listClaude-User0 mstrace
2026-08-28 14:01:42_method:tools/listClaude-User0 mstrace
2026-08-28 14:01:42_method:notifications/initializedClaude-User0 mstrace
2026-08-28 14:01:41_method:initializeClaude-User0 mstrace
2026-08-28 14:01:41_method:server/discoverClaude-User0 mstrace
2026-08-28 08:01:20_method:resources/listClaude-User0 mstrace
2026-08-28 08:01:20_method:tools/listClaude-User0 mstrace
2026-08-28 08:01:19_method:notifications/initializedClaude-User0 mstrace
2026-08-28 08:01:19_method:initializeClaude-User0 mstrace
2026-08-28 08:01:18_method:server/discoverClaude-User0 mstrace
2026-08-27 20:01:07_method:tools/listClaude-User0 mstrace
2026-08-27 20:01:07_method:resources/listClaude-User0 mstrace
2026-08-27 20:01:07_method:notifications/initializedClaude-User0 mstrace
2026-08-27 20:01:06_method:initializeClaude-User0 mstrace
2026-08-27 20:01:06_method:server/discoverClaude-User0 mstrace
2026-08-27 14:30:35_method:tools/listClaude-User0 mstrace
2026-08-27 14:30:35_method:resources/listClaude-User0 mstrace
2026-08-27 14:30:35_method:notifications/initializedClaude-User0 mstrace
2026-08-27 14:30:34_method:initializeClaude-User0 mstrace
2026-08-27 14:30:33_method:server/discoverClaude-User0 mstrace
2026-08-27 06:24:31_method:resources/listClaude-User0 mstrace
2026-08-27 06:24:31_method:tools/listClaude-User0 mstrace
2026-08-27 06:24:30_method:notifications/initializedClaude-User0 mstrace
2026-08-27 06:24:30_method:initializeClaude-User0 mstrace
2026-08-27 06:24:29_method:server/discoverClaude-User0 mstrace
2026-08-26 22:14:28_method:resources/listClaude-User0 mstrace
2026-08-26 22:14:27_method:tools/listClaude-User0 mstrace
2026-08-26 22:14:27_method:notifications/initializedClaude-User0 mstrace
2026-08-26 22:14:27_method:initializeClaude-User0 mstrace
2026-08-26 22:14:26_method:server/discoverClaude-User0 mstrace
2026-08-26 22:14:26_method:server/discoverClaude-User0 mstrace
2026-08-26 19:55:08_method:resources/listClaude-User0 mstrace
2026-08-26 19:55:08_method:tools/listClaude-User0 mstrace
2026-08-26 19:55:07_method:notifications/initializedClaude-User0 mstrace
2026-08-26 19:55:07_method:initializeClaude-User0 mstrace
2026-08-26 19:55:07_method:server/discoverClaude-User0 mstrace
2026-08-26 12:30:37_method:tools/listClaude-User0 mstrace
2026-08-26 12:30:37_method:resources/listClaude-User0 mstrace
2026-08-26 12:30:36_method:notifications/initializedClaude-User0 mstrace
2026-08-26 12:30:36_method:initializeClaude-User0 mstrace
2026-08-26 12:30:35_method:server/discoverClaude-User0 mstrace
2026-08-26 06:10:28_method:tools/listClaude-User0 mstrace
2026-08-26 06:10:28_method:resources/listClaude-User0 mstrace
2026-08-26 06:10:27_method:notifications/initializedClaude-User0 mstrace
2026-08-26 06:10:27_method:initializeClaude-User0 mstrace
2026-08-26 06:10:26_method:server/discoverClaude-User0 mstrace
2026-08-25 14:52:18_method:tools/listClaude-User0 mstrace
2026-08-25 14:52:18_method:resources/listClaude-User0 mstrace
2026-08-25 14:52:17_method:notifications/initializedClaude-User0 mstrace
2026-08-25 14:52:17_method:initializeClaude-User0 mstrace
2026-08-25 14:52:16_method:server/discoverClaude-User0 mstrace
2026-08-25 08:51:59_method:resources/listClaude-User0 mstrace
2026-08-25 08:51:59_method:tools/listClaude-User0 mstrace
2026-08-25 08:51:58_method:notifications/initializedClaude-User0 mstrace
2026-08-25 08:51:58_method:initializeClaude-User0 mstrace
2026-08-25 08:51:57_method:server/discoverClaude-User0 mstrace
2026-08-24 22:17:31_method:tools/listClaude-User0 mstrace
2026-08-24 22:17:30_method:resources/listClaude-User0 mstrace
2026-08-24 22:17:30_method:notifications/initializedClaude-User0 mstrace
2026-08-24 22:17:30_method:initializeClaude-User0 mstrace
2026-08-24 22:17:29_method:server/discoverClaude-User0 mstrace
2026-08-24 15:30:23_method:tools/listClaude-User0 mstrace
2026-08-24 15:30:23_method:resources/listClaude-User0 mstrace
2026-08-24 15:30:22_method:notifications/initializedClaude-User0 mstrace
2026-08-24 15:30:22_method:initializeClaude-User0 mstrace
2026-08-24 15:30:21_method:server/discoverClaude-User0 mstrace
2026-08-24 13:23:04_method:tools/listClaude-User0 mstrace
2026-08-24 13:23:04_method:resources/listClaude-User0 mstrace

Crawler log — oasy / WAF (last 100)

AI crawler traffic (GPTBot, ClaudeBot, PerplexityBot, …) redirected by your WAF to the oasy landing page. Not MCP requests.
TimeToolUALatencyStatus
2026-09-15 20:25:00get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)23391 mserror
2026-09-15 20:25:00get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)5014 mserror
2026-09-15 20:25:00get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1152 mserror
2026-09-15 20:25:00get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)149 mserror
2026-09-15 20:25:00get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)237 mserror
2026-09-15 20:25:00get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)153 mserror
2026-09-15 20:25:00get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)141 mserror
2026-09-15 20:24:59get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1111 mserror
2026-09-15 20:24:59get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)128 mserror
2026-09-15 20:24:59get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)132 mserror
2026-09-15 20:24:58get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)169 mserror
2026-09-15 20:24:58get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)155 mserror
2026-09-15 20:24:58get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1027 mserror
2026-09-15 20:24:58get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)139 mserror
2026-09-15 20:24:57get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)144 mserror
2026-09-15 20:24:57get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)129 mserror
2026-09-15 20:24:57get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)142 mserror
2026-09-15 20:24:57get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1069 mserror
2026-09-15 20:24:57get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)188 mserror
2026-09-15 20:24:56get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)131 mserror
2026-09-15 20:24:56get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)136 mserror
2026-09-15 20:24:56get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)130 mserror
2026-09-15 20:24:55get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)5284 mserror
2026-09-15 20:24:55get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1056 mserror
2026-09-15 20:24:55get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)138 mserror
2026-09-15 20:24:55get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)141 mserror
2026-09-15 20:24:55get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)132 mserror
2026-09-15 20:24:55get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)144 mserror
2026-09-15 20:24:54get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1173 mserror
2026-09-15 20:24:54get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)160 mserror
2026-09-15 20:24:54get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)157 mserror
2026-09-15 20:24:53get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)134 mserror
2026-09-15 20:24:53get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)140 mserror
2026-09-15 20:24:53get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1213 mserror
2026-09-15 20:24:53get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)132 mserror
2026-09-15 20:24:53get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)137 mserror
2026-09-15 20:24:52get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)170 mserror
2026-09-15 20:24:52get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)138 mserror
2026-09-15 20:24:52get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)24167 mserror
2026-09-15 20:24:52get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1392 mserror
2026-09-15 20:24:52get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)4961 mserror
2026-09-15 20:24:52get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)148 mserror
2026-09-15 20:24:52get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1135 mserror
2026-09-15 20:24:51get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)166 mserror
2026-09-15 20:24:51get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)134 mserror
2026-09-15 20:24:51get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)130 mserror
2026-09-15 20:24:51get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)466 mserror
2026-09-15 20:24:51get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)116 mserror
2026-09-15 20:24:51get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)237 mserror
2026-09-15 20:24:51get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)121 mserror
2026-09-15 20:24:50get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1151 mserror
2026-09-15 20:24:50get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)120 mserror
2026-09-15 20:24:50get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)117 mserror
2026-09-15 20:24:50get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)140 mserror
2026-09-15 20:24:50get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)5111 mserror
2026-09-15 20:24:50get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1129 mserror
2026-09-15 20:24:50get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)132 mserror
2026-09-15 20:24:50get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)134 mserror
2026-09-15 20:24:50get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)132 mserror
2026-09-15 20:24:49get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)176 mserror
2026-09-15 20:24:49get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)168 mserror
2026-09-15 20:24:49get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1144 mserror
2026-09-15 20:24:49get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)175 mserror
2026-09-15 20:24:49get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)140 mserror
2026-09-15 20:24:49get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1068 mserror
2026-09-15 20:24:49get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)118 mserror
2026-09-15 20:24:49get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)148 mserror
2026-09-15 20:24:48get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)134 mserror
2026-09-15 20:24:48get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)136 mserror
2026-09-15 20:24:48get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)203 mserror
2026-09-15 20:24:48get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)144 mserror
2026-09-15 20:24:48get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)978 mserror
2026-09-15 20:24:48get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)119 mserror
2026-09-15 20:24:48get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)162 mserror
2026-09-15 20:24:47get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1172 mserror
2026-09-15 20:24:47get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)157 mserror
2026-09-15 20:24:47get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)127 mserror
2026-09-15 20:24:47get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)130 mserror
2026-09-15 20:24:47get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)136 mserror
2026-09-15 20:24:47get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)142 mserror
2026-09-15 20:24:47get_articleMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)40432 mserror
2026-09-15 20:24:47get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)142 mserror
2026-09-15 20:24:47get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)5833 mserror
2026-09-15 20:24:46get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1205 mserror
2026-09-15 20:24:46get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)230 mserror
2026-09-15 20:24:46get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1167 mserror
2026-09-15 20:24:46get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)156 mserror
2026-09-15 20:24:46get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)150 mserror
2026-09-15 20:24:46get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)130 mserror
2026-09-15 20:24:46get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)126 mserror
2026-09-15 20:24:46get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)174 mserror
2026-09-15 20:24:46get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)149 mserror
2026-09-15 20:24:45get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)178 mserror
2026-09-15 20:24:45get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1401 mserror
2026-09-15 20:24:45get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)150 mserror
2026-09-15 20:24:45get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)162 mserror
2026-09-15 20:24:45get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)202 mserror
2026-09-15 20:24:45get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)7305 mserror
2026-09-15 20:24:45get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1519 mserror
2026-09-15 20:24:45get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)186 mserror