Crawl Website Source and Wait
ethora-source-site-crawl-waitCrawl a website URL and wait for the job to finish, then add the crawled pages to an agent's knowledge base without deleting existing documents.
Instructions
Adds the crawled pages to an agent's knowledge base (the one named by agentId, else the app's default agent); existing documents are kept and nothing is deleted. A URL that is already indexed is refused with 409 unless force: true re-crawls it. Crawl a website URL and wait for the crawl to finish: enqueues the job, then polls it until it reports completed or failed. Returns { done, status, jobId, polls, durationMs, result }; done: false with a note means the budget ran out while the job was still running (it usually finishes server-side anyway).
Requires: a selected app (ethora-app-select) or an explicit appId.
Auth: app-token mode OR B2B mode with an explicit appId. Errors: 401/403 wrong auth (403 AGENT_NOT_WRITABLE when agentId is someone else's agent); 400 malformed url; 409 already indexed; 504/timeout if it takes longer than timeoutMs (the job may still complete server-side - check with ethora-source-site-list, or stop it with ethora-source-site-crawl-cancel). Related: ethora-agent-knowledge-get shows what the agent can search afterwards.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Absolute URL to crawl, e.g. `https://example.com/docs`. | |
| appId | No | 24-char hex appId to ingest into. Required in B2B mode unless already set via `ethora-app-select`; ignored in app-token mode. | |
| force | No | Re-crawl a URL that is already indexed and overwrite the stored copy. Without it an already-indexed URL is refused with 409. | |
| agentId | No | Agent whose knowledge base gets the content (24-char hex, from `ethora-agent-list` / `ethora-agent-create`). Must be your own agent or one of this app's. Omit to file it under the app's default agent (the one answering its website widget); an app still on the shared Support Agent first gets its own copy of it. | |
| timeoutMs | No | How long to poll for the crawl to finish, in milliseconds. Default 45000, chosen to stay under the ~60s request timeout most MCP clients enforce. Caps at 600000 (10 min) for clients that allow longer calls. | |
| followLink | No | If true, also crawl in-domain links reachable from `url`. Can ingest many pages — use with care. | |
| agentIdOrAddress | No | Alias for `agentId` - either name is accepted, pass whichever you have. |