Start with your product URL.
Your agent fetches the details and images for you to review, then saves your listing. Finish badge setup or payment afterward.
Read https://usefulshelf.co/submit.md and help me list this project. 1. Connect UsefulShelf MCP and sign in. Get the listing options and check my saved apps so we reuse an existing listing. 2. Start with the public product URL. Draft its name, tagline, details and images using supported facts, and preserve my edits. Choose exactly one category for its main purpose: ai-tools, productivity, marketing, seo, directories, automation, boilerplates, developer-tools, writing, design, no-code, community, education, email-marketing, chrome-extensions, freelancer-tools, analytics, ai-agents, social, content-creation, finance, ecommerce, website-builders, ios, video, monitoring, remote-work, chatbots, blogging, sales, customer-support, developer-apis, building-products, productized-services, health, games, other. Add up to 10 tags only when the website confirms them (Pricing: free, free-trial, freemium, one-time-purchase, subscription, usage-based, lifetime-deal, custom-pricing; Platforms: web-app, android-app, ios-app, mac-app, windows-app, linux-app, browser-extension; Features: ai-powered, api, open-source, self-hosted; Tool type: cli, plugin, ide-extension, mcp-server, library). 3. Ask one missing question at a time and let me skip any of them: What does your app do? Who is it built for? What problem does it solve? How does someone use it? What can people do with it? What makes it different? When would someone use it? What does it cost? Where can people use it? Never invent missing facts. 4. Combine supported answers into a concise description of at most 2,000 characters including headings. Show the complete draft. Explain all three choices: tier="free", a free listing with a verified visible badge and priority above other free listings; tier="featured", $9 once for directory priority without a badge, with payment before automated review; tier="nofollow", a free listing without a badge. All require review. Featured and badge-verified free listings use dofollow website links; free listings without a badge use nofollow. Respect the user's choice and never switch plans without asking. Get my confirmation before submitting or updating. 5. Save first, keep the listing ID, then follow the chosen plan's review, badge or checkout steps. Report whether it is public or private and the next action. Never promise rankings or AI recommendations.
Connect your client
Choose your editor, run the setup, then sign in when prompted.
Need just the server URL?
https://usefulshelf.co/mcp
Streamable HTTP with OAuth. Your client opens a browser to sign in; there are no API keys to paste.
Give your agent the task
Pick your listing option. Your agent gets a saved listing ID and a next step.
Copy the prompt for your coding agent:
Use UsefulShelf MCP at https://usefulshelf.co/mcp to list this project. Help me connect and sign in with my existing UsefulShelf account if needed. First call get_listing_options and list_my_apps. Reuse a matching saved listing instead of submitting a duplicate. Show proposed edits and get my confirmation before calling update_app with its saved ID and only the fields being changed. Edits return it to private review and preserve its existing plan; report the returned next action. Ask one missing product question at a time and allow any to be skipped: What does your app do? Who is it built for? What problem does it solve? How does someone use it? What can people do with it? What makes it different? When would someone use it? What does it cost? Where can people use it? Preserve edits and obtain my confirmation of the completed draft and plan before submit_app or update_app. Never invent pricing, platforms or claims, or promise rankings or AI recommendations. If none exists, call draft_app with its public URL, preserve my edits, keep the extracted logo and website screenshot, with the social image as fallback, inspect this project to fill missing details, and use at most 10 tags the website supports (Pricing: free, free-trial, freemium, one-time-purchase, subscription, usage-based, lifetime-deal, custom-pricing; Platforms: web-app, android-app, ios-app, mac-app, windows-app, linux-app, browser-extension; Features: ai-powered, api, open-source, self-hosted; Tool type: cli, plugin, ide-extension, mcp-server, library). Category is required and must be exactly one of these slugs, described in get_listing_options: ai-tools, productivity, marketing, seo, directories, automation, boilerplates, developer-tools, writing, design, no-code, community, education, email-marketing, chrome-extensions, freelancer-tools, analytics, ai-agents, social, content-creation, finance, ecommerce, website-builders, ios, video, monitoring, remote-work, chatbots, blogging, sales, customer-support, developer-apis, building-products, productized-services, health, games, other. Follow its categoryRule and pick the category whose description matches the main job people use this product for, not its tech stack, AI features, platform or pricing. Check the category from draft_app against those descriptions and replace it if a more specific one fits. Ask product questions separately and combine supported answers into a useful product profile. Ask one missing question at a time; optional answers may be skipped. Obtain maker confirmation of the final draft and plan before submitting. The tagline (10–120 characters) should say what the product does and who or what it is for, using a concrete action instead of a slogan. The optional description (up to 2,000 characters) should explain the product, intended users, problem, workflow, concrete features and practical uses when supported by the website. Use optional plain-text section headings on their own lines: About, Who is it for?, The problem, How it works, Key features, What makes it different, Use cases, Pricing, Platforms. Start with About and choose only the sections supported by the product website. Separate paragraphs with blank lines; use - bullets for features or use cases. Headings may also use a ## prefix or trailing colon. Omit unknown or empty sections. Existing plain paragraphs are also accepted. Aim for 600–1,600 characters when evidence supports it; write less when facts are sparse. Use neutral third-person language. Do not repeat the tagline, pad, use HTML, calls to action, superlatives, keyword lists, invented reviews, metrics or promises. Include pricing, platforms, integrations or limitations only when explicitly supported. Never invent missing details; omit them or ask the maker. Call submit_app with accurate details and tier="featured". Give me the $9 checkout URL to open myself before automatic review. Confirmed payment starts review; if it cannot approve the app, keep it paid and private for manual approval. If checkout fails, keep the saved listing ID and use upgrade_to_featured to retry. Never submit again to retry payment. Never bypass a rejected review. If automatic review fails, report the reason and concrete next action; do not repeatedly poll pending status. Report the saved listing ID if one exists, its final category, whether it is public or private, and the next action. Only call it published when its status is live.
Use UsefulShelf MCP at https://usefulshelf.co/mcp to list this project. Help me connect and sign in with my existing UsefulShelf account if needed. First call get_listing_options and list_my_apps. Reuse a matching saved listing instead of submitting a duplicate. Show proposed edits and get my confirmation before calling update_app with its saved ID and only the fields being changed. Edits return it to private review and preserve its existing plan; report the returned next action. Ask one missing product question at a time and allow any to be skipped: What does your app do? Who is it built for? What problem does it solve? How does someone use it? What can people do with it? What makes it different? When would someone use it? What does it cost? Where can people use it? Preserve edits and obtain my confirmation of the completed draft and plan before submit_app or update_app. Never invent pricing, platforms or claims, or promise rankings or AI recommendations. If none exists, call draft_app with its public URL, preserve my edits, keep the extracted logo and website screenshot, with the social image as fallback, inspect this project to fill missing details, and use at most 10 tags the website supports (Pricing: free, free-trial, freemium, one-time-purchase, subscription, usage-based, lifetime-deal, custom-pricing; Platforms: web-app, android-app, ios-app, mac-app, windows-app, linux-app, browser-extension; Features: ai-powered, api, open-source, self-hosted; Tool type: cli, plugin, ide-extension, mcp-server, library). Category is required and must be exactly one of these slugs, described in get_listing_options: ai-tools, productivity, marketing, seo, directories, automation, boilerplates, developer-tools, writing, design, no-code, community, education, email-marketing, chrome-extensions, freelancer-tools, analytics, ai-agents, social, content-creation, finance, ecommerce, website-builders, ios, video, monitoring, remote-work, chatbots, blogging, sales, customer-support, developer-apis, building-products, productized-services, health, games, other. Follow its categoryRule and pick the category whose description matches the main job people use this product for, not its tech stack, AI features, platform or pricing. Check the category from draft_app against those descriptions and replace it if a more specific one fits. Ask product questions separately and combine supported answers into a useful product profile. Ask one missing question at a time; optional answers may be skipped. Obtain maker confirmation of the final draft and plan before submitting. The tagline (10–120 characters) should say what the product does and who or what it is for, using a concrete action instead of a slogan. The optional description (up to 2,000 characters) should explain the product, intended users, problem, workflow, concrete features and practical uses when supported by the website. Use optional plain-text section headings on their own lines: About, Who is it for?, The problem, How it works, Key features, What makes it different, Use cases, Pricing, Platforms. Start with About and choose only the sections supported by the product website. Separate paragraphs with blank lines; use - bullets for features or use cases. Headings may also use a ## prefix or trailing colon. Omit unknown or empty sections. Existing plain paragraphs are also accepted. Aim for 600–1,600 characters when evidence supports it; write less when facts are sparse. Use neutral third-person language. Do not repeat the tagline, pad, use HTML, calls to action, superlatives, keyword lists, invented reviews, metrics or promises. Include pricing, platforms, integrations or limitations only when explicitly supported. Never invent missing details; omit them or ask the maker. Call submit_app with accurate details and tier="featured". Give me the $9 checkout URL to open myself before automatic review. Confirmed payment starts review; if it cannot approve the app, keep it paid and private for manual approval. If checkout fails, keep the saved listing ID and use upgrade_to_featured to retry. Never submit again to retry payment. Never bypass a rejected review. If automatic review fails, report the reason and concrete next action; do not repeatedly poll pending status. Report the saved listing ID if one exists, its final category, whether it is public or private, and the next action. Only call it published when its status is live.
Use UsefulShelf MCP at https://usefulshelf.co/mcp to list this project. Help me connect and sign in with my existing UsefulShelf account if needed. First call get_listing_options and list_my_apps. Reuse a matching saved listing instead of submitting a duplicate. Show proposed edits and get my confirmation before calling update_app with its saved ID and only the fields being changed. Edits return it to private review and preserve its existing plan; report the returned next action. Ask one missing product question at a time and allow any to be skipped: What does your app do? Who is it built for? What problem does it solve? How does someone use it? What can people do with it? What makes it different? When would someone use it? What does it cost? Where can people use it? Preserve edits and obtain my confirmation of the completed draft and plan before submit_app or update_app. Never invent pricing, platforms or claims, or promise rankings or AI recommendations. If none exists, call draft_app with its public URL, preserve my edits, keep the extracted logo and website screenshot, with the social image as fallback, inspect this project to fill missing details, and use at most 10 tags the website supports (Pricing: free, free-trial, freemium, one-time-purchase, subscription, usage-based, lifetime-deal, custom-pricing; Platforms: web-app, android-app, ios-app, mac-app, windows-app, linux-app, browser-extension; Features: ai-powered, api, open-source, self-hosted; Tool type: cli, plugin, ide-extension, mcp-server, library). Category is required and must be exactly one of these slugs, described in get_listing_options: ai-tools, productivity, marketing, seo, directories, automation, boilerplates, developer-tools, writing, design, no-code, community, education, email-marketing, chrome-extensions, freelancer-tools, analytics, ai-agents, social, content-creation, finance, ecommerce, website-builders, ios, video, monitoring, remote-work, chatbots, blogging, sales, customer-support, developer-apis, building-products, productized-services, health, games, other. Follow its categoryRule and pick the category whose description matches the main job people use this product for, not its tech stack, AI features, platform or pricing. Check the category from draft_app against those descriptions and replace it if a more specific one fits. Ask product questions separately and combine supported answers into a useful product profile. Ask one missing question at a time; optional answers may be skipped. Obtain maker confirmation of the final draft and plan before submitting. The tagline (10–120 characters) should say what the product does and who or what it is for, using a concrete action instead of a slogan. The optional description (up to 2,000 characters) should explain the product, intended users, problem, workflow, concrete features and practical uses when supported by the website. Use optional plain-text section headings on their own lines: About, Who is it for?, The problem, How it works, Key features, What makes it different, Use cases, Pricing, Platforms. Start with About and choose only the sections supported by the product website. Separate paragraphs with blank lines; use - bullets for features or use cases. Headings may also use a ## prefix or trailing colon. Omit unknown or empty sections. Existing plain paragraphs are also accepted. Aim for 600–1,600 characters when evidence supports it; write less when facts are sparse. Use neutral third-person language. Do not repeat the tagline, pad, use HTML, calls to action, superlatives, keyword lists, invented reviews, metrics or promises. Include pricing, platforms, integrations or limitations only when explicitly supported. Never invent missing details; omit them or ask the maker. Call submit_app with accurate details and tier="featured". Give me the $9 checkout URL to open myself before automatic review. Confirmed payment starts review; if it cannot approve the app, keep it paid and private for manual approval. If checkout fails, keep the saved listing ID and use upgrade_to_featured to retry. Never submit again to retry payment. Never bypass a rejected review. If automatic review fails, report the reason and concrete next action; do not repeatedly poll pending status. Report the saved listing ID if one exists, its final category, whether it is public or private, and the next action. Only call it published when its status is live.
Use UsefulShelf MCP at https://usefulshelf.co/mcp to list this project. Help me connect and sign in with my existing UsefulShelf account if needed. First call get_listing_options and list_my_apps. Reuse a matching saved listing instead of submitting a duplicate. Show proposed edits and get my confirmation before calling update_app with its saved ID and only the fields being changed. Edits return it to private review and preserve its existing plan; report the returned next action. Ask one missing product question at a time and allow any to be skipped: What does your app do? Who is it built for? What problem does it solve? How does someone use it? What can people do with it? What makes it different? When would someone use it? What does it cost? Where can people use it? Preserve edits and obtain my confirmation of the completed draft and plan before submit_app or update_app. Never invent pricing, platforms or claims, or promise rankings or AI recommendations. If none exists, call draft_app with its public URL, preserve my edits, keep the extracted logo and website screenshot, with the social image as fallback, inspect this project to fill missing details, and use at most 10 tags the website supports (Pricing: free, free-trial, freemium, one-time-purchase, subscription, usage-based, lifetime-deal, custom-pricing; Platforms: web-app, android-app, ios-app, mac-app, windows-app, linux-app, browser-extension; Features: ai-powered, api, open-source, self-hosted; Tool type: cli, plugin, ide-extension, mcp-server, library). Category is required and must be exactly one of these slugs, described in get_listing_options: ai-tools, productivity, marketing, seo, directories, automation, boilerplates, developer-tools, writing, design, no-code, community, education, email-marketing, chrome-extensions, freelancer-tools, analytics, ai-agents, social, content-creation, finance, ecommerce, website-builders, ios, video, monitoring, remote-work, chatbots, blogging, sales, customer-support, developer-apis, building-products, productized-services, health, games, other. Follow its categoryRule and pick the category whose description matches the main job people use this product for, not its tech stack, AI features, platform or pricing. Check the category from draft_app against those descriptions and replace it if a more specific one fits. Ask product questions separately and combine supported answers into a useful product profile. Ask one missing question at a time; optional answers may be skipped. Obtain maker confirmation of the final draft and plan before submitting. The tagline (10–120 characters) should say what the product does and who or what it is for, using a concrete action instead of a slogan. The optional description (up to 2,000 characters) should explain the product, intended users, problem, workflow, concrete features and practical uses when supported by the website. Use optional plain-text section headings on their own lines: About, Who is it for?, The problem, How it works, Key features, What makes it different, Use cases, Pricing, Platforms. Start with About and choose only the sections supported by the product website. Separate paragraphs with blank lines; use - bullets for features or use cases. Headings may also use a ## prefix or trailing colon. Omit unknown or empty sections. Existing plain paragraphs are also accepted. Aim for 600–1,600 characters when evidence supports it; write less when facts are sparse. Use neutral third-person language. Do not repeat the tagline, pad, use HTML, calls to action, superlatives, keyword lists, invented reviews, metrics or promises. Include pricing, platforms, integrations or limitations only when explicitly supported. Never invent missing details; omit them or ask the maker. Call submit_app with accurate details and tier="featured". Give me the $9 checkout URL to open myself before automatic review. Confirmed payment starts review; if it cannot approve the app, keep it paid and private for manual approval. If checkout fails, keep the saved listing ID and use upgrade_to_featured to retry. Never submit again to retry payment. Never bypass a rejected review. If automatic review fails, report the reason and concrete next action; do not repeatedly poll pending status. Report the saved listing ID if one exists, its final category, whether it is public or private, and the next action. Only call it published when its status is live.
Use UsefulShelf MCP at https://usefulshelf.co/mcp to list this project. Help me connect and sign in with my existing UsefulShelf account if needed. First call get_listing_options and list_my_apps. Reuse a matching saved listing instead of submitting a duplicate. Show proposed edits and get my confirmation before calling update_app with its saved ID and only the fields being changed. Edits return it to private review and preserve its existing plan; report the returned next action. Ask one missing product question at a time and allow any to be skipped: What does your app do? Who is it built for? What problem does it solve? How does someone use it? What can people do with it? What makes it different? When would someone use it? What does it cost? Where can people use it? Preserve edits and obtain my confirmation of the completed draft and plan before submit_app or update_app. Never invent pricing, platforms or claims, or promise rankings or AI recommendations. If none exists, call draft_app with its public URL, preserve my edits, keep the extracted logo and website screenshot, with the social image as fallback, inspect this project to fill missing details, and use at most 10 tags the website supports (Pricing: free, free-trial, freemium, one-time-purchase, subscription, usage-based, lifetime-deal, custom-pricing; Platforms: web-app, android-app, ios-app, mac-app, windows-app, linux-app, browser-extension; Features: ai-powered, api, open-source, self-hosted; Tool type: cli, plugin, ide-extension, mcp-server, library). Category is required and must be exactly one of these slugs, described in get_listing_options: ai-tools, productivity, marketing, seo, directories, automation, boilerplates, developer-tools, writing, design, no-code, community, education, email-marketing, chrome-extensions, freelancer-tools, analytics, ai-agents, social, content-creation, finance, ecommerce, website-builders, ios, video, monitoring, remote-work, chatbots, blogging, sales, customer-support, developer-apis, building-products, productized-services, health, games, other. Follow its categoryRule and pick the category whose description matches the main job people use this product for, not its tech stack, AI features, platform or pricing. Check the category from draft_app against those descriptions and replace it if a more specific one fits. Ask product questions separately and combine supported answers into a useful product profile. Ask one missing question at a time; optional answers may be skipped. Obtain maker confirmation of the final draft and plan before submitting. The tagline (10–120 characters) should say what the product does and who or what it is for, using a concrete action instead of a slogan. The optional description (up to 2,000 characters) should explain the product, intended users, problem, workflow, concrete features and practical uses when supported by the website. Use optional plain-text section headings on their own lines: About, Who is it for?, The problem, How it works, Key features, What makes it different, Use cases, Pricing, Platforms. Start with About and choose only the sections supported by the product website. Separate paragraphs with blank lines; use - bullets for features or use cases. Headings may also use a ## prefix or trailing colon. Omit unknown or empty sections. Existing plain paragraphs are also accepted. Aim for 600–1,600 characters when evidence supports it; write less when facts are sparse. Use neutral third-person language. Do not repeat the tagline, pad, use HTML, calls to action, superlatives, keyword lists, invented reviews, metrics or promises. Include pricing, platforms, integrations or limitations only when explicitly supported. Never invent missing details; omit them or ask the maker. Call submit_app with accurate details and tier="featured". Give me the $9 checkout URL to open myself before automatic review. Confirmed payment starts review; if it cannot approve the app, keep it paid and private for manual approval. If checkout fails, keep the saved listing ID and use upgrade_to_featured to retry. Never submit again to retry payment. Never bypass a rejected review. If automatic review fails, report the reason and concrete next action; do not repeatedly poll pending status. Report the saved listing ID if one exists, its final category, whether it is public or private, and the next action. Only call it published when its status is live.
Use UsefulShelf MCP at https://usefulshelf.co/mcp to list this project. Help me connect and sign in with my existing UsefulShelf account if needed. First call get_listing_options and list_my_apps. Reuse a matching saved listing instead of submitting a duplicate. Show proposed edits and get my confirmation before calling update_app with its saved ID and only the fields being changed. Edits return it to private review and preserve its existing plan; report the returned next action. Ask one missing product question at a time and allow any to be skipped: What does your app do? Who is it built for? What problem does it solve? How does someone use it? What can people do with it? What makes it different? When would someone use it? What does it cost? Where can people use it? Preserve edits and obtain my confirmation of the completed draft and plan before submit_app or update_app. Never invent pricing, platforms or claims, or promise rankings or AI recommendations. If none exists, call draft_app with its public URL, preserve my edits, keep the extracted logo and website screenshot, with the social image as fallback, inspect this project to fill missing details, and use at most 10 tags the website supports (Pricing: free, free-trial, freemium, one-time-purchase, subscription, usage-based, lifetime-deal, custom-pricing; Platforms: web-app, android-app, ios-app, mac-app, windows-app, linux-app, browser-extension; Features: ai-powered, api, open-source, self-hosted; Tool type: cli, plugin, ide-extension, mcp-server, library). Category is required and must be exactly one of these slugs, described in get_listing_options: ai-tools, productivity, marketing, seo, directories, automation, boilerplates, developer-tools, writing, design, no-code, community, education, email-marketing, chrome-extensions, freelancer-tools, analytics, ai-agents, social, content-creation, finance, ecommerce, website-builders, ios, video, monitoring, remote-work, chatbots, blogging, sales, customer-support, developer-apis, building-products, productized-services, health, games, other. Follow its categoryRule and pick the category whose description matches the main job people use this product for, not its tech stack, AI features, platform or pricing. Check the category from draft_app against those descriptions and replace it if a more specific one fits. Ask product questions separately and combine supported answers into a useful product profile. Ask one missing question at a time; optional answers may be skipped. Obtain maker confirmation of the final draft and plan before submitting. The tagline (10–120 characters) should say what the product does and who or what it is for, using a concrete action instead of a slogan. The optional description (up to 2,000 characters) should explain the product, intended users, problem, workflow, concrete features and practical uses when supported by the website. Use optional plain-text section headings on their own lines: About, Who is it for?, The problem, How it works, Key features, What makes it different, Use cases, Pricing, Platforms. Start with About and choose only the sections supported by the product website. Separate paragraphs with blank lines; use - bullets for features or use cases. Headings may also use a ## prefix or trailing colon. Omit unknown or empty sections. Existing plain paragraphs are also accepted. Aim for 600–1,600 characters when evidence supports it; write less when facts are sparse. Use neutral third-person language. Do not repeat the tagline, pad, use HTML, calls to action, superlatives, keyword lists, invented reviews, metrics or promises. Include pricing, platforms, integrations or limitations only when explicitly supported. Never invent missing details; omit them or ask the maker. Call submit_app with accurate details and tier="featured". Give me the $9 checkout URL to open myself before automatic review. Confirmed payment starts review; if it cannot approve the app, keep it paid and private for manual approval. If checkout fails, keep the saved listing ID and use upgrade_to_featured to retry. Never submit again to retry payment. Never bypass a rejected review. If automatic review fails, report the reason and concrete next action; do not repeatedly poll pending status. Report the saved listing ID if one exists, its final category, whether it is public or private, and the next action. Only call it published when its status is live.
Use UsefulShelf MCP at https://usefulshelf.co/mcp to list this project. Help me connect and sign in with my existing UsefulShelf account if needed. First call get_listing_options and list_my_apps. Reuse a matching saved listing instead of submitting a duplicate. Show proposed edits and get my confirmation before calling update_app with its saved ID and only the fields being changed. Edits return it to private review and preserve its existing plan; report the returned next action. Ask one missing product question at a time and allow any to be skipped: What does your app do? Who is it built for? What problem does it solve? How does someone use it? What can people do with it? What makes it different? When would someone use it? What does it cost? Where can people use it? Preserve edits and obtain my confirmation of the completed draft and plan before submit_app or update_app. Never invent pricing, platforms or claims, or promise rankings or AI recommendations. If none exists, call draft_app with its public URL, preserve my edits, keep the extracted logo and website screenshot, with the social image as fallback, inspect this project to fill missing details, and use at most 10 tags the website supports (Pricing: free, free-trial, freemium, one-time-purchase, subscription, usage-based, lifetime-deal, custom-pricing; Platforms: web-app, android-app, ios-app, mac-app, windows-app, linux-app, browser-extension; Features: ai-powered, api, open-source, self-hosted; Tool type: cli, plugin, ide-extension, mcp-server, library). Category is required and must be exactly one of these slugs, described in get_listing_options: ai-tools, productivity, marketing, seo, directories, automation, boilerplates, developer-tools, writing, design, no-code, community, education, email-marketing, chrome-extensions, freelancer-tools, analytics, ai-agents, social, content-creation, finance, ecommerce, website-builders, ios, video, monitoring, remote-work, chatbots, blogging, sales, customer-support, developer-apis, building-products, productized-services, health, games, other. Follow its categoryRule and pick the category whose description matches the main job people use this product for, not its tech stack, AI features, platform or pricing. Check the category from draft_app against those descriptions and replace it if a more specific one fits. Ask product questions separately and combine supported answers into a useful product profile. Ask one missing question at a time; optional answers may be skipped. Obtain maker confirmation of the final draft and plan before submitting. The tagline (10–120 characters) should say what the product does and who or what it is for, using a concrete action instead of a slogan. The optional description (up to 2,000 characters) should explain the product, intended users, problem, workflow, concrete features and practical uses when supported by the website. Use optional plain-text section headings on their own lines: About, Who is it for?, The problem, How it works, Key features, What makes it different, Use cases, Pricing, Platforms. Start with About and choose only the sections supported by the product website. Separate paragraphs with blank lines; use - bullets for features or use cases. Headings may also use a ## prefix or trailing colon. Omit unknown or empty sections. Existing plain paragraphs are also accepted. Aim for 600–1,600 characters when evidence supports it; write less when facts are sparse. Use neutral third-person language. Do not repeat the tagline, pad, use HTML, calls to action, superlatives, keyword lists, invented reviews, metrics or promises. Include pricing, platforms, integrations or limitations only when explicitly supported. Never invent missing details; omit them or ask the maker. Call submit_app with accurate details and tier="featured". Give me the $9 checkout URL to open myself before automatic review. Confirmed payment starts review; if it cannot approve the app, keep it paid and private for manual approval. If checkout fails, keep the saved listing ID and use upgrade_to_featured to retry. Never submit again to retry payment. Never bypass a rejected review. If automatic review fails, report the reason and concrete next action; do not repeatedly poll pending status. Report the saved listing ID if one exists, its final category, whether it is public or private, and the next action. Only call it published when its status is live.
Finish and follow your progress
Your listing is saved first. Add a badge or complete payment afterward if your plan requires it.
If you lose the conversation, ask your agent to call list_my_apps. Your saved listings include their status and the next action. You can also finish in My tools.
Looking for an app instead?
Ask your agent to search the shelf.
Use the UsefulShelf search_apps tool to find apps that help freelancers manage invoices. For each app, show its logo if you can display images, then its name, category, a two-sentence summary of its description, its pricing and platform tags, and links to its website (trackedUrl) and UsefulShelf listing (listingUrl). Tell me how many apps matched in total. Directory order reflects listing plans, not a quality ranking.
Available tools
29 tools your agent can use after connecting.
get_listing_options | Start here: available categories, $0 and $9 plans, and publishing requirements. |
|---|---|
update_app | Edit the content of an existing owned listing. Preserves omitted fields and its plan, and returns it to review. |
search_apps | Browse every public app on the shelf, or filter by name, use case or category. Returns descriptions, logos, tags and links your agent can cite. |
draft_app | Draft separate, editable product answers, supported facts and images from a website; return missing questions without saving. |
check_submission_badge | Check the deployed badge before a free badge submission, without saving anything. |
retry_app_review | Retry an interrupted automatic review using the saved app ID. |
submit_app | Submit your app. Free with badge needs review and badge verification; Featured needs review and payment; free without badge needs only review. |
list_my_apps | See every app you submitted with its status, link and badge state. |
get_app_status | Status of one app, including why it was rejected. |
get_badge_snippet | Badge HTML plus a ready prompt telling your agent where to put it. |
verify_badge | Verify the deployed badge and publish your app once its review is approved. |
use_nofollow_listing | Publish an approved listing with a free website link marked nofollow, without a badge. |
upgrade_to_featured | Get a $9 one-time checkout link for a Featured listing without a badge; its website link is dofollow. |
check_url | Run the indexability checker on any URL. |
get_ad_options | Check the $99 one-time, 30-day sponsored homepage placement and current slot availability. |
list_my_ads | See your saved ad bookings, visibility, run dates and checkout expiry. |
book_ad | Reserve or resume a $99 homepage ad for an owned live app. Returns a checkout URL. |
meta-tag-generator | Create page titles, descriptions, and social sharing tags. Copy the HTML into your website. |
serp-preview | See how your title and description could look in a mobile or desktop search result. |
robots-txt-generator | Choose which paths crawlers should skip and point them to your sitemap. |
xml-sitemap-generator | Turn a list of public page URLs into a sitemap you can download. |
software-schema-generator | Describe your app with structured data based on its real features and platforms. |
llms-txt-generator | Make an optional reading guide with your website summary and useful public links. |
utm-builder | Add campaign tags to a link so you can see which posts and emails bring visitors. |
word-counter | Count words, characters, sentences, and reading time for any text you paste. |
slug-generator | Turn page titles into short, readable URL slugs, one per line. |
faq-schema-generator | Turn questions and answers from your page into FAQPage structured data. |
mailto-link-generator | Create an email link with a prefilled subject and message for your site. |
whatsapp-link-generator | Create a click-to-chat WhatsApp link with an optional prefilled message. |
A few useful answers
Frequently asked questions
What can my agent do with the UsefulShelf MCP server?
Browse every reviewed public app on the shelf with its description, logo, category, tags and links, or filter by name, use case or category. You can also draft and submit your own listing, check its review status, verify your badge and run the free SEO tools. Search returns live public listings from all makers, and account tools only show listings you submitted.
Do I need an API key?
No. The server uses OAuth. When you connect, your client opens a browser window where you sign in to your UsefulShelf account. Never paste your password, cookies or tokens into a chat with your agent.
Which agents and editors work?
Any MCP client that supports remote Streamable HTTP servers with OAuth sign-in. This page has setup steps for Claude Code, Codex CLI, Cursor, VS Code, Antigravity, Hermes Agent, Claude.ai and Claude Desktop.
What is the fastest way to list my app with an agent?
Paste the prompt at the top of this page into your coding agent. It reads the listing guide, connects the MCP server for your editor, asks you to sign in and to choose a plan, drafts the listing from your public website, asks one missing question at a time, and shows the complete draft and plan for your confirmation before submitting. It then reports the saved state and next step.
Does my app need AI features or its own MCP server?
No. Any useful app, SaaS product or website in our categories can be listed. MCP is only how your agent talks to UsefulShelf. You can also use the website form.
Is my listing public as soon as my agent submits it?
No. Every listing stays private until review approval. Free with badge listings also need a verified visible badge. For Featured, payment comes first, followed by automatic review; failed automatic review stays paid and private for manual approval. Free without badge listings need only review. Until then the listing stays private.
Does connecting cost anything?
No. Connecting, searching and both free listing options cost nothing. Featured is $9 once, and you open the checkout link yourself before automated review. It stays private until approval.
The UsefulShelf tools do not appear. What should I do?
Check that the server URL is exactly https://usefulshelf.co/mcp, finish the browser sign-in, then start a new agent session. In Claude Code, type /mcp and choose Authenticate. If your agent loses track of a submission, ask it to call list_my_apps, or finish in My tools.