Web extraction MCP: page content, metadata, articles, contacts, email checks, URL probes.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer <your Apify API token>
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Extract structured article data: title, author, published date, clean body text, word count and content hash. Failed URLs are not billed. Runs Apify Actor skilled_glee/article-text-extractor on YOUR Apify account (pay-per-event $0.001/article, billed by Apify).
Static article URLs (duplicates processed once).
Max content characters per article.
Optional Apify API token if your MCP client cannot send the Authorization / X-Apify-Token header.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http web-tools https://echoempire-web-tools-mcp.echoempire-in-co.workers.dev/mcp \ --header 'Authorization: Bearer YOUR_TOKEN'
Headers
Authorization (required): Bearer <your Apify API token>Extract structured article data: title, author, published date, clean body text, word count and content hash. Failed URLs are not billed. Runs Apify Actor skilled_glee/article-text-extractor on YOUR Apify account (pay-per-event $0.001/article, billed by Apify).
| Argument | Type | Description |
|---|---|---|
| maxChars | integer | Max content characters per article. |
| apify_token | string | Optional Apify API token if your MCP client cannot send the Authorization / X-Apify-Token header. |
| articleUrls* | array | Static article URLs (duplicates processed once). |
{
"type": "object",
"required": [
"articleUrls"
],
"properties": {
"maxChars": {
"type": "integer",
"default": 20000,
"maximum": 200000,
"minimum": 500,
"description": "Max content characters per article."
},
"apify_token": {
"type": "string",
"description": "Optional Apify API token if your MCP client cannot send the Authorization / X-Apify-Token header."
},
"articleUrls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"maxItems": 25,
"minItems": 1,
"description": "Static article URLs (duplicates processed once)."
}
},
"additionalProperties": false
}Extract emails (incl. mailto), North American phone numbers, LinkedIn/X/Facebook/Instagram/YouTube links and contact/about/team page links from web pages. Runs Apify Actor skilled_glee/contact-details-extractor on YOUR Apify account (pay-per-event $0.0015/page, billed by Apify).
| Argument | Type | Description |
|---|---|---|
| pageUrls* | array | Web page URLs to extract contact details from. |
| apify_token | string | Optional Apify API token if your MCP client cannot send the Authorization / X-Apify-Token header. |
{
"type": "object",
"required": [
"pageUrls"
],
"properties": {
"pageUrls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"maxItems": 25,
"minItems": 1,
"description": "Web page URLs to extract contact details from."
},
"apify_token": {
"type": "string",
"description": "Optional Apify API token if your MCP client cannot send the Authorization / X-Apify-Token header."
}
},
"additionalProperties": false
}Extract title, meta description, Open Graph, Twitter Card, JSON-LD structured data, canonical URL, language and H1s from web pages as JSON. Runs Apify Actor skilled_glee/web-metadata-extractor on YOUR Apify account (pay-per-event $0.001/page, billed by Apify).
| Argument | Type | Description |
|---|---|---|
| pageUrls* | array | Web page URLs to extract metadata from. |
| apify_token | string | Optional Apify API token if your MCP client cannot send the Authorization / X-Apify-Token header. |
{
"type": "object",
"required": [
"pageUrls"
],
"properties": {
"pageUrls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"maxItems": 25,
"minItems": 1,
"description": "Web page URLs to extract metadata from."
},
"apify_token": {
"type": "string",
"description": "Optional Apify API token if your MCP client cannot send the Authorization / X-Apify-Token header."
}
},
"additionalProperties": false
}Fetch web pages and return clean readable text (boilerplate, nav and ads stripped), title, description, word count and language. Deterministic, no AI, no browser. Runs Apify Actor skilled_glee/website-content-extractor on YOUR Apify account (pay-per-event $0.002646/page, billed by Apify).
| Argument | Type | Description |
|---|---|---|
| maxChars | integer | Max content characters per page. |
| pageUrls* | array | Web page URLs to extract readable content from. |
| apify_token | string | Optional Apify API token if your MCP client cannot send the Authorization / X-Apify-Token header. |
{
"type": "object",
"required": [
"pageUrls"
],
"properties": {
"maxChars": {
"type": "integer",
"default": 20000,
"maximum": 200000,
"minimum": 500,
"description": "Max content characters per page."
},
"pageUrls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"maxItems": 25,
"minItems": 1,
"description": "Web page URLs to extract readable content from."
},
"apify_token": {
"type": "string",
"description": "Optional Apify API token if your MCP client cannot send the Authorization / X-Apify-Token header."
}
},
"additionalProperties": false
}Check URLs with HEAD or GET: HTTP status, final URL after redirects, redirect count, Content-Type and timing. No page body is read. Runs Apify Actor skilled_glee/http-url-probe on YOUR Apify account (pay-per-event $0.0004/URL, billed by Apify).
| Argument | Type | Description |
|---|---|---|
| urls* | array | Absolute http(s) URLs to probe. |
| method | string | |
| apify_token | string | Optional Apify API token if your MCP client cannot send the Authorization / X-Apify-Token header. |
| timeoutSecs | integer | |
| followRedirects | boolean |
{
"type": "object",
"required": [
"urls"
],
"properties": {
"urls": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"maxItems": 25,
"minItems": 1,
"description": "Absolute http(s) URLs to probe."
},
"method": {
"enum": [
"HEAD",
"GET"
],
"type": "string",
"default": "HEAD"
},
"apify_token": {
"type": "string",
"description": "Optional Apify API token if your MCP client cannot send the Authorization / X-Apify-Token header."
},
"timeoutSecs": {
"type": "integer",
"default": 15,
"maximum": 30,
"minimum": 1
},
"followRedirects": {
"type": "boolean",
"default": true
}
},
"additionalProperties": false
}Check email addresses without sending mail: syntax, MX, null MX, disposable domains, role accounts, free providers and common typos, with a pass/risky/fail verdict and reason codes. Runs Apify Actor skilled_glee/email-verifier on YOUR Apify account (pay-per-event $0.001/email, billed by Apify).
| Argument | Type | Description |
|---|---|---|
| emails* | array | Email addresses to check (max 100 per call via MCP). |
| apify_token | string | Optional Apify API token if your MCP client cannot send the Authorization / X-Apify-Token header. |
{
"type": "object",
"required": [
"emails"
],
"properties": {
"emails": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"minItems": 1,
"description": "Email addresses to check (max 100 per call via MCP)."
},
"apify_token": {
"type": "string",
"description": "Optional Apify API token if your MCP client cannot send the Authorization / X-Apify-Token header."
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Oct 30, 2026.