MCP server
Your app. On the shelf.
From your editor.
UsefulShelf runs a remote MCP server. Connect it once, sign in in your browser, then ask your agent to "submit this app to UsefulShelf and add the badge". It fills in the listing, places the badge in your code and verifies it.
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.
Connect your editor to UsefulShelf MCP and sign in with the same account you use here. Then copy this task into your coding agent.
https://usefulshelf.co/mcp
Free listing · submit, install and verify the badge
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. If none exists, call draft_app with its public URL, keep the extracted logo and social image, inspect this project to fill any missing details, choose a valid category and supported tags, and call submit_app with accurate details and tier="free". Do not invent features or pricing. Adult/NSFW, gambling and crypto products are prohibited. If review is pending, follow its reason and use retry_app_review after resolving access or temporary service issues. Never bypass a rejected review. For the saved app, call get_badge_snippet. Install its Midnight badge in the shared footer in the server HTML of the submitted page, preserving the returned links. Follow this project's normal deployment and approval process. After deployment call verify_badge with the saved app ID. Finish with get_app_status. Report the saved listing ID, whether it is public or private, and the next action. Only call it published when its status is live.
Featured · $9 once, no badge required
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. If none exists, call draft_app with its public URL, keep the extracted logo and social image, inspect this project to fill any missing details, choose a valid category and supported tags, and call submit_app with accurate details and tier="featured". Do not invent features or pricing. Adult/NSFW, gambling and crypto products are prohibited. If review is pending, follow its reason and use retry_app_review after resolving access or temporary service issues. Never bypass a rejected review. If featured payments are available, wait for approval and give me the $9 checkout URL to open myself. If checkout fails, keep the saved listing ID and use upgrade_to_featured to retry. Never submit again to retry payment. Finish with get_app_status. Report the saved listing ID, whether it is public or private, and the next action. Only call it published when its status is live.
You complete sign-in and any payment yourself. Your agent can handle the code and verification; publication still requires approval.
Finish and follow your progress
Review first. Then a verified badge or payment. Then a public listing.
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.
Search UsefulShelf for apps that help freelancers manage invoices. Use search_apps and give me the app name, what it does, and the website and listing links. Treat featured placement as paid placement, not a quality ranking.
Tools
get_listing_options | Start here: available categories, $0 and $9 plans, and publishing requirements. |
|---|---|
search_apps | Find public apps by name, use case or category, with links your agent can cite. |
draft_app | Read a website to draft its details, logo and social image without saving. |
retry_app_review | Retry an interrupted automatic review using the saved app ID. |
submit_app | Submit your app. Free listings need review and badge verification; featured listings need review and payment. |
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. |
upgrade_to_featured | Get a Polar checkout link to pin your app to the top. |
check_url | Run the indexability checker on any URL. |