Skip to main content
Glama

list_websites

Discover websites implementing the llms.txt standard by listing known compliant sites, with options to filter for specific file types.

Instructions

List known websites with llms.txt files

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filter_llms_txtNoOnly show websites with llms.txt
filter_llms_full_txtNoOnly show websites with llms-full.txt

Implementation Reference

  • The switch case handler for the 'list_websites' tool. Filters the list of known websites based on optional filter_llms_txt and filter_llms_full_txt arguments, then returns the filtered list as JSON text content.
    case "list_websites": { const filterLlmsTxt = Boolean(request.params.arguments?.filter_llms_txt); const filterLlmsFullTxt = Boolean(request.params.arguments?.filter_llms_full_txt); let websites = knownWebsites; if (filterLlmsTxt) { websites = websites.filter(site => site.llmsTxtUrl); } if (filterLlmsFullTxt) { websites = websites.filter(site => site.llmsFullTxtUrl); } return { content: [{ type: "text", text: JSON.stringify(websites, null, 2) }] }; }
  • src/index.ts:404-419 (registration)
    Registration of the 'list_websites' tool within the ListToolsRequestSchema handler, including its name, description, and input schema.
    name: "list_websites", description: "List known websites with llms.txt files", inputSchema: { type: "object", properties: { filter_llms_txt: { type: "boolean", description: "Only show websites with llms.txt" }, filter_llms_full_txt: { type: "boolean", description: "Only show websites with llms-full.txt" } } } }
  • Helper function that fetches the list of known websites from a GitHub JSON file and populates the global 'knownWebsites' array used by the list_websites tool handler. Includes validation and fallback.
    async function fetchWebsitesList() { try { console.error('Fetching websites list from GitHub...'); const response = await fetch(websites); if (!response.ok) { throw new Error(`Failed to fetch websites list: ${response.status}`); } const data = await response.json(); if (!Array.isArray(data)) { throw new Error('Invalid data format: expected an array'); } const validWebsites = data.filter(isValidWebsite); console.error(`Fetched ${validWebsites.length} valid websites`); knownWebsites = validWebsites; } catch (error) { console.error('Error fetching websites list:', error); // Fallback to default website if fetch fails knownWebsites = [{ name: "Supabase", domain: "https://supabase.com", description: "Build production-grade applications with Postgres", llmsTxtUrl: "https://supabase.com/llms.txt", category: "developer-tools" }]; } }

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/thedaviddias/mcp-llms-txt-explorer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server