mcp-server

Web tools for AI agents: scrape pages to Markdown, audit SEO, detect tech stacks, check sitemaps

Should I use this

Quality & Safety

A
Description quality
91%
Schema completeness
100%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'tooltrace_extract' description lacks action verbin tooltrace_extract
  • LOWTool 'tooltrace_links' description lacks action verbin tooltrace_links

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,601Tokens (tool definitions)
~3.7 KBTypical response size
Significant attention impact (2.03% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mcp-server": {
      "command": "npx",
      "args": [
        "@tooltrace/mcp-server"
      ]
    }
  }
}

Runnable packages

npm@tooltrace/mcp-server0.1.2stdio

Remote endpoints

https://mcp.tooltrace.io/mcpstreamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢tooltrace_extract(url, render, wait_until, wait_for_selector, mode, ...)

Extract clean content from a webpage. Returns Markdown, plain text, metadata, links, JSON-LD schema, and content sections. Use this for scraping, RAG ingestion, or content analysis.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "Public webpage URL to extract"
    },
    "render": {
      "default": "auto",
      "description": "Rendering mode. 'never' = fast static fetch (1 credit). 'auto' = static first, browser if needed. 'always' = browser rendering (5 credits).",
      "type": "string",
      "enum": [
        "never",
        "auto",
        "always"
      ]
    },
    "wait_until": {
      "description": "Browser navigation milestone. Only used with browser rendering.",
      "type": "string",
      "enum": [
        "domcontentloaded",
        "load",
        "networkidle"
      ]
    },
    "wait_for_selector": {
      "description": "CSS selector to wait for on rendered pages.",
      "type": "string",
      "maxLength": 200
    },
    "mode": {
      "default": "structured",
      "description": "'structured' for parsed data, 'raw' for HTML, 'both' for everything.",
      "type": "string",
      "enum": [
        "structured",
        "raw",
        "both"
      ]
    },
    "include": {
      "default": [
        "markdown",
        "metadata",
        "sections"
      ],
      "description": "Which fields to include in the response.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "markdown",
          "text",
          "metadata",
          "links",
          "schema",
          "sections"
        ]
      }
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "fetch": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "mode": {
      "type": "string"
    },
    "markdown": {
      "type": "string"
    },
    "text": {
      "type": "string"
    },
    "metadata": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "links": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "schema": {
      "type": "array",
      "items": {}
    },
    "sections": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "raw_html": {
      "type": "string"
    },
    "word_count": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "content_hash": {
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢tooltrace_metadata(url, render, wait_until, wait_for_selector)

Extract page metadata: title, description, canonical URL, author, publication date, favicon, Open Graph, and Twitter card fields. Lightweight alternative to full extraction.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "Public webpage URL"
    },
    "render": {
      "default": "auto",
      "description": "Rendering mode. 'never' = fast static fetch (1 credit). 'auto' = static first, browser if needed. 'always' = browser rendering (5 credits).",
      "type": "string",
      "enum": [
        "never",
        "auto",
        "always"
      ]
    },
    "wait_until": {
      "description": "Browser navigation milestone. Only used with browser rendering.",
      "type": "string",
      "enum": [
        "domcontentloaded",
        "load",
        "networkidle"
      ]
    },
    "wait_for_selector": {
      "description": "CSS selector to wait for on rendered pages.",
      "type": "string",
      "maxLength": 200
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "fetch": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "metadata": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢tooltrace_links(url, render, wait_until, wait_for_selector, mode)

Extract all links from a webpage with anchor text, internal/external classification, and normalized URLs.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "Public webpage URL"
    },
    "render": {
      "default": "auto",
      "description": "Rendering mode. 'never' = fast static fetch (1 credit). 'auto' = static first, browser if needed. 'always' = browser rendering (5 credits).",
      "type": "string",
      "enum": [
        "never",
        "auto",
        "always"
      ]
    },
    "wait_until": {
      "description": "Browser navigation milestone. Only used with browser rendering.",
      "type": "string",
      "enum": [
        "domcontentloaded",
        "load",
        "networkidle"
      ]
    },
    "wait_for_selector": {
      "description": "CSS selector to wait for on rendered pages.",
      "type": "string",
      "maxLength": 200
    },
    "mode": {
      "default": "normalized",
      "description": "'normalized' deduplicates and cleans URLs. 'raw' preserves originals.",
      "type": "string",
      "enum": [
        "normalized",
        "raw"
      ]
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "fetch": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "mode": {
      "type": "string"
    },
    "count": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "links": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢tooltrace_schema(url, render, wait_until, wait_for_selector, mode)

Extract JSON-LD structured data from a webpage. Returns schema.org entities like Article, Product, Organization, FAQ, BreadcrumbList, etc.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "Public webpage URL"
    },
    "render": {
      "default": "auto",
      "description": "Rendering mode. 'never' = fast static fetch (1 credit). 'auto' = static first, browser if needed. 'always' = browser rendering (5 credits).",
      "type": "string",
      "enum": [
        "never",
        "auto",
        "always"
      ]
    },
    "wait_until": {
      "description": "Browser navigation milestone. Only used with browser rendering.",
      "type": "string",
      "enum": [
        "domcontentloaded",
        "load",
        "networkidle"
      ]
    },
    "wait_for_selector": {
      "description": "CSS selector to wait for on rendered pages.",
      "type": "string",
      "maxLength": 200
    },
    "mode": {
      "default": "normalized",
      "description": "'normalized' deduplicates entities. 'raw' preserves original JSON-LD blocks.",
      "type": "string",
      "enum": [
        "normalized",
        "raw"
      ]
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "fetch": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "mode": {
      "type": "string"
    },
    "count": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "schema": {
      "type": "array",
      "items": {}
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢tooltrace_seo_audit(url, render, wait_until, wait_for_selector)

Run an SEO audit on a webpage. Returns a score (0-100), weighted checks for metadata, headings, images, canonical signals, robots directives, social tags, schema, and content length, with evidence and recommendations.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "Public webpage URL to audit"
    },
    "render": {
      "default": "auto",
      "description": "Rendering mode. 'never' = fast static fetch (1 credit). 'auto' = static first, browser if needed. 'always' = browser rendering (5 credits).",
      "type": "string",
      "enum": [
        "never",
        "auto",
        "always"
      ]
    },
    "wait_until": {
      "description": "Browser navigation milestone. Only used with browser rendering.",
      "type": "string",
      "enum": [
        "domcontentloaded",
        "load",
        "networkidle"
      ]
    },
    "wait_for_selector": {
      "description": "CSS selector to wait for on rendered pages.",
      "type": "string",
      "maxLength": 200
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "fetch": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "score": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "checks": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "metadata": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢tooltrace_tech_stack(url, render, wait_until, wait_for_selector)

Detect the technology stack of a website: CMS, frameworks, JavaScript libraries, analytics, CDN, hosting, fonts, security tools, and more. Returns categorized detections with confidence levels.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "Public webpage URL to analyze"
    },
    "render": {
      "default": "auto",
      "description": "Rendering mode. 'never' = fast static fetch (1 credit). 'auto' = static first, browser if needed. 'always' = browser rendering (5 credits).",
      "type": "string",
      "enum": [
        "never",
        "auto",
        "always"
      ]
    },
    "wait_until": {
      "description": "Browser navigation milestone. Only used with browser rendering.",
      "type": "string",
      "enum": [
        "domcontentloaded",
        "load",
        "networkidle"
      ]
    },
    "wait_for_selector": {
      "description": "CSS selector to wait for on rendered pages.",
      "type": "string",
      "maxLength": 200
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "fetch": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "url": {
      "type": "string"
    },
    "domain": {
      "type": "string"
    },
    "technologies_detected": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "categories": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢tooltrace_sitemap(url, render)

Inspect a website's sitemap. Discovers sitemap URLs, parses sitemap XML, and returns listed page URLs with last-modified dates and change frequencies.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "Website URL or direct sitemap URL"
    },
    "render": {
      "default": "auto",
      "description": "Rendering mode. 'never' = fast static fetch (1 credit). 'auto' = static first, browser if needed. 'always' = browser rendering (5 credits).",
      "type": "string",
      "enum": [
        "never",
        "auto",
        "always"
      ]
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Output Schema

{
  "type": "object",
  "properties": {
    "requested_url": {
      "type": "string"
    },
    "discovery_method": {
      "type": "string"
    },
    "documents": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "discovered_urls": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "inspected_urls": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "inspection_complete": {
      "type": "boolean"
    },
    "limit_reason": {
      "type": "string"
    },
    "summary": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "findings": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "urls_included": {
      "type": "boolean"
    },
    "urls": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools
verifiedversion not recorded7 tools