Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Meta Catalog in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Let your AI check and maintain your Meta product catalogs (Commerce Manager): products with prices, stock and review status, product sets, data feeds and upload errors, and catalog diagnostics. Can update, add or delete products in bulk after confirmation (switched off at install).
Try asking
Example prompts for Meta Catalog
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Meta Catalog, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Meta Catalog + ChatGPT
Let your AI check and maintain your Meta product catalogs (Commerce Manager): products with prices, stock and review status, product sets, data feeds and upload errors, and catalog diagnostics. Can update, add or delete products in bulk after confirmation (switched off at install).
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
META_CATALOG_ACCESS_TOKEN, META_CATALOG_BUSINESS_ID
Step 1 — Get credentials
Setting up takes about 10 minutes. You need a Meta business portfolio with a product catalog in Commerce Manager, and a Meta app.
- Open developers.facebook.com/apps/creation and create a business app connected to your business portfolio. If you already use the Meta Ads connector, you can reuse its app.
- Recommended, a token that does not expire: in Business Settings open Users → System users and add a system user. Under Assign assets → Catalogs give it your catalog (Manage catalog, or View catalog if the AI should only read). Click Generate token, pick the app, choose Never as expiry and tick
catalog_managementandbusiness_management. Meta can ask you to verify the business portfolio first. - Paste the token into
META_CATALOG_ACCESS_TOKEN. It starts with EA; paste it without the word Bearer. - Put the business portfolio id into
META_CATALOG_BUSINESS_ID: digits only, from Business Settings → Business info or frombusiness_id=in the address bar of business.facebook.com. With a system user token,meta_catalog_list_businessesreturns an empty list, so take the id from Business Settings. - Install the connector and run
meta_catalog_check_permissions: both permissions should show as granted. Thenmeta_catalog_list_catalogslists your catalogs with their product count.
With a user token instead: a user token from the Graph API Explorer (your app, User Token, the same two permissions) lasts only an hour or two. Also fill in the optional META_APP_ID and META_APP_SECRET (in your app under App settings → Basic): AnythingMCP then exchanges the token for a long-lived one of about 60 days on the first call and renews it once fewer than 10 days remain, as on the Meta Ads connector. Without them, extend the token yourself in the Access Token Debugger (Extend Access Token) and replace it before the 60 days run out; the connector page warns you ahead of time. With a system user token, leave both empty.
What it reads: the catalogs your business owns and the ones clients shared with it (as an agency or partner sees them, with your roles on each); products with SKU (retailer_id), name, price and sale price, availability, inventory, review status (approved, pending, rejected, outdated), visibility, errors and rejection reasons; product sets with their filter rule and products; data feeds with their schedule, upload sessions (items detected, saved, invalid and deleted) and upload errors with row number and SKU; and the diagnostics Commerce Manager shows, marked MUST_FIX or OPPORTUNITY.
Finding out why products do not show: the AI starts with meta_catalog_get_diagnostics, then lists the products with errors or with a given review status, and reads the exact errors and rejection reasons of one product with meta_catalog_get_product. For feed problems it goes from meta_catalog_list_feeds to meta_catalog_list_feed_uploads to meta_catalog_list_upload_errors.
Two ids per product: Meta gives every product its own id, and your SKU is the retailer_id (the id column of a feed). The AI uses the Meta id for single products and the SKU in bulk changes and filters. Prices come back as text with the currency, for example 19.99 EUR.
Changes reach ads and shops: catalogs feed Advantage+ catalog ads, Facebook and Instagram Shops and product tagging, so a change in the catalog shows up there. A product that a scheduled feed supplies is overwritten at the next feed upload: for a lasting change, fix the feed source or use a supplementary feed.
Switched off at install: meta_catalog_batch_update_items, meta_catalog_create_product, meta_catalog_update_product and meta_catalog_delete_product. They change what customers see in ads and shops, and a deleted product cannot be restored, only added again. An administrator can turn them on one by one if the AI should edit the catalog.
Asks before every change: once they are on, the AI names the catalog, the products (name and SKU) and the old and new values, and waits for your yes. A batch takes up to 5,000 changes (fewer than 3,000 are recommended) and is processed in the background: the AI follows it with meta_catalog_check_batch_status until it is finished and reports the errors.
Limits: Meta rate limits API calls. Error codes 4, 17, 613, 80009 and 80014 (the batch limit) mean waiting a few minutes before trying again.
Common errors: code 190 means the token is invalid or expired; create a new one. With subcode 467, 460 or 458 (logged out, password changed, app removed) the session is over for good, and the connector stops sending the token until you save a new one. Codes 10 and 200 to 299 mean a permission is missing or the system user has no access to that catalog: assign the catalog and generate the token again. Code 100 means a parameter, field or filter is wrong.
The connector does not create or delete catalogs, feeds or product sets, change feed schedules or upload feed files, handle localized catalogs, pixels or event sources, run catalog ads (that is the Meta Ads connector), or tag products in Instagram posts.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in ChatGPT
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
ChatGPT adds MCP servers as plugins on its Plugins page, on the web and on paid plans. Developer mode is no longer needed. In a Business workspace only admins and owners can add one; in Enterprise and Edu an admin can grant the Create plugins with MCPs permission.
- Go to chatgpt.com/plugins, click +, then Add custom MCP server.
- Enter a name, e.g. Name:
Meta Catalog. - Under Connection, enter the Server URL
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_IDand keep Authentication on OAuth. - Select I understand and want to continue, then Create as a plugin. When ChatGPT asks, sign in to AnythingMCP and allow access.
- Install the new plugin from your personal plugins, then type @ in a chat and pick it.
Available tools
| Tool | What it does |
|---|---|
meta_catalog_check_permissions | List the permissions granted to the access token, each with permission and status (granted or declined) |
meta_catalog_list_businesses | List the business portfolios the token can reach, with id, name and verification_status |
meta_catalog_list_catalogs | List the product catalogs owned by the business in META_CATALOG_BUSINESS_ID, with id, name, product_count, vertical (commerce, hotels… |
meta_catalog_list_client_catalogs | List the catalogs that other businesses (clients) shared with the business in META_CATALOG_BUSINESS_ID, as an agency or partner sees them… |
meta_catalog_get_catalog | Read one product catalog: name, vertical, product_count, feed_count, owning business and its default and fallback images |
meta_catalog_list_products | List the products (items) of a catalog with retailer_id, name, price and sale_price (strings with currency, e.g. 19.99 EUR), availability… |
meta_catalog_get_product | Read one catalog product by its Meta id with all details: texts, prices, availability, images, custom labels, GTIN, review_status with… |
meta_catalog_list_product_sets | List the product sets of a catalog (the groups that Advantage+ catalog ads and shop collections use) with id, name, filter rule and… |
meta_catalog_get_product_set | Read one product set: name, filter rule, product_count, retailer_id and its collection metadata (latest_metadata, live_metadata with cover… |
meta_catalog_list_product_set_products | List the products that belong to a product set, with the same fields and filter as meta_catalog_list_products |
meta_catalog_list_feeds | List the data feeds of a catalog with id, name, product_count, the fetch schedule (url, interval, hour), update_schedule… |
meta_catalog_list_feed_uploads | List the upload sessions of a feed, newest first, with start and end time, how the file came in, items detected, persisted, invalid and… |
meta_catalog_list_upload_errors | List a sample of the errors and warnings of one feed upload: summary, description, severity (fatal: the item was not ingested; warning: a… |
meta_catalog_get_diagnostics | Get the catalog's diagnostics, the issues Commerce Manager shows: grouped by type with severity (MUST_FIX or OPPORTUNITY), title… |
meta_catalog_check_batch_status | Check a batch submitted with meta_catalog_batch_update_items: status (finished once processing is done), errors and errors_total_count… |
meta_catalog_batch_update_items | Create, update or delete many catalog items in one call (Catalog Batch API, up to 5000 requests, fewer than 3000 recommended) |
meta_catalog_create_product | Add one product to a catalog |
meta_catalog_update_product | Change fields of one catalog product by its Meta id: price, sale_price, availability, inventory, name, description, image, link or… |
meta_catalog_delete_product | Delete one product from its catalog by Meta id |
Example prompts
- "Why are products in our main catalog rejected or not showing? Give me the must-fix issues and how many items each one affects."
- "Did the last upload of our product feed work? Show me the errors with their row numbers and SKUs."
- "Which products in the Summer Sale product set are out of stock right now?"
- "Set SKU TSHIRT-RED-M to 24.90 EUR and in stock. Show me the old and new values before you change anything."
- "List the catalogs our clients shared with us and how many products each one has."
FAQ
Does the free ChatGPT plan work with custom MCP servers? OpenAI documents custom MCP servers for paid plans only; the Free plan is not on its list.
Next steps
Was this guide helpful?