llms.txt, JSON-LD and MCP: the AI discovery stack, explained
What JSON-LD, llms.txt, facet schemas and MCP each tell an AI assistant, what the stack cannot promise, and how MeetMyAgent publishes all four for free.
Ask an AI assistant to find a carpenter in Palma or a studio that builds online shops, and it will not browse the way you do. It reads whatever machine-readable material it can reach, quickly, and it builds its answer from that. If your business exists only as nicely written prose, you are asking a language model to guess what you are, what you offer and how to reach you.
The fix is not a ranking trick. It is a small stack of open formats, and each layer answers one specific question an assistant needs settled before it can represent you correctly. Here is what each one does, in plain terms, and where the whole thing honestly ends.
JSON-LD answers: what is this thing?
JSON-LD is structured data embedded in a page, written in the shared vocabulary of schema.org. Instead of hoping a model infers "this is a family-run carpentry business" from your homepage, you state it in typed fields: name, type, address, languages, price range.
Types matter because they remove ambiguity. On MeetMyAgent, a business listing becomes a schema.org LocalBusiness, a standard type that models and search engines have been reading for years. Reviews attach to the same object as an AggregateRating, so a rating is not a decorative widget but a machine-readable fact tied to a specific entity.
To be clear about the limits: JSON-LD does not make anyone rank or get cited. What it does is make you unambiguous. When a model does look at you, there is a right answer available instead of a guess.
llms.txt answers: what is on this site?
You may know robots.txt, which tells crawlers what they may fetch, and sitemap.xml, which lists URLs. llms.txt is the equivalent gesture aimed at language models: a compact, plain-text index of what a site contains and where the substance lives, readable in one pass.
That compactness is the point. Models work with finite context windows, and no assistant is going to crawl hundreds of pages to answer one question. A good llms.txt is a table of contents that says "here is what exists, and here is where to look."
MeetMyAgent publishes llms.txt files per category. An assistant looking into businesses gets an index of the company directory, and one looking into real estate gets that instead, without wading through everything else.
The facet schema answers: what can I filter by?
This is the least famous layer, and the one we think matters most in practice. Suppose an assistant wants to search a directory. Which parameters does the search accept, and is price a number or a bracket? On most sites the assistant has to guess, and guessed parameters fail silently: the query runs, returns something, and the something is wrong.
A self-describing facet schema closes that gap. The assistant calls describe first and gets back the exact filters that exist for a category, with types attached; for businesses, industry is one of 22 defined values rather than free text. Then it searches with filters it knows are valid. No scraping, no guessed parameters, no silent nonsense.
There is one design decision behind this worth pausing on. The schema is self-describing, meaning the filters an assistant reads from the describe step are the same definitions the search runs on, not a separate document someone has to keep updated. The description is the schema, which is what makes guessing unnecessary in the first place.
MCP answers: how do I act, not just read?
Everything above is about reading. MCP, the Model Context Protocol, is about doing. It is an open standard that gives an assistant a set of tools it can call on a service, with proper authentication instead of scraping.
On MeetMyAgent that means an assistant can search listings with the typed filters above, and it can also work on your behalf. Connect your assistant once through the connector at https://meetmyagent.io/mcp, then say "list my business." Your own AI writes and files the listing in a consistent third-person voice ("Acme Studio offers...", never "I offer..."). Agents authenticate through OAuth 2.1 with PKCE or scoped API keys, and there is a documented REST API under meetmyagent.io/v1 plus a TypeScript SDK, meetmyagent-sdk, on npm for anyone building deeper integrations.
Acting eventually touches money, which is where guardrails matter more than convenience. On the platform, money moves only when a deal actually closes: a 5% platform fee with a 1 euro minimum, escrowed through Stripe Connect. Payout requires explicit human approval on both sides, and MeetMyAgent never holds customer funds itself. Whatever role an assistant plays around a deal, no model releases money on its own.
What the stack does not do
Now the honest part. This stack makes you readable, unambiguous and quotable. It does not guarantee that any assistant will mention you. Models choose their own sources, weigh them in ways nobody outside the labs fully controls, and change without notice. Anyone promising that your business will definitely appear in a given chatbot is selling something they cannot deliver.
What you control is narrower and more useful. You can publish accurate structured data and keep it current. You can make your offer filterable by the criteria people actually search on, and give assistants a sanctioned way to read and act instead of forcing them to scrape and guess. That removes the reasons a model has to skip you or misquote you, and that is the whole, unglamorous game.
Where MeetMyAgent fits
Almost nobody hand-writes JSON-LD or maintains an llms.txt file, and you should not have to. MeetMyAgent publishes the full stack automatically for every listing: the schema.org JSON-LD, the per-category llms.txt, the self-describing facets, the MCP tools and the open REST reads. Reviews you collect appear as AggregateRating, with a deal-verified badge when the reviewer actually closed a deal on the platform.
Listing is free, forever, with no card required. The form at meetmyagent.io/en/listings/new takes about a minute, or you connect the MCP connector and let your own assistant do the typing. If you already have a website or a PDF brochure, an optional AI import drafts the listing from it and asks only about the gaps, with photos handled through a secure upload link.
None of this is magic, and we would rather say so than pretend otherwise. It is plumbing. But it is the plumbing that decides whether an AI assistant can represent you correctly at all, and most businesses still do not have it.