CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Goodbarber Public Mcp

goodbarber/goodbarber-skills
80 toolsSSEregistry active
Summary

GoodBarber is a no-code app builder, and this server turns your published eCommerce, Community, or Membership app into something Claude can manage through conversation. It uses OAuth against GoodBarber's Public API and exposes tools for catalog management, order processing, customer segmentation, promo campaigns, subscription audits, and push notifications. The real value is in the 41 included skills, markdown files that chain these tools into workflows like RFM segmentation, reorder planning based on sales velocity, or identifying orphaned products not in any collection. If you run a GoodBarber storefront or membership site and want to pull reports, spot inventory gaps, or broadcast a promo without opening the backoffice, this gives you a natural language interface over the whole operation.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Tools

Public tool metadata for what this MCP can expose to an agent.

80 tools
meta_get_tool_planRetrieve full guidance for one tool name, including the recommended discover/call/verify sequence and failure policy.1 params

Retrieve full guidance for one tool name, including the recommended discover/call/verify sequence and failure policy.

Parameters* required
tool_namestring
shop_list_collectionsList shop collections (paginated). Returns count/previous/next/collections.4 params

List shop collections (paginated). Returns count/previous/next/collections.

Parameters* required
pageinteger
Page number (default 1)
sortstring
one of alpha · alpha_desc · first_added · last_added
keywordstring
Filter by collection name, supports comma-separated OR terms.
per_pageinteger
Items per page
shop_get_collectionRetrieve one collection by id. Returns collection object.1 params

Retrieve one collection by id. Returns collection object.

Parameters* required
collection_idinteger
Collection identifier
shop_list_optionsList variant options (paginated). Returns count/previous/next/options.3 params

List variant options (paginated). Returns count/previous/next/options.

Parameters* required
pageinteger
searchstring
Filter by option name substring
per_pageinteger
shop_create_optionCreate a new variant option for product variants.1 params

Create a new variant option for product variants.

Parameters* required
namestring
Option name (e.g. 'Color', 'Size')
shop_update_optionUpdate the name of a variant option.2 params

Update the name of a variant option.

Parameters* required
namestring
option_idinteger
shop_delete_optionDelete a specific variant option.1 params

Delete a specific variant option.

Parameters* required
option_idinteger
shop_list_productsList products (paginated). Returns count/previous/next/products.5 params

List products (paginated). Returns count/previous/next/products.

Parameters* required
pageinteger
statusstring
one of DEMO · DRAFT · INVISIBLE · PUBLISHED
keywordstring
per_pageinteger
collectionarray
List of collection ids. Use [id] for a single collection, [id1, id2, ...] for OR filtering across multiple collections. Always pass an array, even for one collection. Do NOT make multiple calls to filter across several collections — this parameter handles it natively.
shop_create_productCreate a product. Returns created product object.16 params

Create a product. Returns created product object.

Parameters* required
slugstring
tagsarray
brandstring
mediainteger
Slide id used as product thumbnail
titlestring
statusstring
one of DRAFT · PUBLISHED · INVISIBLE
summarystring
highlightboolean
meta_titlestring
collectionsarray
product_refstring
visibility_endstring
ISO datetime
meta_descriptionstring
visibility_startstring
ISO datetime
show_similar_productsboolean
set_custom_similar_productsarray
shop_get_productRetrieve one product by id. Returns product object with variants/slides.1 params

Retrieve one product by id. Returns product object with variants/slides.

Parameters* required
product_idinteger
shop_update_productUpdate a product in the shop.17 params

Update a product in the shop.

Parameters* required
slugstring
tagsarray
brandstring
mediainteger
titlestring
statusstring
one of DRAFT · PUBLISHED · INVISIBLE
summarystring
highlightboolean
meta_titlestring
product_idinteger
collectionsarray
product_refstring
visibility_endstring
ISO datetime
meta_descriptionstring
visibility_startstring
ISO datetime
show_similar_productsboolean
set_custom_similar_productsarray
shop_delete_productDelete a specific product from the shop.1 params

Delete a specific product from the shop.

Parameters* required
product_idinteger
shop_list_paragraphsList product description paragraphs sorted by position.1 params

List product description paragraphs sorted by position.

Parameters* required
product_idinteger
shop_create_paragraphAdd a description paragraph to a product.5 params

Add a description paragraph to a product.

Parameters* required
htmlboolean
contentstring
positioninteger
Order index
product_idinteger
paragraph_typestring
one of TEXT · QUOTE · PHOTO · EMBED
shop_update_paragraphUpdate a product description paragraph.7 params

Update a product description paragraph.

Parameters* required
htmlboolean
contentstring
media_idinteger
positioninteger
product_idinteger
paragraph_idstring
paragraph_typestring
one of TEXT · QUOTE · PHOTO · EMBED
shop_delete_paragraphDelete a specific product description paragraph.2 params

Delete a specific product description paragraph.

Parameters* required
product_idinteger
paragraph_idstring
shop_create_paragraph_mediaCreate a media object for a paragraph. For PHOTO: pass media_type=PHOTO and image_file. For EMBED: pass media_type=EMBED and content.6 params

Create a media object for a paragraph. For PHOTO: pass media_type=PHOTO and image_file. For EMBED: pass media_type=EMBED and content.

