MCP Server

Eagles and Angels Limited AI Gateway

com.getbotlens/eaglesandangelsltd
Commerce & Retail Media & Content Public & reachable MCP 2026-07-28

What this MCP does

Exposes an online store catalog, product and inventory lookup, articles, recommendations, policies, and cart links.

add_to_cart
Add to cart
Build a ready-to-checkout cart and return a cart link. The shopper completes checkout and payment securely on the store. Pass one or more line items.
Idempotent
Input schema
{'type': 'object', 'required': ['items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['product'], 'properties': {'product': {'type': 'string', 'description': 'Product slug/handle'}, 'variant': {'type': 'string', 'description': 'Variant/option title (e.g. a size or flavor), optional, defaults to the first in-stock variant'}, 'quantity': {'type': 'integer', 'description': 'Quantity (default 1)'}}}, 'description': 'Line items to add to the cart'}}}
Output schema
{'type': 'object', 'required': ['cart_url', 'items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'quantity'], 'properties': {'price': {}, 'title': {'type': 'string'}, 'variant': {'type': ['string', 'null']}, 'quantity': {'type': 'integer'}}}}, 'cart_url': {'type': ['string', 'null']}, 'checkout': {'type': 'string'}}}
best_sellers
Best sellers
The store's best-selling / most popular products, ranked by real units sold from captured orders. Use this to answer "what is your best product", "most popular", "top seller", or to recommend what to buy.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'days': {'type': 'integer', 'description': 'Look-back window in days (default 90, max 365)'}, 'limit': {'type': 'integer', 'description': 'How many products to return (default 10, max 25)'}}}
Output schema
{'type': 'object', 'required': ['best_sellers'], 'properties': {'window_days': {'type': 'integer'}, 'best_sellers': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'units_sold'], 'properties': {'url': {'type': ['string', 'null']}, 'slug': {'type': ['string', 'null']}, 'image': {'type': ['string', 'null']}, 'price': {'type': ['number', 'null']}, 'title': {'type': 'string'}, 'units_sold': {'type': 'integer'}}}}}}
check_inventory
Check price and stock
Check current price and in-stock status for a product and each of its variants/options. Pass a product slug or search keywords. Availability is as of the latest catalog sync.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['product'], 'properties': {'product': {'type': 'string', 'description': 'Product slug, or keywords to find the product'}}}
Output schema
{'type': 'object', 'required': ['products', 'live'], 'properties': {'live': {'type': 'boolean'}, 'products': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'url'], 'properties': {'url': {'type': 'string'}, 'slug': {'type': 'string'}, 'price': {'type': ['number', 'null']}, 'title': {'type': 'string'}, 'in_stock': {'type': 'boolean'}, 'variants': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'price': {}, 'title': {'type': 'string'}, 'quantity': {'type': ['integer', 'number', 'null']}, 'available': {'type': 'boolean'}}}}}}}}}
fetch
Fetch document
Retrieve the full text of one document by the id returned from `search`.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Document id from search results'}}}
Output schema
{'type': 'object', 'required': ['id', 'title', 'text', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'text': {'type': 'string'}, 'title': {'type': 'string'}, 'metadata': {'type': 'object'}}}
get_article
Get article
Fetch the full clean text of one article by its slug (the last path segment of an article URL).
Read only Idempotent
Input schema
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Article slug, e.g. "my-article-title"'}}}
Output schema
{'type': 'object', 'required': ['slug', 'title', 'url'], 'properties': {'url': {'type': 'string'}, 'date': {'type': ['string', 'null']}, 'slug': {'type': 'string'}, 'text': {'type': ['string', 'null']}, 'title': {'type': 'string'}, 'summary': {'type': ['string', 'null']}}}
get_product
Product details
Get full detail for one product by its slug (handle): description, price, and each variant/option with price and in-stock status.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Product slug/handle (last path segment of the product URL)'}}}
Output schema
{'type': 'object', 'required': ['slug', 'title', 'url'], 'properties': {'url': {'type': 'string'}, 'live': {'type': 'boolean'}, 'slug': {'type': 'string'}, 'image': {'type': ['string', 'null']}, 'price': {'type': ['number', 'null']}, 'title': {'type': 'string'}, 'on_sale': {'type': 'boolean'}, 'category': {'type': ['string', 'null']}, 'in_stock': {'type': 'boolean'}, 'variants': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'price': {}, 'title': {'type': 'string'}, 'available': {'type': 'boolean'}}}}, 'regular_price': {'type': ['number', 'null']}}}
list_categories
List categories
List the product categories/collections in this store with a product count each, so an agent can browse the catalog by category.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'object', 'required': ['categories'], 'properties': {'categories': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'count'], 'properties': {'name': {'type': 'string'}, 'count': {'type': 'integer'}}}}, 'total_products': {'type': 'integer'}}}
list_products
List products
List products in this store (title, price, sale price, availability, image, URL). Returns the catalog so an agent can browse. Page with offset. Use add_to_cart to build a cart.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'Max results (default 20, max 50)'}, 'offset': {'type': 'integer', 'description': 'Skip this many to page through (use next_offset from a prior call)'}}}
Output schema
{'type': 'object', 'required': ['products'], 'properties': {'total': {'type': 'integer'}, 'products': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'title', 'url'], 'properties': {'url': {'type': 'string'}, 'slug': {'type': 'string'}, 'image': {'type': ['string', 'null']}, 'price': {'type': ['number', 'null']}, 'title': {'type': 'string'}, 'on_sale': {'type': 'boolean'}, 'category': {'type': ['string', 'null']}, 'in_stock': {'type': 'boolean'}, 'variants': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'price': {}, 'title': {'type': 'string'}, 'available': {'type': 'boolean'}}}}, 'regular_price': {'type': ['number', 'null']}}}}, 'next_offset': {'type': ['integer', 'null']}}}
list_recent_articles
Recent articles
List the most recently published articles from this publication.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'Max results (default 5, max 20)'}}}
Output schema
{'type': 'object', 'required': ['articles'], 'properties': {'total': {'type': ['integer', 'null']}, 'articles': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'title', 'url'], 'properties': {'url': {'type': 'string'}, 'date': {'type': ['string', 'null']}, 'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'summary': {'type': ['string', 'null']}}}}}}
popular_content
Popular articles
The most-read / most-requested articles, ranked by how often AI assistants have actually fetched them. Use for "what is your most popular article", "top reads", or to recommend what to read.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'days': {'type': 'integer', 'description': 'Look-back window in days (default 30, max 365)'}, 'limit': {'type': 'integer', 'description': 'How many to return (default 10, max 25)'}}}
Output schema
{'type': 'object', 'required': ['articles'], 'properties': {'articles': {'type': 'array', 'items': {'type': 'object', 'required': ['title'], 'properties': {'url': {'type': ['string', 'null']}, 'title': {'type': 'string'}, 'requests': {'type': 'integer'}}}}}}
related_products
Related products
Products frequently bought together with a given product (from real order history, falling back to the same category). Use for "what goes with this", "customers also bought", or to cross-sell.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['product'], 'properties': {'limit': {'type': 'integer', 'description': 'How many to return (default 6, max 20)'}, 'product': {'type': 'string', 'description': 'Product slug/handle to find companions for'}}}
Output schema
{'type': 'object', 'required': ['products'], 'properties': {'total': {'type': 'integer'}, 'products': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'title', 'url'], 'properties': {'url': {'type': 'string'}, 'slug': {'type': 'string'}, 'image': {'type': ['string', 'null']}, 'price': {'type': ['number', 'null']}, 'title': {'type': 'string'}, 'on_sale': {'type': 'boolean'}, 'category': {'type': ['string', 'null']}, 'in_stock': {'type': 'boolean'}, 'variants': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'price': {}, 'title': {'type': 'string'}, 'available': {'type': 'boolean'}}}}, 'regular_price': {'type': ['number', 'null']}}}}, 'next_offset': {'type': ['integer', 'null']}}}
search
Search content
Search this site's content. Returns matching documents (id, title, url); pass an id to `fetch` for the full text.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Search query'}}}
Output schema
{'type': 'object', 'required': ['results'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'title', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'title': {'type': 'string'}}}}}}
search_articles
Search articles
Search this publication's articles by keyword. Returns the best-matching titles, dates, canonical URLs, and short summaries.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'description': 'Max results (default 5, max 20)'}, 'query': {'type': 'string', 'description': 'Search keywords'}}}
Output schema
{'type': 'object', 'required': ['articles'], 'properties': {'total': {'type': ['integer', 'null']}, 'articles': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'title', 'url'], 'properties': {'url': {'type': 'string'}, 'date': {'type': ['string', 'null']}, 'slug': {'type': 'string'}, 'title': {'type': 'string'}, 'summary': {'type': ['string', 'null']}}}}}}
search_products
Search products
Search this store's products by keyword and/or filters. Returns matching titles, prices (with "was" price when on sale), availability, image, and URLs. Filters can be combined and used WITHOUT a keyword (e.g. on_sale=true alone lists everything on sale; price_max with in_stock_only=true lists affordable in-stock items).
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'Max results (default 10, max 50)'}, 'query': {'type': 'string', 'description': 'Search keywords (optional if a filter is given)'}, 'offset': {'type': 'integer', 'description': 'Skip this many to page through (use next_offset from a prior call)'}, 'on_sale': {'type': 'boolean', 'description': 'Optional, only return products currently on sale (discounted)'}, 'category': {'type': 'string', 'description': 'Optional category/collection to filter by (see list_categories)'}, 'price_max': {'type': 'number', 'description': 'Optional maximum price'}, 'price_min': {'type': 'number', 'description': 'Optional minimum price'}, 'in_stock_only': {'type': 'boolean', 'description': 'Optional, only return products that are in stock'}}}
Output schema
{'type': 'object', 'required': ['products'], 'properties': {'total': {'type': 'integer'}, 'products': {'type': 'array', 'items': {'type': 'object', 'required': ['slug', 'title', 'url'], 'properties': {'url': {'type': 'string'}, 'slug': {'type': 'string'}, 'image': {'type': ['string', 'null']}, 'price': {'type': ['number', 'null']}, 'title': {'type': 'string'}, 'on_sale': {'type': 'boolean'}, 'category': {'type': ['string', 'null']}, 'in_stock': {'type': 'boolean'}, 'variants': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'price': {}, 'title': {'type': 'string'}, 'available': {'type': 'boolean'}}}}, 'regular_price': {'type': ['number', 'null']}}}}, 'next_offset': {'type': ['integer', 'null']}}}
store_info
Store info & policies
Store policies and basics: where checkout happens, and links to the shipping, returns/refund, terms, and privacy pages. Use for "do you ship to X", "what is your return policy", or "how do I pay".
Read only Idempotent
Input schema
{'type': 'object', 'properties': {}}
Output schema
{'type': 'object', 'required': ['name', 'store', 'checkout'], 'properties': {'name': {'type': 'string'}, 'store': {'type': 'string'}, 'checkout': {'type': 'string'}, 'policies': {'type': 'object', 'additionalProperties': {'type': 'string'}}}}
Added
fetch
Sept. 17, 2026, 12:35 p.m.
Added
search
Sept. 17, 2026, 12:35 p.m.
Added
store_info
Sept. 17, 2026, 12:35 p.m.
Added
related_products
Sept. 17, 2026, 12:35 p.m.
Added
best_sellers
Sept. 17, 2026, 12:35 p.m.
Added
add_to_cart
Sept. 17, 2026, 12:35 p.m.
Added
get_product
Sept. 17, 2026, 12:35 p.m.
Added
check_inventory
Sept. 17, 2026, 12:35 p.m.
Added
list_categories
Sept. 17, 2026, 12:35 p.m.
Added
search_products
Sept. 17, 2026, 12:35 p.m.
Added
list_products
Sept. 17, 2026, 12:35 p.m.
Added
popular_content
Sept. 17, 2026, 12:35 p.m.
Added
get_article
Sept. 17, 2026, 12:35 p.m.
Added
list_recent_articles
Sept. 17, 2026, 12:35 p.m.
Added
search_articles
Sept. 17, 2026, 12:35 p.m.