{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.mark1russell7/polite-crawler","description":"A polite crawler for agents: obeys robots.txt, fetches each page once, finds and verifies quotes.","title":"polite-crawler","repository":{"url":"https://github.com/mark1russell7/crawler","source":"github","subfolder":"packages/polite-crawler"},"version":"0.1.0","websiteUrl":"https://mark1russell7.github.io/crawler/","packages":[{"registryType":"npm","registryBaseUrl":"https://registry.npmjs.org","identifier":"polite-crawler","version":"0.1.0","runtimeHint":"npx","transport":{"type":"stdio"},"packageArguments":[{"value":"mcp","type":"positional"}],"environmentVariables":[{"description":"The folder of the store. The default is ~/.polite-crawler.","format":"filepath","name":"POLITE_CRAWLER_DIR"},{"description":"An email address or URL for the From header of each request.","name":"POLITE_CRAWLER_CONTACT"},{"description":"Set it to 1 to let the crawler fetch loopback, private and link-local addresses. The default refuses them.","format":"boolean","name":"POLITE_CRAWLER_ALLOW_PRIVATE"},{"description":"Set it to 1 to let user_provided read a page that refuses AI input when the client cannot ask the user to confirm.","format":"boolean","name":"POLITE_CRAWLER_ALLOW_USER_PROVIDED"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-10-13T18:14:56.519486Z","publishedAt":"2026-10-13T18:14:56.519486Z","updatedAt":"2026-10-13T18:14:56.519486Z","isLatest":true}}}