Parameters* required
contentstring
Required for EMBED. Embed content.
image_filestring
Required for PHOTO. Image payload. Accepts: (1) a data URI 'data:image/png;base64,...', (2) a raw base64-encoded string of the image bytes, or (3) a public http(s) URL. Do NOT pass a local filesystem path.
media_typestring
Required. PHOTO or EMBED.one of PHOTO · EMBED
product_idinteger
focal_pointstring
Image crop focal point, format 40x50.
paragraph_idstring
shop_get_paragraph_mediaRetrieve the details of a paragraph media object.3 params

Retrieve the details of a paragraph media object.

Parameters* required
media_idinteger
product_idinteger
paragraph_idstring
shop_update_paragraph_mediaUpdate a paragraph media object (content, type, focal point, and/or image_file).7 params

Update a paragraph media object (content, type, focal point, and/or image_file).

Parameters* required
contentstring
media_idinteger
image_filestring
Image payload. Accepts: (1) a data URI 'data:image/png;base64,...', (2) a raw base64-encoded string of the image bytes, or (3) a public http(s) URL. Do NOT pass a local filesystem path — the server cannot read the user's disk.
media_typestring
one of PHOTO · EMBED
product_idinteger
focal_pointstring
paragraph_idstring
shop_delete_paragraph_mediaDelete a paragraph media object.3 params

Delete a paragraph media object.

Parameters* required
media_idinteger
product_idinteger
paragraph_idstring
shop_upload_product_pdfDownload a PDF from a URL and attach it to a product (multipart upload).3 params

Download a PDF from a URL and attach it to a product (multipart upload).

Parameters* required
pdfstring
Public URL of the PDF to download and upload
pdf_namestring
Display name (default: filename from URL)
product_idinteger
shop_delete_product_pdfDelete the PDF file associated with a product.1 params

Delete the PDF file associated with a product.

Parameters* required
product_idinteger
shop_upload_product_slideUpload an image file as a product slide (multipart form-data).4 params

Upload an image file as a product slide (multipart form-data).

Parameters* required
positioninteger
image_filestring
Image payload. Accepts: (1) a data URI 'data:image/png;base64,...', (2) a raw base64-encoded string of the image bytes, or (3) a public http(s) URL. Do NOT pass a local filesystem path — the server cannot read the user's disk.
product_idinteger
focal_pointstring
shop_update_product_slideUpdate a slide (position, focal_point and/or replacement image via image_file).5 params

Update a slide (position, focal_point and/or replacement image via image_file).

Parameters* required
positioninteger
slide_idinteger
image_filestring
Image payload. Accepts: (1) a data URI 'data:image/png;base64,...', (2) a raw base64-encoded string of the image bytes, or (3) a public http(s) URL. Do NOT pass a local filesystem path — the server cannot read the user's disk.
product_idinteger
focal_pointstring
shop_delete_product_slideDelete a specific product slide.2 params

Delete a specific product slide.

Parameters* required
slide_idinteger
product_idinteger
shop_create_variantCreate a new variant for a product. IMPORTANT: all variants of the same product MUST share the exact same set of option_ids. When you introduce a new option on one variant, you must also add that option (with an appropriate value) to every other existing variant via shop_updat...9 params

Create a new variant for a product. IMPORTANT: all variants of the same product MUST share the exact same set of option_ids. When you introduce a new option on one variant, you must also add that option (with an appropriate value) to every other existing variant via shop_updat...

Parameters* required
skustring
mediainteger
pricestring
Decimal as string, e.g. '10.50000'
stockinteger
weightstring
positioninteger
compare_atstring
product_idinteger
option_valuesarray
List of option/value pairs. Each object has one key: the option_id mapping to the value string. Example: [{"1": "Red"}, {"2": "M"}]
shop_get_variantRetrieve the details of a product variant.2 params

Retrieve the details of a product variant.

Parameters* required
product_idinteger
variant_idinteger
shop_update_variantUpdate the details of a product variant.10 params

Update the details of a product variant.

Parameters* required
skustring
mediainteger
pricestring
stockinteger
weightstring
positioninteger
compare_atstring
product_idinteger
variant_idinteger
option_valuesarray
List of option/value pairs. Each object has one key: the option_id mapping to the value string. Example: [{"1": "Red"}, {"2": "M"}]
shop_delete_variantDelete a specific product variant.2 params

Delete a specific product variant.

Parameters* required
product_idinteger
variant_idinteger
shop_list_tagsList all tags used in the shop catalog.3 params

List all tags used in the shop catalog.

Parameters* required
pageinteger
sortstring
one of alpha · last_created · most_tagged
per_pageinteger
shop_validate_jwtValidate a front-end JWT for a shop customer.2 params

Validate a front-end JWT for a shop customer.

Parameters* required
jwtstring
The JWT to validate
user_idstring
Target user id for token validation
shop_list_customersList customers of the shop.2 params

List customers of the shop.

Parameters* required
pageinteger
per_pageinteger
shop_get_customerRetrieve the details of a specific shop customer.1 params

Retrieve the details of a specific shop customer.

Parameters* required
customer_idinteger
shop_list_prospectsList prospects (newsletter subscribers) of the shop.2 params

List prospects (newsletter subscribers) of the shop.

Parameters* required
pageinteger
per_pageinteger
shop_get_prospectRetrieve the details of a specific shop prospect.1 params

Retrieve the details of a specific shop prospect.

Parameters* required
user_idstring
Unique ID of the user
shop_create_push_broadcastSend a push notification broadcast to all shop app users.3 params

Send a push notification broadcast to all shop app users.

Parameters* required
actionobject
Action performed when the user opens the notification.
messagestring
Content of the push notification (max 255 characters).
scheduleobject
Sending time. Defaults to immediate send.
shop_create_push_notificationSend a shop push notification with optional user targeting, scheduling, and tap action.4 params

