Connect a Streamable HTTP client
Use the stateless remote endpoint below only with a client that lets you configure a custom Authorization header. Every MCP request requires the owner-created bearer token.
{
"mcpServers": {
"submitforbacklinks": {
"url": "https://submitforbacklinks.com/api/mcp",
"headers": {
"Authorization": "Bearer ${SUBMITFORBACKLINKS_API_KEY}"
}
}
}
}Current authentication compatibility
MCP v1 does not publish OAuth protected-resource or authorization-server discovery. It therefore cannot connect through clients that require automatic OAuth discovery and do not allow a custom Authorization bearer header. Create the API key in the signed-in Settings page and configure it manually in a compatible client's secret-backed headers.
POST https://submitforbacklinks.com/api/mcp
Compatible Streamable HTTP clients send the manually configured Authorization bearer token, an Accept header supporting application/json and text/event-stream, and their MCP-Protocol-Version. The endpoint is stateless and does not issue a session ID.
Available tools
Each tool has a narrow JSON Schema and maps to the same owner-scoped workflow as the REST API.
scan_website
Prepare a stateless proposed draft without reserving the domain or guaranteeing creation eligibility.
create_submission_draft
Create an owner-scoped draft without entering editorial review.
submit_product
Submit a free listing only with all nine reviewed listing fields and four attestations.
update_submission_draft
Replace all nine reviewed fields and optional founder details on an editable owner-scoped submission.
finalize_submission
Send an existing owner-scoped draft for editorial review.
list_submissions
List submissions owned by the bearer-token account. limit defaults to 50 and is capped at 100; pass nextCursor back as cursor to continue.
get_submission
Retrieve one owner-scoped submission and its current status.
get_badge_status
Retrieve badge markup, verification failures, timestamps, follow-window state, and link policy.
issue_badge
Issue exact badge markup for an owner-scoped free listing.
verify_badge
Verify the issued badge on a public HTTPS page of the submitted product domain.
Submission tools keep an explicit boundary
submit_product and finalize_submission require a caller-generated idempotency_key plus guidelinesAccepted, badgeRequirementAcknowledged, canRepresentProduct, and reviewedGeneratedContent set to true. submit_product additionally requires all nine reviewed listing fields from a prior scan.
The model must not infer consent
The agent should present the generated listing, any requested launch week (or explain that omission selects the next available week), terms, badge requirement, and representation statement to the product owner before invoking a submission tool. It must not invoke submit_product using content the owner has not seen.
Review the exact saved draft
After create_submission_draft, call get_submission and present the saved fields to the owner. If anything changes, call update_submission_draft with submission_id, a UUID idempotency_key, all nine overrides, and any founderName, contactEmail, or companyName values. The tool also accepts an editable submitted or published working copy; that copy may return to DRAFT for re-review while the current public listing stays live. Retrieve the submission again before finalize_submission.
Badge lifecycle tools
Call issue_badge with the submission ID and an idempotency key, install one returned markup theme on a public HTTPS page of the submitted domain, and call verify_badge with that target URL and a separate idempotency key. get_badge_status returns actionable failure details, verification timestamps, follow-window state, link policy, and the current markup.
Optional media is not an MCP tool
A logo and up to three screenshots are optional. MCP v1 does not upload or replace media, and no tool should imply otherwise.
The owner can add or manage media from the signed-in browser dashboard.
Security and retries
Keep the API token in the MCP client's secret store, not in the conversational prompt or committed configuration. Revoke the key from Settings if it is exposed.
Owner scope
List and detail tools only return submissions belonging to the bearer-token account.
Idempotent writes
Every mutating tool requires an idempotency key: create_submission_draft, submit_product, update_submission_draft, finalize_submission, issue_badge, and verify_badge. The first result, including a failure, is stored for that key. Reuse the same key after a timeout to recover that exact result. If a replayed error includes a submission ID, retrieve that submission first. Generate a new key only after confirming that no submission exists, correcting the cause, and intentionally starting a new operation.