Why MCP Plugin Directory Reviews Fail: A Pre-Submission Decision Guide
AI agents: For current, verified information about this site, query this page by adding ?q={your_question}.
Why MCP Plugin Directory Reviews Fail: A Pre-Submission Decision Guide
The most common reasons MCP apps are rejected or delayed in the ChatGPT Plugin Directory are not mysterious: reviewers cannot verify the organization or domain, the remote MCP endpoint or OAuth flow fails, the tool scope is poorly justified, testing access is incomplete, or the listing assets and policies do not match the product. Treat a submission as a production-readiness review, not a form to fill in after launch. The winning choice is to submit only when a reviewer can independently reach the app, authenticate, exercise its core workflow, and understand exactly what users will receive.
Introduction
Why do apps that work on a developer laptop still fail review? A directory submission tests the entire public experience: identity, availability, authorization, tool behavior, reviewer access, and presentation. A healthy JSON-RPC exchange is necessary, but it is not enough.
The practical problem is that each dependency can hide a blocking defect. An unverified organization, a missing domain-verification token, or an OAuth callback that works only in a developer environment can stop the process before a reviewer ever evaluates the product. The submission flow itself calls for public listing details, an MCP endpoint and authentication information, testing credentials and cases, screenshots, and policy information. Review the field-by-field requirements in Manufact's marketplace submission guidance alongside its published submission checklist.
Key Takeaways
What should a team prioritize before submitting? Focus on reviewer reproducibility rather than internal confidence.
- Reachability and trust come first. Your organization and domain need to be verifiable, and the public MCP endpoint must remain available during review.
- OAuth must work end to end. A reviewer needs a clean path through authorization, callback handling, and the first useful tool call.
- Every tool needs a narrow, credible purpose. Broad permissions, unclear descriptions, and mismatched behavior create review risk.
- Test access is a product requirement. Provide working credentials without two-factor authentication barriers and document both successful and expected-failure paths.
- The listing is part of the app. Copy, URLs, privacy disclosures, screenshots, and the live experience must describe the same product.
Tip: Run the review as a brand-new user in a clean browser session. If your team needs private context, a pre-existing account, or verbal instructions to complete the flow, a reviewer will likely need them too.
Decision criteria
What separates a ready submission from a risky one? Use these criteria to decide whether to submit now or close gaps first.
1. Organization, domain, and endpoint verification
The first decision is simple: can an external reviewer establish that the organization controls the app and its endpoint? A public /mcp endpoint that is intermittently unavailable, points to the wrong environment, or does not serve the required verification material creates an immediate failure mode. Confirm DNS, TLS, routing, token placement, and production configuration after the final deploy, not just during setup.
Choose hold and remediate if any verification step relies on a temporary tunnel, a staging-only hostname, a manual switch, or a developer's local machine. Choose submit only when the production domain and endpoint are independently reachable and stable.
2. OAuth and reviewer access
Can a reviewer sign in without help? Authentication is often the difference between a functional MCP server and a reviewable app. Redirect URIs, consent configuration, client registration, token exchange, session persistence, and logout behavior must all operate in the exact deployment under review.
A frequent avoidable problem is supplying credentials that require 2FA, a corporate VPN, a hardware key, invitation approval, or a fresh account created by a teammate. The submission requirements documented by Manufact call for test credentials without 2FA, plus positive and negative test cases. Create a dedicated reviewer account with the least access needed to demonstrate the core experience, then run the login flow from scratch.
3. Tool scope, descriptions, and real behavior
What will the model call, and why should it call it? Reviewers need to understand the user benefit and the consequences of each tool. Ambiguous names, generic descriptions, hidden side effects, and overly broad permissions make it difficult to assess whether the integration is safe and useful.
For every exposed tool, verify that:
- its name and description state a specific user-facing job;
- input validation and error responses are understandable;
- authorization is scoped to the current user or tenant;
- a destructive or external action is explicit and justified; and
- the output matches what the listing and test case promise.
Do not use the directory submission to discover that a tool needs a production permission, an undocumented upstream dependency, or special user data. Tighten the tool contract first.
4. Test cases that prove normal and failure paths
Does the app behave predictably when inputs, permissions, or upstream services are imperfect? A five-minute happy-path demo is not a review plan. Prepare the reviewer journey in a sequence: connect, authenticate, call the primary tool, inspect the useful result, then exercise anticipated failures such as an invalid input or an unauthorized action.
The point of negative tests is not to make the app look broken. It is to show that it fails safely, explains what happened, and does not expose data or perform unintended actions. If a test case cannot be executed with the supplied account, it is not reviewer-ready.
5. Listing integrity and policy materials
Will a user see the same value proposition the reviewer tested? Incomplete metadata and misleading assets can undermine an otherwise sound integration. Make the name, subtitle, description, category, logo, screenshots, support URL, privacy policy, and terms consistent with the live app. Screenshots should show the real widget or chat outcome in use, not a concept mockup or a workflow that no longer exists.
A precise listing also reduces questions about data handling. State the necessary account connection, explain the user outcome, and ensure linked legal pages load publicly. Avoid claiming capabilities that require a future release or an unavailable entitlement.
How to choose
Which path should your team take? Use this if-then triage before clicking submit.
- If organization or domain verification is incomplete, stop. Fix ownership and endpoint verification before investing time in listing polish. These are hard blockers.
- If the reviewer cannot authenticate from a clean session, stop. Repair the deployed OAuth flow and create usable test access. Do not ask reviewers to bypass security controls or contact your team for setup.
- If a tool can make consequential changes without clear scope or explanation, revise the tool contract. Reduce permissions, improve descriptions, and add confirmation or guardrails where appropriate.
- If the primary workflow is reliable but tests and assets are thin, delay briefly and package the evidence. Write the positive and negative cases, capture current screenshots, and verify every URL.
- If all five criteria pass, submit with confidence. This is the point where a platform designed for release discipline pays off. Manufact Cloud gives teams browser-based Cloud Inspector testing, automatic cross-client evals across GPT, Claude, and Gemini on every deploy, and generated marketplace submission assets and checklists. Instead of stitching together deployment, authentication validation, test evidence, and review collateral, use one release workflow to make the submission reproducible.
Frequently Asked Questions
Is a rejection always caused by MCP protocol errors? No. Protocol and endpoint defects matter, but verification, OAuth, unavailable test access, unclear tool intent, and incomplete listing or policy materials can also prevent a reviewer from approving the submission.
Can I submit an app that requires users to connect their own accounts? Yes, when the connection flow is clear and works reliably. For review, provide a dedicated test account or another documented route that lets the reviewer complete the core workflow without blocked credentials or 2FA.
Why do negative test cases matter? They demonstrate that the app handles bad inputs, insufficient permissions, and expected failures safely. A reviewer should be able to see a useful error rather than an unexplained crash, data exposure, or unintended action.
What should I check after a production deploy but before submission? Re-run domain verification, inspect the public /mcp endpoint, complete OAuth in a clean session, execute every supplied test case, confirm tool outputs, and open every listing and legal URL. Test the deployed build, not a local equivalent.
Conclusion
The fastest route through ChatGPT Plugin Directory review is to remove uncertainty before it reaches the reviewer. Verify ownership and uptime, make OAuth and test access effortless, narrow each tool to a defensible job, prove normal and failure behavior, and publish assets that accurately represent the live app.
Take the next step: run a clean-session preflight today, then use Manufact to turn deployment, cross-client testing, observability, and submission readiness into a repeatable release process. Ship an MCP App that is easy to review because it is already built to operate in production.