Send a shop push notification with optional user targeting, scheduling, and tap action.

Parameters* required
actionobject
Action performed when the user opens the notification.
messagestring
Content of the push notification (max 255 characters).
scheduleobject
Sending time. Defaults to immediate send.
targetingobject
Optional user targeting. If omitted, sends to all eligible push recipients.
shop_list_ordersList orders of the shop. Supports filtering by status and date range.7 params

List orders of the shop. Supports filtering by status and date range.

Parameters* required
pageinteger
statusvalue
One status or a list of statuses to OR-filter.
per_pageinteger
creation_date_tostring
Filter orders created before this datetime (yyyy-mm-ddThh:MM, UTC)
delivery_date_tostring
Filter by delivery slot end before this datetime
creation_date_fromstring
Filter orders created after this datetime (yyyy-mm-ddThh:MM, UTC)
delivery_date_fromstring
Filter by delivery slot start after this datetime
shop_get_orderRetrieve the details of a specific order.1 params

Retrieve the details of a specific order.

Parameters* required
order_idinteger
Unique ID of the order
shop_get_order_shippingGet the shipping information (status, tracking number, tracking URL) of an order.1 params

Get the shipping information (status, tracking number, tracking URL) of an order.

Parameters* required
order_idinteger
shop_update_order_shippingUpdate the shipping information of an order. Status can only go PENDING → FULFILLED → DELIVERED.4 params

Update the shipping information of an order. Status can only go PENDING → FULFILLED → DELIVERED.

Parameters* required
statusstring
New order statusone of FULFILLED · DELIVERED
order_idinteger
shipping_tracking_numstring
shipping_tracking_urlstring
shop_get_loyaltyRetrieve the loyalty points details of a shop user.1 params

Retrieve the loyalty points details of a shop user.

Parameters* required
user_idinteger
shop_update_loyaltyUpdate the loyalty points of a shop user.2 params

Update the loyalty points of a shop user.

Parameters* required
user_idinteger
points_countinteger
New points total
shop_get_promocodeRetrieve the details of a specific promocode.1 params

Retrieve the details of a specific promocode.

Parameters* required
promocode_idinteger
shop_list_promocodes_amountList promocodes based on order amount.2 params

List promocodes based on order amount.

Parameters* required
pageinteger
per_pageinteger
shop_create_promocode_amountCreate a promocode based on order amount.16 params

Create a promocode based on order amount.

Parameters* required
codestring
namestring
valuenumber
end_atstring
ISO datetime. Use end_date='none' for no expiration.
end_datestring
Alias for end_at. Set to 'none' for no expiration.
max_usesinteger
start_atstring
ISO datetime
max_pricenumber
min_pricenumber
conditionsstring
one of NONE · PRICE_RANGE · NUMBER_OF_PRODUCTS
min_quantityinteger
discount_typestring
one of PERCENT · ABSOLUTE
one_use_by_userboolean
registered_onlyboolean
specific_registered_idsarray
List of specific user IDs
specific_registered_onlyboolean
shop_list_promocodes_collectionsList promocodes based on dedicated collections.2 params

List promocodes based on dedicated collections.

Parameters* required
pageinteger
per_pageinteger
shop_create_promocode_collectionsCreate a promocode based on dedicated collections.17 params

Create a promocode based on dedicated collections.

Parameters* required
codestring
namestring
valuenumber
end_atstring
ISO datetime. Use end_date='none' for no expiration.
end_datestring
Alias for end_at. Set to 'none' for no expiration.
max_usesinteger
start_atstring
max_pricenumber
min_pricenumber
conditionsstring
one of NONE · PRICE_RANGE · NUMBER_OF_PRODUCTS
min_quantityinteger
discount_typestring
one of PERCENT · ABSOLUTE
collection_idsarray
List of collection IDs this promocode applies to
one_use_by_userboolean
registered_onlyboolean
specific_registered_idsarray
specific_registered_onlyboolean
shop_list_promocodes_productList promocodes based on a dedicated product.2 params

List promocodes based on a dedicated product.

Parameters* required
pageinteger
per_pageinteger
shop_create_promocode_productCreate a promocode based on a dedicated product.17 params

Create a promocode based on a dedicated product.

Parameters* required
codestring
namestring
valuenumber
end_atstring
ISO datetime. Use end_date='none' for no expiration.
end_datestring
Alias for end_at. Set to 'none' for no expiration.
max_usesinteger
start_atstring
max_pricenumber
min_pricenumber
conditionsstring
one of NONE · PRICE_RANGE · NUMBER_OF_PRODUCTS
product_idinteger
Product this promocode applies to
min_quantityinteger
discount_typestring
one of PERCENT · ABSOLUTE
one_use_by_userboolean
registered_onlyboolean
specific_registered_idsarray
specific_registered_onlyboolean
shop_list_promocodes_tagsList promocodes based on dedicated tags.2 params

List promocodes based on dedicated tags.

Parameters* required
pageinteger
per_pageinteger
shop_create_promocode_tagsCreate a promocode based on dedicated tags.17 params

Create a promocode based on dedicated tags.

Parameters* required
codestring
namestring
tagsarray
List of tags this promocode applies to
valuenumber
end_atstring
ISO datetime. Use end_date='none' for no expiration.
end_datestring
Alias for end_at. Set to 'none' for no expiration.
max_usesinteger
start_atstring
max_pricenumber
min_pricenumber
conditionsstring
one of NONE · PRICE_RANGE · NUMBER_OF_PRODUCTS
min_quantityinteger
discount_typestring
one of PERCENT · ABSOLUTE
one_use_by_userboolean
registered_onlyboolean
specific_registered_idsarray
specific_registered_onlyboolean
shop_list_downloadsList app download statistics for the shop.3 params

