Use Linty from an agent
Linty has an MCP server. An agent uses it to find brands that sell direct, see where to apply and read what each brand asks for.
1.What does the Linty MCP server do?
The server reads the same records as the pages and their twins.
It finds brands by text, category, country and availability. It returns the facts of a brand, a relationship, a company or a category.
It also takes a correction to a fact.
The address of the server is
https://mcp.linty.xyz/mcp. It needs no key.2.What does it not do yet?
Linty does not submit applications yet. To apply, follow the link to the form, portal or email of the brand.
3.How do I install it?
Run this command in a terminal. It finds the agents on your computer, adds the Linty server to each one, and shows each file that it changes.
npx linty-mcp setup4.How do I add it to one agent?
The address of the server is
https://mcp.linty.xyz/mcp. It needs no key.- Claude Code: Run
claude plugin marketplace add SidestreamAI/linty-plugins, thenclaude plugin install linty@linty. The plugin adds the server at https://mcp.linty.xyz/mcp and a skill that tells Claude how to use it. To add the server only, runclaude mcp add --transport http linty https://mcp.linty.xyz/mcp. - Claude.ai, Cowork and Claude Desktop: Open Customize, then Connectors. Select Add, then Add custom connector. Enter the name Linty and the address of the server, then select No sign in.
- Cursor: Open the Add to Cursor link, or add this to
~/.cursor/mcp.json:{"mcpServers":{"linty":{"url":"https://mcp.linty.xyz/mcp"}}}. - Codex: Run
codex mcp add linty --url https://mcp.linty.xyz/mcp. - VS Code: Run
code --add-mcp '{"name":"linty","type":"http","url":"https://mcp.linty.xyz/mcp"}'. - OpenCode: Add this to
~/.config/opencode/opencode.json:{"mcp":{"linty":{"type":"remote","url":"https://mcp.linty.xyz/mcp","enabled":true}}}. - Other clients: A client that runs only local servers can use
mcp-remote:npx -y mcp-remote https://mcp.linty.xyz/mcp --transport http-only.
- Claude Code: Run
5.Which tools does it have?
Each tool returns a record that follows a published JSON Schema.
find_brands: Find food, beverage and pet brands, and see where to apply to each for a wholesale account. Filter by text, category path, country, availability orsubmittable.submittableis true when the brand has a web form at its address. Each page has up to 50 brands. To get the next page, sendnext_cursorascursor.get_brand: Get the facts of one brand by its slug: its company, its categories, each relationship with its availability, and the sources. The result is the JSON twin at/brands/{slug}.json.get_relationship: Get one relationship of a brand: where to apply, the form fields and documents the brand asks for, and the sources. The default relationship iswholesale. The result is the JSON twin at/brands/{slug}/{relationship}.json.get_company: Get one company by its slug, with the brands that it owns. The result is the JSON twin at/companies/{slug}.json.list_categories: List the categories under a path, or the top-level categories, with counts of published brands. A category has a page when it has 10 published brands. With a page, the result also has that category and up to 200 of its brands. Without a page,categoryis null and the result has the categories under the path. A path that is no category answersnot_found.report_correction: Report a wrong fact about a brand or one of its relationships. Write what is wrong and what is right, in 10 to 2,000 characters. A person at Linty reads each correction.
6.Which JSON Schemas does Linty publish?
Linty publishes each JSON Schema at
/schemas/{name}.json. A JSON twin and a tool result follow the same schema./schemas/brand.json: The shape of a brand twin and of theget_brandresult./schemas/relationship.json: The shape of a relationship twin and of theget_relationshipresult./schemas/company.json: The shape of a company twin and of theget_companyresult./schemas/category.json: The shape of a category twin. Thelist_categoriesresult has it incategory, when the category has a page./schemas/brand-matches.json: The shape of thefind_brandsresult./schemas/category-list.json: The shape of thelist_categoriesresult./schemas/correction-receipt.json: The shape of thereport_correctionresult./schemas/error.json: The shape of an error result. It hascode, and sometimesissuesorretry_after.
7.How do I read Linty over HTTP?
Each brand, relationship, company and category page has a JSON twin and a markdown twin. Add
.jsonor.mdto the address of the page.The page addresses are
/brands/{slug},/brands/{slug}/{relationship},/companies/{slug}and/categories/{path}.A request to the HTML address with
Accept: text/markdownreturns the markdown twin.Each JSON twin follows one of the JSON Schemas in the list above.
A twin sends
Cache-Controlwiths-maxage=86400, anETagandAccess-Control-Allow-Origin: *. SendIf-None-Matchto get a 304 when the twin did not change.One IP address can send 60 requests a minute to the twins. Over the limit, Linty answers 429 with
Retry-After.One IP address can send 60 requests a minute to the MCP server. Over the limit, it answers 429 with
Retry-After.A change to a record only adds fields. A change that removes or renames a field gets a new suffix.