Skip to main content
Glama

list_websites

Discover websites with llms.txt or llms-full.txt files to analyze and explore LLMS standards compliance using filtering options.

Instructions

List known websites with llms.txt files

Input Schema

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

Implementation Reference

  • The handler function that executes the list_websites tool. It applies optional filters for websites with llms.txt or llms-full.txt and returns the filtered list as JSON.
    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:403-419 (registration)
    The registration of the list_websites tool in the ListToolsRequestSchema handler, including its name, description, and input schema definition.
    { 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" } } } }
  • The input schema definition for the list_websites tool.
    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 and populates the knownWebsites array from a GitHub JSON file, which is the data source used by the list_websites tool. Called at server startup.
    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" }]; } }
  • Global array holding the list of known websites, directly returned (filtered) by the list_websites handler.
    */ let knownWebsites: Website[] = [];

Other Tools

Related 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