List app download statistics for the shop.

Parameters* required
end_datestring
End date (YYYY-MM-DD)
platformstring
one of all · android · ipad · iphone
start_datestring
Start date (YYYY-MM-DD)
shop_list_downloads_globalList global (all-time) app download statistics for the shop.1 params

List global (all-time) app download statistics for the shop.

Parameters* required
platformstring
one of all · android · ipad · iphone
shop_list_launchesList app launch statistics for the shop.3 params

List app launch statistics for the shop.

Parameters* required
end_datestring
YYYY-MM-DD
platformstring
one of all · android · html5 · ipad · iphone
start_datestring
YYYY-MM-DD
shop_list_unique_launchesList unique app launch statistics for the shop.3 params

List unique app launch statistics for the shop.

Parameters* required
end_datestring
YYYY-MM-DD
platformstring
one of all · android · html5 · ipad · iphone
start_datestring
YYYY-MM-DD
shop_list_page_viewsList page view statistics for the shop.3 params

List page view statistics for the shop.

Parameters* required
end_datestring
YYYY-MM-DD
platformstring
one of all · android · html5 · ipad · iphone
start_datestring
YYYY-MM-DD
shop_list_page_views_per_weekdayList page views broken down by day of the week for the shop.2 params

List page views broken down by day of the week for the shop.

Parameters* required
end_datestring
YYYY-MM-DD
start_datestring
YYYY-MM-DD
shop_list_session_timesList session time statistics for the shop.2 params

List session time statistics for the shop.

Parameters* required
end_datestring
YYYY-MM-DD
start_datestring
YYYY-MM-DD
cms_list_sectionsList app sections for the current app by section type. This generic section catalog can return CMS content sections, content sections powered by other providers, and non-content sections. Use type='commerce' for eCommerce sections because commerce sections are not MCMS section...1 params

List app sections for the current app by section type. This generic section catalog can return CMS content sections, content sections powered by other providers, and non-content sections. Use type='commerce' for eCommerce sections because commerce sections are not MCMS section...

Parameters* required
typestring
Section type to discover. The generic section catalog can return any matching app section, including content and non-content sections. Use 'commerce' for eCommerce sections.
cms_list_cms_sectionsList CMS content sections for the current app by CMS content type. Use this to discover CMS-created article, maps, video, photo, agenda, or sound sections before listing CMS content that requires category ids. The response includes each section's id and title and its categorie...1 params

List CMS content sections for the current app by CMS content type. Use this to discover CMS-created article, maps, video, photo, agenda, or sound sections before listing CMS content that requires category ids. The response includes each section's id and title and its categorie...

Parameters* required
typestring
CMS content type to discover.one of article · maps · video · photo · agenda · sound
cms_list_articlesList CMS articles for the current app. Optionally filter by one or more category ids (use cms_list_cms_sections first to discover them); omit category to list across every article category. Also filter by publication status, article title search terms, article ids, pagination,...8 params

List CMS articles for the current app. Optionally filter by one or more category ids (use cms_list_cms_sections first to discover them); omit category to list across every article category. Also filter by publication status, article title search terms, article ids, pagination,...

Parameters* required
idarray
Optional article ids to filter the list.
pageinteger
Page index.
sortstring
Sort field for the article list.one of recent · alpha
orderstring
Sort order for the article list.one of ASC · DESC
searcharray
Optional title search terms.
statusstring
Optional publication status filter. Omit to list every non-deleted item in scope.one of draft · published · stock · scheduled
categoryarray
Optional article category ids returned by cms_list_cms_sections. Omit to list across all categories.
per_pageinteger
Number of articles per page.
cms_get_articleRetrieve one CMS article for the current app by article id. Use cms_list_articles first when the article id is unknown. The response fields accessTier and maxFreeParagraphs apply only to in-app-purchase items: maxFreeParagraphs is the number of body paragraphs shown as a free...1 params

Retrieve one CMS article for the current app by article id. Use cms_list_articles first when the article id is unknown. The response fields accessTier and maxFreeParagraphs apply only to in-app-purchase items: maxFreeParagraphs is the number of body paragraphs shown as a free...

Parameters* required
idinteger
Article id returned by cms_list_articles.
cms_create_articleCreate one CMS article for the current app. Use cms_list_cms_sections first to discover article category ids.15 params

Create one CMS article for the current app. Use cms_list_cms_sections first to discover article category ids.

Parameters* required
datestring
Optional editorial date in RFC 3339 format.
metaobject
Optional SEO metadata.
slugstring
Optional URL slug; the server may normalize it.
titlestring
Article headline shown in feeds and on the item page.
authorstring
Optional byline or author display name. If omitted, the app account holder's name is used.
leadinstring
Optional article deck HTML.
pinnedboolean
Whether the article is pinned in its category listing.
statusstring
Publication status. Omit to default to published.one of published · draft · stock
accessTierstring
Paywall tier. 'premium' locks the article behind an in-app purchase; 'free' leaves it open. Applies only to apps that sell in-app purchases.one of free · premium
categoriesarray
Article category ids returned by cms_list_cms_sections.
publishedDatestring
Optional future publication date. Requires status='stock' when provided.
commentsEnabledboolean
Whether end-user comments are enabled for this article.
maxFreeParagraphsinteger
Number of body paragraphs shown as a free preview before purchase, 0 to 5. Applies only to premium in-app-purchase articles.
publicationEndDatestring
Optional future unpublication date in RFC 3339 format.
displaySummaryInListboolean
Whether the article summary is shown in list views. Writable only when maxFreeParagraphs is 0.
cms_update_articleUpdate one CMS article for the current app by article id. Provide at least one field to change.16 params

