When preload hints get ahead of the page
A cleanup of image and icon loading shows how redundant preloads can compete with the content they are meant to speed up.
Static discovery files suit stable information; live MCP endpoints make more sense when agents need current data or actions, at the cost of operational work.
For a website with stable service descriptions and documentation, a published text file may be enough to give AI agents useful orientation. For a web application whose answers depend on current inventory, account state or other changing data, a live Model Context Protocol (MCP) server may be a better fit. The choice is not about which format is newer. It is about what an agent needs to know, how often that information changes and who will keep the interface working.
There is also no guarantee that a given agent will read an llms.txt file or connect to an MCP server. Treat either as an interface to test, not a promise of visibility or usage.
An llms.txt file is a plain-text guide that can direct readers or compatible tools to useful pages and explain a site’s content. It is simple to publish and does not require a running service for an agent to query. That makes it a reasonable starting point for a brochure site, reference material or a small set of relatively stable policies.
Static does not have to mean manually edited. A build or publishing process can generate the file from the same source as the site. That reduces the risk of a stale list of pages, but still leaves a timing question: when does a content change reach the published file? Teams that already serve Markdown to agents through PHP can compare that approach with maintaining separate files in this look at content negotiation.
The main limitation is freshness. A text file can describe where to find information, but it does not by itself provide a live answer about today’s stock, a user’s order or a changing schedule. Updating it after every underlying data change may be possible, but that adds a synchronization job. If the file is not updated reliably, its apparent simplicity can turn into a source of conflicting guidance.
MCP gives compatible clients a protocol for communicating with a server that can expose resources or tools. A web application can use that interface to return current information or, where appropriate, offer specific actions. For example, an agent-facing store may need product availability from current data rather than a snapshot in a text file. A catalog design that pairs current product data with narrowly scoped MCP actions illustrates why the two mechanisms can play different roles.
Live access comes with a larger operational bill. The team must keep the endpoint available, define what callers can access, handle failures and monitor changes to its interface. Actions that affect accounts, orders or other sensitive data need explicit authorization and limits. MCP does not remove the need to design those controls. A server that is reachable but returns stale data, exposes too much or fails under ordinary client requests is not a useful discovery mechanism.
It also needs an owner. Someone must know which data the server reads, how updates reach it and how a client can be tested after a change. If the application already has a reliable API and an operations process, an MCP layer may be a manageable addition. If the data is mostly static and there is no need for tools or user-specific answers, running a live service may add complexity without adding much value.
Start by listing what an agent should learn or do, then mark how often each answer changes. Stable descriptions and documentation are strong candidates for a generated static file. Frequently changing values, user-specific answers and actions are stronger candidates for a live endpoint, provided the team can secure and operate it.
For a hybrid setup, decide which source is authoritative and how each interface is updated. A static guide that points to obsolete pages and an MCP server that no one monitors are two separate failure modes. Test the file after publishing and exercise the endpoint from outside the application’s own environment. Check that responses are current, failures are understandable and access is limited to the intended operations.
Compare the ongoing work, not only the first implementation. A file needs a generation or review process and a check that its links still work. A live server needs that content discipline plus availability, access control and interface monitoring. If neither has an assigned owner, start with the smaller surface area and add capabilities when a real client requirement justifies them.
BuiltToWinWeb’s WebAgentScan is a hosted SaaS tool that evaluates website readiness for AI agents across multiple performance metrics and returns a score out of 100. Such a score can be one input in a review, but teams still need to test their own files and endpoints with the clients they intend to support. Readiness is not the same as proof that an agent will discover, understand or use a particular interface.
The practical answer is often a static file for orientation and MCP only where live data or actions matter. That split keeps stable content easy to publish and reserves the extra operational work for capabilities that need it.
A cleanup of image and icon loading shows how redundant preloads can compete with the content they are meant to speed up.
A reliable agent-facing catalog pairs current product data in Markdown with narrowly scoped MCP actions for availability, cart changes and checkout.
A PHP service can verify callers and cap request volume before tool calls reach the database; WebAgentScan can help evaluate the exposed endpoint afterward.