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: 767 / 767 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 767)

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-10-04 03:33:18get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)18451 mserror
2026-10-04 03:33:18get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)4420 mserror
2026-10-04 03:33:18get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)922 mserror
2026-10-04 03:33:18get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)127 mserror
2026-10-04 03:33:18get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)121 mserror
2026-10-04 03:33:17get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)120 mserror
2026-10-04 03:33:17get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)130 mserror
2026-10-04 03:33:17get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1054 mserror
2026-10-04 03:33:17get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)128 mserror
2026-10-04 03:33:17get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)123 mserror
2026-10-04 03:33:16get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)130 mserror
2026-10-04 03:33:16get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)133 mserror
2026-10-04 03:33:16get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1057 mserror
2026-10-04 03:33:16get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)120 mserror
2026-10-04 03:33:15get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)123 mserror
2026-10-04 03:33:15get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)211 mserror
2026-10-04 03:33:15get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)133 mserror
2026-10-04 03:33:15get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)962 mserror
2026-10-04 03:33:15get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)157 mserror
2026-10-04 03:33:14get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)115 mserror
2026-10-04 03:33:14get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)131 mserror
2026-10-04 03:33:14get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)172 mserror
2026-10-04 03:33:13get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)4343 mserror
2026-10-04 03:33:13get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)979 mserror
2026-10-04 03:33:13get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)183 mserror
2026-10-04 03:33:13get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)140 mserror
2026-10-04 03:33:13get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)123 mserror
2026-10-04 03:33:13get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)121 mserror
2026-10-04 03:33:12get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)968 mserror
2026-10-04 03:33:12get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)125 mserror
2026-10-04 03:33:12get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)117 mserror
2026-10-04 03:33:12get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)121 mserror
2026-10-04 03:33:12get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)169 mserror
2026-10-04 03:33:11get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)976 mserror
2026-10-04 03:33:11get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)120 mserror
2026-10-04 03:33:11get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)142 mserror
2026-10-04 03:33:11get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)128 mserror
2026-10-04 03:33:11get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)131 mserror
2026-10-04 03:33:10get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1018 mserror
2026-10-04 03:33:10get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)127 mserror
2026-10-04 03:33:10get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)119 mserror
2026-10-04 03:33:10get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)136 mserror
2026-10-04 03:33:10get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)129 mserror
2026-10-04 03:33:09get_articleMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)40626 mserror
2026-10-04 03:33:09get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)4454 mserror
2026-10-04 03:33:09get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1024 mserror
2026-10-04 03:33:09get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)124 mserror
2026-10-04 03:33:09get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)181 mserror
2026-10-04 03:33:09get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)19142 mserror
2026-10-04 03:33:09get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)4342 mserror
2026-10-04 03:33:09get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)950 mserror
2026-10-04 03:33:08get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)145 mserror
2026-10-04 03:33:08get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)135 mserror
2026-10-04 03:33:08get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)114 mserror
2026-10-04 03:33:08get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)141 mserror
2026-10-04 03:33:08get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)123 mserror
2026-10-04 03:33:08get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)138 mserror
2026-10-04 03:33:08get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)996 mserror
2026-10-04 03:33:08get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)124 mserror
2026-10-04 03:33:08get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)159 mserror
2026-10-04 03:33:07get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)945 mserror
2026-10-04 03:33:07get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)137 mserror
2026-10-04 03:33:07get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)122 mserror
2026-10-04 03:33:07get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)119 mserror
2026-10-04 03:33:07get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)126 mserror
2026-10-04 03:33:07get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)125 mserror
2026-10-04 03:33:07get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)122 mserror
2026-10-04 03:33:07get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)997 mserror
2026-10-04 03:33:07get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)124 mserror
2026-10-04 03:33:07get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)127 mserror
2026-10-04 03:33:06get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1077 mserror
2026-10-04 03:33:06get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)161 mserror
2026-10-04 03:33:06get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)122 mserror
2026-10-04 03:33:06get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)132 mserror
2026-10-04 03:33:06get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)114 mserror
2026-10-04 03:33:06get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)121 mserror
2026-10-04 03:33:06get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)126 mserror
2026-10-04 03:33:06get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1012 mserror
2026-10-04 03:33:06get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)228 mserror
2026-10-04 03:33:05get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)122 mserror
2026-10-04 03:33:05get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)966 mserror
2026-10-04 03:33:05get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)150 mserror
2026-10-04 03:33:05get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)123 mserror
2026-10-04 03:33:05get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)125 mserror
2026-10-04 03:33:05get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)116 mserror
2026-10-04 03:33:05get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)125 mserror
2026-10-04 03:33:05get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)125 mserror
2026-10-04 03:33:04get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)4758 mserror
2026-10-04 03:33:04get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)953 mserror
2026-10-04 03:33:04get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)138 mserror
2026-10-04 03:33:04get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)127 mserror
2026-10-04 03:33:04get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)4410 mserror
2026-10-04 03:33:04get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)945 mserror
2026-10-04 03:33:04get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)120 mserror
2026-10-04 03:33:04get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)131 mserror
2026-10-04 03:33:04get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)128 mserror
2026-10-04 03:33:04get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)136 mserror
2026-10-04 03:33:04get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)127 mserror
2026-10-04 03:33:03get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)122 mserror
2026-10-04 03:33:03get_articleaimiles-ingest/0.1 (+https://aimiles.app/bot)1042 mserror