Update one CMS article for the current app by article id. Provide at least one field to change.

Parameters* required
idinteger
Article id returned by cms_list_articles.
datestring
Replacement editorial date in RFC 3339 format.
metaobject
Replacement SEO metadata.
slugstring
Replacement URL slug; the server may normalize it.
titlestring
Replacement article headline shown in feeds and on the item page.
authorstring
Replacement byline or author display name.
leadinstring
Replacement article deck HTML.
pinnedboolean
Whether the article is pinned in its category listing.
statusstring
Replacement publication status.one of published · draft · stock
accessTierstring
Replacement paywall tier. 'premium' locks the article behind an in-app purchase; 'free' leaves it open. Applies only to apps that sell in-app purchases.one of free · premium
categoriesarray
Replacement article category ids returned by cms_list_cms_sections.
publishedDatestring
Optional future publication date. Requires status='stock' when provided.
commentsEnabledboolean
Whether end-user comments are enabled for this article.
maxFreeParagraphsinteger
Number of body paragraphs shown as a free preview before purchase, 0 to 5. Applies only to premium in-app-purchase articles.
publicationEndDatestring
Optional future unpublication date. Send an empty string to clear an existing scheduled unpublication.
displaySummaryInListboolean
Whether the article summary is shown in list views. Writable only when maxFreeParagraphs is 0.
cms_delete_articleDelete one CMS article for the current app by article id. Use cms_get_article or cms_list_articles first to confirm the target.1 params

Delete one CMS article for the current app by article id. Use cms_get_article or cms_list_articles first to confirm the target.

Parameters* required
idinteger
Article id returned by cms_list_articles.
cms_list_article_paragraphsList body paragraphs for one CMS article, sorted by paragraph position.1 params

List body paragraphs for one CMS article, sorted by paragraph position.

Parameters* required
idinteger
Article id returned by cms_list_articles.
cms_create_article_paragraphCreate one body paragraph under a CMS article. Paragraph type must be text, photo, quote, or embed. Required fields depend on the paragraph type.8 params

Create one body paragraph under a CMS article. Paragraph type must be text, photo, quote, or embed. Required fields depend on the paragraph type.

Parameters* required
idinteger
Article id returned by cms_list_articles.
typestring
Paragraph body-block kind.one of text · photo · quote · embed
captionstring
Optional caption for photo paragraphs.
contentstring
Required for text and quote paragraphs.
embedUrlstring
Required embed HTML for embed paragraphs. Set an explicit iframe width and height (for example 100%) so the block renders at a visible size.
positioninteger
Optional 1-based insert position; omit to append.
isThumbnailboolean
Whether a photo paragraph should be used as the article thumbnail.
originalThumbnailstring
Required image URL, data URI, or base64 source for photo paragraphs.
cms_get_article_paragraphRetrieve one body paragraph by article id and paragraph id.2 params

Retrieve one body paragraph by article id and paragraph id.

Parameters* required
idinteger
Article id returned by cms_list_articles.
paragraph_idinteger
Paragraph id returned by cms_list_article_paragraphs.
cms_update_article_paragraphUpdate one body paragraph under a CMS article. Provide at least one paragraph field to change.7 params

Update one body paragraph under a CMS article. Provide at least one paragraph field to change.

Parameters* required
idinteger
Article id returned by cms_list_articles.
captionstring
Replacement caption for photo paragraphs.
contentstring
Replacement text HTML or quote body, depending on paragraph type.
embedUrlstring
Replacement embed HTML for embed paragraphs. Set an explicit iframe width and height (for example 100%) so the block renders at a visible size.
isThumbnailboolean
Whether a photo paragraph should be used as the article thumbnail.
paragraph_idinteger
Paragraph id returned by cms_list_article_paragraphs.
originalThumbnailstring
Replacement image URL, data URI, or base64 source for photo paragraphs.
cms_delete_article_paragraphDelete one body paragraph from a CMS article by article id and paragraph id.2 params

Delete one body paragraph from a CMS article by article id and paragraph id.

Parameters* required
idinteger
Article id returned by cms_list_articles.
paragraph_idinteger
Paragraph id returned by cms_list_article_paragraphs.
cms_reorder_article_paragraphsReorder all body paragraphs for one CMS article. Pass a full ordered list of paragraph ids.2 params

Reorder all body paragraphs for one CMS article. Pass a full ordered list of paragraph ids.

Parameters* required
idinteger
Article id returned by cms_list_articles.
paragraph_idsarray
Full ordered list of paragraph ids for this article.
cms_list_mapsList CMS map (point of interest) items for the current app. Optionally filter by one or more category ids (use cms_list_cms_sections with type='maps' first to discover them); omit category to list across every map category. Also filter by publication status.8 params

List CMS map (point of interest) items for the current app. Optionally filter by one or more category ids (use cms_list_cms_sections with type='maps' first to discover them); omit category to list across every map category. Also filter by publication status.

