# What is agents.md and what it does in a Shopify store

> What agents.md is: the AGENTS.md format used in code repositories and the /agents.md file Shopify serves on every store for shopping agents.

URL: https://clione.ai/glossary/agents-md/
Lang: en

If you search for agents.md, you can run into two files that share a name and a general purpose, talking to an [AI agent](/glossary/ai-agent/) in Markdown, but live in different places. One is **AGENTS.md, the file software teams put in their repositories** so coding agents know how to work in them. The other is **`/agents.md`, the file Shopify serves at the root of every store** so shopping assistants know what it sells and how to query it. If you run a store, the second one is the one that affects you, and you probably already have it published without having written it.

## What it contains

The original format is AGENTS.md, which its site describes as a README for agents: a fixed, predictable place to give a coding agent the context and instructions it needs to work on a project. It is Markdown with no required fields; it usually holds the project description, the commands to build and test, the code style and the deployment instructions. **More than 60,000 open-source projects** use it, tools such as OpenAI's Codex, Google's Jules, Cursor and Aider read it, and a foundation within the Linux Foundation maintains it as an open format. In a repository with several AGENTS.md files, the one closest to the file being edited wins.[^agents-md-format]

Shopify took the name for something else. On a store, `/agents.md` is **the canonical description of the store, written for agents**. According to its documentation, it holds the discovery points for the [UCP (Universal Commerce Protocol)](/glossary/ucp/) and the access point for the [MCP (Model Context Protocol)](/glossary/mcp/), read-only URLs to query products, collections and searches, the store's published policies and guidance for shopping assistants such as the Shop skill.[^shopify-agents-md] UCP is the protocol an agent uses to discover what a merchant can do: each business publishes its profile at `/.well-known/ucp`, and from there the agent's platform finds the access points and negotiates what it can do.[^ucp-spec]

Four details on how Shopify serves it:

- **It generates itself.** Shopify creates a default `agents.md` for every store, and your own template is only needed for advanced cases the managed file does not cover.[^shopify-agents-md]
- **There is one per store, not per language.** It is served on the primary domain, with no language or market prefix, and has no translated version.[^shopify-agents-md]
- **It is the reference file for two others.** The [`/llms.txt`](/glossary/llms-txt/) and `/llms-full.txt` URLs repeat the content of `/agents.md` by default. If the theme has no template for one of those routes, Shopify uses the `agents.md` one and, if that does not exist either, the text it generates itself.[^shopify-agents-md] Those templates can be customized since May 28, 2026.[^shopify-changelog]
- **Its template sees very little.** In `agents.md.liquid` only two [Liquid](/glossary/shopify-liquid/) objects work, `request` and `agents`; the usual ones, such as `shop` or `collections`, do not. The `agents` object carries the store's name and URL, the UCP discovery URL, the MCP access point URL, the UCP versions, the currency and the [XML sitemap](/glossary/xml-sitemap/) URL.[^shopify-agents-md]

## In a store

Here is how the `/agents.md` of a small ceramics store might read. It is a **fictional example**: the store and the paths are made up, and on a real store Shopify fills in the URLs.

```markdown
# Example Ceramics

> Online store for handmade stoneware ceramics, shipping to the US and Canada.
> Prices in USD.

## For shopping agents

- UCP discovery: https://example-ceramics.com/.well-known/ucp
- MCP access point: https://example-ceramics.com/example-mcp-path

## Query the catalog (read-only)

- All collections: https://example-ceramics.com/collections
- Search: https://example-ceramics.com/search?q=mug

## Policies

- Shipping, returns and privacy: https://example-ceramics.com/policies/
```

If you needed to change it, you would create `templates/agents.md.liquid` in the theme code editor, and that change would carry over to `/llms.txt` and `/llms-full.txt` as long as they have no template of their own.[^shopify-changelog] A minimal version that only uses the data Shopify makes available to that template:[^shopify-agents-md]

```liquid
# {{ agents.store_name }}

Online store for handmade stoneware ceramics. Prices in {{ agents.currency }}.

- UCP discovery: {{ agents.ucp_discovery_url }}
- MCP access point: {{ agents.mcp_endpoint_url }}
- Sitemap: {{ agents.sitemap_url }}
```

Before publishing something like this, a warning from Shopify itself: the file is public and cached, so it **must not carry the merchant's private data**, such as a contact email or phone number.[^shopify-agents-md]


**agents.md is not a [robots.txt](/glossary/robots-txt/) for agents.** It describes the store and links to its access points, but neither Shopify's documentation nor that of the AGENTS.md format gives it a role as permission or block.[^shopify-agents-md][^agents-md-format] Which [bot](/glossary/web-crawler/) may request which URL is still robots.txt's job, the Robots Exclusion Protocol, whose rules, besides, are not an access authorization.[^rfc9309] And the opposite confusion exists too: the AGENTS.md you find in programming tutorials has nothing to do with your store's visibility.


## How to check

1. **Open `yourdomain.com/agents.md` in the browser.** If your store is on Shopify, you will see the file the platform generates or the one from your theme.[^shopify-agents-md]
2. **Also open `/llms.txt` and `/llms-full.txt`** and compare them. If they are identical, it is normal that none has a template of its own and all three come from the same source.[^shopify-agents-md]
3. **Check in the theme code editor whether `templates/agents.md.liquid` exists.** If it does, someone customized it, and that text also rules on the routes that have no template of their own.[^shopify-changelog]
4. **Look for data that should not be there**: a personal email, a phone number, a test URL.[^shopify-agents-md]
5. **Open every link in the file** and check that it responds. An agent that reaches a broken route has nobody to ask.

## Related concept: llms.txt

The [llms.txt](/glossary/llms-txt/) file is a proposal by Jeremy Howard, from September 2024, to give language models a Markdown file with a curated, easy-to-use view of the site when they answer.[^llmstxt] On Shopify the two files overlap: by default, `/llms.txt` repeats the content of `/agents.md`, and they only separate if the theme has an `llms.txt.liquid` template.[^shopify-agents-md] The difference lies in the intended reader. llms.txt is a general reading guide; Shopify's `/agents.md`, according to its documentation, is meant for agents and shopping assistants that need to **discover the store and know how to buy from it**, with UCP and MCP as entry points.[^shopify-agents-md]

To go further, the [llms.txt](/glossary/llms-txt/) entry covers what Google has said about those files, and the [reading path](/learn/crawling-and-indexing/) for this topic lays out the rest of the terms.