Parameters* required
idarray
Optional map item ids to filter the list.
pageinteger
Page index.
sortstring
Sort field for the map list.one of recent · alpha
orderstring
Sort order for the map list.one of ASC · DESC
searcharray
Optional title search terms.
statusstring
Optional publication status filter. Omit to list every non-deleted item in scope.one of draft · published · stock · scheduled
categoryarray
Optional map category ids returned by cms_list_cms_sections. Omit to list across all categories.
per_pageinteger
Number of map items per page.
cms_get_mapRetrieve one CMS map item for the current app by map item id. Use cms_list_maps first when the map item id is unknown. The response fields accessTier and maxFreeParagraphs apply only to in-app-purchase items: maxFreeParagraphs is the number of body paragraphs shown as a free p...1 params

Retrieve one CMS map item for the current app by map item id. Use cms_list_maps first when the map item id is unknown. The response fields accessTier and maxFreeParagraphs apply only to in-app-purchase items: maxFreeParagraphs is the number of body paragraphs shown as a free p...

Parameters* required
idinteger
Map item id returned by cms_list_maps.
cms_create_mapCreate one CMS map (point of interest) item for the current app. Use cms_list_cms_sections with type='maps' first to discover map category ids.17 params

Create one CMS map (point of interest) item for the current app. Use cms_list_cms_sections with type='maps' first to discover map category ids.

Parameters* required
metaobject
Optional SEO metadata.
slugstring
Optional URL slug; the server may normalize it.
emailstring
Optional contact email for the map point.
titlestring
Map point name shown in feeds and on the item page.
leadinstring
Optional map point deck HTML.
statusstring
Publication status. Omit to default to published.one of published · draft · stock
addressstring
Street or place address of the point of interest.
websitestring
Optional website URL for the map point.
latitudenumber
Latitude of the point in decimal degrees.
longitudenumber
Longitude of the point in decimal degrees.
accessTierstring
Paywall tier. 'premium' locks the item behind an in-app purchase; 'free' leaves it open. Applies only to apps that sell in-app purchases.one of free · premium
categoriesarray
Map category ids returned by cms_list_cms_sections.
phoneNumberstring
Optional contact phone number for the map point.
publishedDatestring
Optional future publication date. Requires status='stock' when provided.
commentsEnabledboolean
Whether end-user comments are enabled for this map item.
useThumbAsPinIconboolean
Whether the map item thumbnail is used as the map pin icon. On create the server stores this as off; set a thumbnail via a photo paragraph first, then update this flag.
publicationEndDatestring
Optional future unpublication date in RFC 3339 format.
cms_update_mapUpdate one CMS map item for the current app by map item id. Provide at least one field to change.18 params

Update one CMS map item for the current app by map item id. Provide at least one field to change.

Parameters* required
idinteger
Map item id returned by cms_list_maps.
metaobject
Replacement SEO metadata.
slugstring
Replacement URL slug; the server may normalize it.
emailstring
Replacement contact email for the map point.
titlestring
Replacement map point name.
leadinstring
Replacement map point deck HTML.
statusstring
Replacement publication status.one of published · draft · stock
addressstring
Replacement street or place address; cannot be cleared.
websitestring
Replacement website URL for the map point.
latitudenumber
Replacement latitude in decimal degrees.
longitudenumber
Replacement longitude in decimal degrees.
accessTierstring
Replacement paywall tier. 'premium' locks the item behind an in-app purchase; 'free' leaves it open. Applies only to apps that sell in-app purchases.one of free · premium
categoriesarray
Replacement map category ids returned by cms_list_cms_sections.
phoneNumberstring
Replacement contact phone number for the map point.
publishedDatestring
Optional future publication date. Requires status='stock' when provided.
commentsEnabledboolean
Whether end-user comments are enabled for this map item.
useThumbAsPinIconboolean
Whether the map item thumbnail is used as the map pin icon.
publicationEndDatestring
Optional future unpublication date. Send an empty string to clear an existing scheduled unpublication.
cms_delete_mapDelete one CMS map item for the current app by map item id. Use cms_get_map or cms_list_maps first to confirm the target.1 params

Delete one CMS map item for the current app by map item id. Use cms_get_map or cms_list_maps first to confirm the target.

Parameters* required
idinteger
Map item id returned by cms_list_maps.
cms_list_map_paragraphsList body paragraphs for one CMS map item, sorted by paragraph position.1 params

List body paragraphs for one CMS map item, sorted by paragraph position.

Parameters* required
idinteger
Map item id returned by cms_list_maps.
cms_create_map_paragraphCreate one body paragraph under a CMS map item. Paragraph type must be text, photo, quote, or embed. Required fields depend on the paragraph type.8 params

Create one body paragraph under a CMS map item. Paragraph type must be text, photo, quote, or embed. Required fields depend on the paragraph type.

Parameters* required
idinteger
Map item id returned by cms_list_maps.
typestring
Paragraph body-block kind.one of text · photo · quote · embed
captionstring
Optional caption for photo paragraphs.
contentstring
Required for text and quote paragraphs.
embedUrlstring
Required embed HTML for embed paragraphs. Set an explicit iframe width and height (for example 100%) so the block renders at a visible size.
positioninteger
Optional 1-based insert position; omit to append.
isThumbnailboolean
Whether a photo paragraph should be used as the map item thumbnail.
originalThumbnailstring
Required image URL, data URI, or base64 source for photo paragraphs.
cms_get_map_paragraphRetrieve one body paragraph by map item id and paragraph id.2 params

Retrieve one body paragraph by map item id and paragraph id.

Parameters* required
idinteger
Map item id returned by cms_list_maps.
paragraph_idinteger
Paragraph id returned by cms_list_map_paragraphs.

GoodBarber Skills

44 AI-powered skills to manage your GoodBarber app with any MCP-compatible client — eCommerce, Community, Membership, and CMS.

These skills connect to the GoodBarber MCP server and give your AI assistant structured workflows to manage your products, orders, customers, promotions, subscriptions, content, analytics, and more — all from a conversational interface.


What are Skills?

Skills are instruction files (.md) that teach an AI assistant how to perform specific tasks using your GoodBarber app's API via MCP (Model Context Protocol). Instead of manually calling API tools one by one, a skill orchestrates the full workflow — from data retrieval to formatted report — in a single natural-language request.

For example, asking "Show me my best sellers this month" triggers the best-sellers skill, which automatically fetches your orders and catalog, computes rankings, and returns a formatted report.


Quick Start

1. Connect the GoodBarber MCP

You need to add the GoodBarber MCP server as a custom connector in your client. The MCP server uses Server-Sent Events (SSE).

MCP Server URLs:

SetupURL
Single apphttps://mcp.goodbarber.dev/mcp/sse
Multiple appshttps://mcp.goodbarber.dev/<app_id>/mcp/sse

Replace <app_id> with your GoodBarber app ID if you manage multiple apps.

Authentication: the GoodBarber MCP server uses a browser-based OAuth flow.

When your MCP client connects to the SSE endpoint, it may open an authorization page on mcp.goodbarber.dev. On that page, you will be asked to paste your GoodBarber Public API key and validate the authorization. Generate your Public API key from your app's GoodBarber backoffice, on the Public API / MCP server page.

Important:

  • Do not open the /authorize URL manually in your browser.
  • Start from the MCP client by connecting to the SSE endpoint.
  • The client generates the full authorization request parameters automatically (redirect_uri, client_id, state, code_challenge, etc.).

If you open the authorization page manually without those parameters, the authentication will fail.

Claude Desktop (Cowork):

  1. Open Settings > Connectors
  2. Click Add custom connector
  3. Enter the MCP server URL above
  4. The connector opens the GoodBarber authorization page — paste your Public API key there and validate

Claude Code (CLI):

# Single app
claude mcp add goodbarber --transport sse https://mcp.goodbarber.dev/mcp/sse

# Multiple apps
claude mcp add goodbarber --transport sse https://mcp.goodbarber.dev/<app_id>/mcp/sse

Then start a Claude Code session — on the first GoodBarber tool call, the CLI will open the GoodBarber authorization page in your browser. Paste your Public API key there and validate to complete the OAuth flow.

Cursor / VS Code / Windsurf:

Add to your MCP configuration file (.cursor/mcp.json, .vscode/mcp.json, etc.):

{
  "mcpServers": {
    "goodbarber": {
      "url": "https://mcp.goodbarber.dev/mcp/sse"
    }
  }
}

The first connection from your client triggers the OAuth flow in your browser — paste your Public API key on the GoodBarber authorization page and validate.

Any other MCP-compatible client:

Point your client to the SSE endpoint above. The GoodBarber MCP server follows the standard MCP protocol and works with any compliant client.

2. Install the skills

Clone this repo and copy only the skills for your app type:

git clone https://github.com/goodbarber/goodbarber-skills.git

Note: the examples below use Claude's local skills directory (~/.claude/skills/). If you use another client, copy the skill folders to the directory expected by that client.

eCommerce app:

cp -r goodbarber-skills/skills/ecommerce/* ~/.claude/skills/

Community app:

cp -r goodbarber-skills/skills/community/* ~/.claude/skills/

Membership app:

cp -r goodbarber-skills/skills/membership/* ~/.claude/skills/

CMS / Content (any app with content sections):

cp -r goodbarber-skills/skills/cms/* ~/.claude/skills/

Tip: CMS skills are cross-cutting — install them alongside any app type that has content sections (articles, agenda, maps, galleries, videos, sounds).

Tip: If your GoodBarber app combines multiple types (e.g. eCommerce + Membership), install skills from both directories.

Warning: some skill names are shared across app types (for example weekly-digest, traffic-report, push-broadcast, or push-targeted). If you install skills from multiple directories into the same destination, rename them or place them in separate namespaces to avoid collisions.

3. Verify

Ask your AI assistant: "What skills do you have?" — it should list the installed GoodBarber skills.


Skills by App Type

eCommerce (18 skills)

Catalog & Products
SkillDescription
best-sellersRank products by sales volume and revenue over a given period
catalog-auditDetect incomplete product sheets (missing images, descriptions, variants)
low-performersIdentify products with zero or very low sales
orphan-productsFind products not assigned to any collection
product-launchGuided creation of a full product with variants, images, and SEO
stock-checkAudit stock levels — flag out-of-stock and low-stock items
reorder-plannerGenerate a supplier-ready replenishment queue based on sales velocity
Orders & Customers
SkillDescription
order-followupTo-do list of orders to process (pending, to ship, to deliver)
customer-insightsSegment customers into VIP, loyal, dormant, and one-shot profiles
rfm-segmentationRecency / Frequency / Monetary customer segmentation
prospect-nurturePrioritize prospects and suggest conversion actions
Promotions
SkillDescription
promo-campaignCreate a promo code + send an announcement push in one workflow
promo-performance-reviewAnalyze promo impact: before, during, and after the campaign
Analytics & Communication
SkillDescription
traffic-reportApp-level analytics: page views, launches, sessions, platforms
kpi-monitorThreshold-based daily/weekly KPI health alerts
weekly-digestAutomated weekly business recap
push-broadcastCompose, preview, schedule, and send a push notification to all customers
push-targetedCompose, preview, schedule, and send a push to specific customers or prospects

Community (5 skills)

SkillDescription
traffic-reportApp analytics: page views, launches, sessions by platform
push-broadcastSend a push to everyone or to specific community groups
push-targetedSend a push to specific community users
device-landscapePlatform distribution, top devices, OS versions
weekly-digestWeekly community activity recap

Membership (10 skills)

Subscriptions
SkillDescription
subscription-auditActive vs expired, churn rate, at-risk subscribers, winback opportunities
expiration-calendarUpcoming subscription expirations timeline
longest-subscribersIdentify your most loyal long-term subscribers
internal-subscription-grantCreate, update, or revoke internal subscriptions
Users & Analytics
SkillDescription
prospect-followupPrioritize membership prospects for conversion
traffic-reportApp analytics: page views, launches, sessions by platform
push-broadcastSend a push notification to all eligible users
push-targetedSend a push to specific users or subscription-status audiences
device-landscapePlatform distribution, top devices, OS versions
weekly-digestWeekly membership business recap

CMS / Content (11 skills)

Skills for managing editorial content — articles, agenda events, map points of interest, photo galleries, videos, and sounds. Work with any GoodBarber app that has CMS content sections.

Authoring & Publishing
SkillDescription
article-publishGuided creation of a full article: body paragraphs, category, slug, scheduling, paywall
event-publishCreate an agenda event with start/end datetime, location, and body content
place-publishCreate a map point of interest (address + coordinates) with description
gallery-builderBatch-upload images into a photo gallery and set titles/status
article-restructureReorder, clean, and fix the body paragraphs of an existing article
Quality & Governance
SkillDescription
content-auditDetect incomplete content across all types (no cover, empty body, missing dates/coords)
draft-reviewSurface stale drafts and unfinished content with a recommended next step
paywall-auditIAP apps: check premium content has a coherent free preview (accessTier, maxFreeParagraphs)
stale-content-refreshRank aging articles as refresh, re-promote, or retire candidates
Planning & Recap
SkillDescription
editorial-calendarForward view: scheduled publications, upcoming events, expiring content
weekly-digestWhat published this week + what's scheduled next week, by content type

Note: weekly-digest, traffic-report, push-broadcast, and push-targeted names recur across app types. The CMS skills are namespaced by a cms- prefix in their frontmatter (e.g. cms-weekly-digest) to avoid collisions — keep them in a separate folder if you install skills from multiple directories.


Usage Examples

"Show me my best sellers this month"
→ best-sellers

"Any products running low on stock?"
→ stock-check

"Create a 20% promo code for summer and notify everyone"
→ promo-campaign

"How's my churn rate looking?"
→ subscription-audit

"Send a push to the Paris group: meetup Friday at 7pm"
→ push-broadcast (community)

"Send a push to Marie and Alex: your item is back in stock"
→ push-targeted (eCommerce)

"Notify expired subscribers about the renewal offer tomorrow at 9am"
→ push-targeted (membership)

"Give me my weekly digest"
→ weekly-digest

"Write and publish an article about our new opening hours"
→ article-publish (cms)

"What content is scheduled to go live next week?"
→ editorial-calendar (cms)

"Audit my content for missing covers and empty posts"
→ content-audit (cms)

Design Principles

All skills follow these rules:

  • Pagination-aware — Large datasets are filtered server-side, not blindly paginated
  • Fuzzy matching — Mention a product or collection by name; the skill resolves it
  • Workflow chaining — Every skill suggests 2–3 related skills to run next
  • No destructive actions without confirmation — Mutations always require explicit user validation
  • Structured output — Every skill returns a formatted report, not a one-liner

Compatibility

These skills work with any MCP-compatible AI client, including:

  • Claude Desktop (Cowork)
  • Claude Code (CLI)
  • Cursor
  • VS Code (Copilot, Claude, Cline, etc.)
  • Windsurf
  • Codex CLI
  • Gemini CLI
  • Any client supporting the Model Context Protocol

Repo Structure

goodbarber-skills/
├── README.md
└── skills/
    ├── ecommerce/
    │   ├── best-sellers/SKILL.md
    │   ├── catalog-audit/SKILL.md
    │   ├── customer-insights/SKILL.md
    │   ├── ...
    │   ├── push-targeted/SKILL.md
    │   └── weekly-digest/SKILL.md
    ├── community/
    │   ├── device-landscape/SKILL.md
    │   ├── push-broadcast/SKILL.md
    │   ├── push-targeted/SKILL.md
    │   ├── traffic-report/SKILL.md
    │   └── weekly-digest/SKILL.md
    ├── membership/
    │   ├── subscription-audit/SKILL.md
    │   ├── expiration-calendar/SKILL.md
    │   ├── ...
    │   ├── push-broadcast/SKILL.md
    │   ├── push-targeted/SKILL.md
    │   └── weekly-digest/SKILL.md
    └── cms/
        ├── article-publish/SKILL.md
        ├── content-audit/SKILL.md
        ├── editorial-calendar/SKILL.md
        ├── ...
        └── weekly-digest/SKILL.md

Contributing

Want to add a skill? Create a folder in skills/<app-type>/ with a SKILL.md file. Follow the existing format: YAML frontmatter (name, description, compatibility) + markdown instructions with tool workflow, input/output contracts, and guardrails.

License

The Unlicense — public domain, no restrictions.

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Registryactive
TransportSSE
UpdatedJun 1, 2026
View on GitHub