whoami
Check the API key
Shows the agency and mode (live or test) behind the key, its permissions, launches left and the hourly request budget.
無需輸入參數。

com.submitator由 submitator.com 發布官方發布者v0.1.1更新於 Nov 1, 2026
Launch your clients' products on up to 100 directories each from Claude, ChatGPT, Cursor or VS Code.
Submitator 讓助理依客戶網址建立產品專案,提交到最多 100 個網站目錄,並追蹤收錄、徽章、報告與客戶分享頁。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/com.submitator%2Fmcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。把它新增到你客戶端的 mcpServers 設定中。
{
"mcpServers": {
"submitator": {
"type": "http",
"url": "https://mcp.submitator.com/mcp",
"headers": {
"Authorization": "Bearer <YOUR_TOKEN>"
}
}
}
}Launch your clients' products on up to 100 directories each from Claude, ChatGPT, Cursor or VS Code.
This MCP server is for agencies on Submitator's white label plan. Your assistant creates a client project from a URL, shows which directories it would reach, launches it once you agree, and follows the listings as they go live. The badge, the report and the client page carry your agency's brand. It calls the Submitator API with your agency key and does nothing the API does not.
sbm_test_ key is free from the day you create the agency. It runs in test mode: projects and
listings are test data, nothing is submitted, and its test launches are not bought ones.sbm_live_ key comes with your first purchase. Each launch_project spends one launch.The package runs on your machine with npx (Node.js 20 or newer). Keep the key in your user-level
config, never in a file that lives in a repository.
Claude Code (user scope, so the key stays out of the project's .mcp.json)
Cursor (~/.cursor/mcp.json, the user-level file)
VS Code (.vscode/mcp.json): VS Code asks for the key and keeps it out of the file.
Claude Desktop (claude_desktop_config.json): the same block as Cursor, under mcpServers. Claude
Desktop starts servers in the disk root, so add "SUBMITATOR_FILES_DIR": "/path/to/client/images" to env
if you want to upload local images.
Devin Desktop (formerly Windsurf), Cline and other MCP clients: run npx -y submitator-mcp with
SUBMITATOR_API_KEY in its environment, or use the remote server below.
The remote server at https://mcp.submitator.com/mcp needs no install. There are two ways in:
claude.ai and ChatGPT sign in to Submitator, and other clients send an agency key in a header.
Submitator and the URL https://mcp.submitator.com/mcp, then press Continue.
Check the settings it found and press Continue again.This link opens the dialog of step 1 with the name and the URL filled in.
The sign-in creates a key labelled MCP: Claude on the console's Developers page. Revoke it there
to disconnect: the next call asks to sign in again. Live needs an agency that has bought launches, so a
new agency gets Test only, and test mode submits nothing.
On Team and Enterprise plans an Owner adds the connector first, under Organization settings > Connectors: Add, Custom, Web. Members then press Connect under Customize > Connectors, and each of them signs in.
Submitator and, under Connection, the Server URL
https://mcp.submitator.com/mcp.@ and pick it.When ChatGPT sends you to Submitator's sign-in, log in to the agency console, pick Test or Live
and Full or Read only on the consent page, and allow ChatGPT. As with claude.ai, the sign-in
creates a key whose label starts with MCP: on the console's Developers page (revoke it there to
disconnect), and a new agency gets Test only.
OpenAI's documentation says ChatGPT
asks for confirmation before write actions by default and treats a tool without readOnlyHint as a
write. Here the tools that only read carry readOnlyHint: true, and every other tool false. In a
workspace, its permissions and security settings apply to adding and using custom MCP servers.
Claude Code
Cursor (~/.cursor/mcp.json)
VS Code (.vscode/mcp.json): VS Code asks for the key and keeps it out of the file.
Other clients that connect over HTTP take the same URL and header.
The remote server keeps nothing between requests: it passes the key, from the header or from the
sign-in's access token, on to the Submitator API and forgets it. Files cannot be read or saved there,
so save_report_file and local image paths work only with the npx package.
Prompts: launch_client_project walks through a launch, and client_progress_update drafts a note for
your client that does not name Submitator.
launch_project, add_directories and update_project
instead of allowing them always: a launch spends money. These three, like every tool that overwrites
or deletes data or submits to directories, carry destructiveHint: true, so clients that read the
hint ask before each call. Tools that only add or check, such as create_project, add_screenshot
and verify_badge, carry false. With a live key, clients that support questions to their user
(MCP elicitation) also ask you before a launch or an add, and the answer never passes through the
model. The remote server keeps no session, so there this question reaches only clients on MCP
protocol 2026-07-28.npx package reads the key from its environment and sends it only to https://api.submitator.com.SUBMITATOR_FILES_DIR (or the folder the client starts the server in),
only real PNG, JPEG, GIF or WebP files, and never through a link. Reports are saved to Downloads by
default and never over an existing file; reports that include logins are not saved here.mcp-.
Revoke a key there at any time.When the API ships a new release, npm run sync:openapi and npm test show which new operations need
a tool or a line in EXCLUDED (src/tools/index.ts).
MIT
來源:README.md,提交 91e08a5
Check the API key
Shows the agency and mode (live or test) behind the key, its permissions, launches left and the hourly request budget.
無需輸入參數。
List client projects
Lists the agency projects, newest first. q finds one by part of its name or URL, and external_id by the agency's own id.
qlimitcursorstatusexternal_idRead a project
One project in full: status, what it waits for, progress counts, allowance, readiness, texts, images and the image candidates found on its site.
project_id必填Create a client project
Creates a project for a client's product from its URL. Name, tagline and description are filled from the site in the background when left out. Costs nothing: a launch is spent only by launch_project.
url必填nametagstaglineaudiencecategorylogo_urlmetadatamaker_namepromo_codecompetitorsexternal_id另有 11 個Update a project
Changes the project fields it is sent and leaves the others as they are; null clears a field, and a list replaces the whole list. contact_email cannot change after launch, and after launch an edit reaches only the listings that have not been sent to their directory.
urlnametagstaglineaudiencecategorymetadatamaker_nameproject_id必填promo_codecompetitorsexternal_id另有 10 個Delete a draft project
Deletes a project that was never launched. A launched project cannot be deleted.
project_id必填Set the logo
Sets or replaces a project's logo from a public image URL, fetched right away (a failed fetch answers image_unreachable).
url必填project_id必填Add a screenshot
Adds one screenshot to a project (5 at most), from a public image URL. Each call adds another one: a repeated call adds the same image twice.
url必填project_id必填Remove the logo or a screenshot
Removes the logo ("logo") or one screenshot (its img_ id). A launched project keeps at least its logo and one screenshot.
image必填project_id必填Preview a launch
Free dry run of launch_project (or of add_directories on a launched project) with the same arguments: how many directories it would submit to, what is missing, what would unlock more and what it costs, plus the top and median DR of the auto pick. Its would_submit count is the confirm_selected that launch_project or add_directories requires for the same arguments.
project_id必填directoriesauto_replaceexcluded_directoriesSearch the directory catalog
Searches the directories Submitator submits to, highest Domain Rating first, or reads one by id. Before the agency first buys launches, only the top 20 are shown.
qkindlimittopiccursormin_draudiencerequiresdirectory_idA project's directory choices
Every catalog directory as seen by one project: suggested (the auto pick), open, locked (with what unlocks it), excluded or listed. Shows suggested, open and locked by default; the counts cover all.
limitoffsetstatesproject_id必填Launch a project
Starts submissions and spends one of the agency's paid launches; with a sbm_test_ key it spends a test launch and submits nothing. Refuses unless confirm_selected equals the directory count preview_launch returns for the same arguments. With a live key, a client on MCP protocol 2026-07-28 that supports elicitation also gets a question to confirm, and the answer does not pass through the model. This remote server keeps no session, so a client on an earlier protocol version is not asked.
project_id必填directoriesauto_replaceconfirm_selected必填excluded_directoriesAdd directories to a launched project
Submits a launched project to more directories from its free allowance (no launch is spent). Refuses unless confirm_selected equals the directory count preview_launch returns for the same arguments. With a live key, a client on MCP protocol 2026-07-28 that supports elicitation also gets a question to confirm, and the answer does not pass through the model. This remote server keeps no session, so a client on an earlier protocol version is not asked. An include longer than the free allowance answers allowance_exhausted; a directory already listed answers invalid_directories.
project_id必填directories必填confirm_selected必填excluded_directoriesList a project's listings
A project's listings, one per directory, highest DR first, with status and the live link once published. Or one listing in full by its id.
limitcursorstatusdirectorylisting_idproject_idWhat changed
Changes to projects and listings. The feed keeps 90 days and reads oldest first, so one call scans up to 1,000 events from the cursor (or from the start) and returns the newest ones since `since` (7 days ago by default). Passed back in a later call, its next_cursor reads only what came after. For the current state of a project, get_project and list_listings are cheaper.
typelimitsincecursorproject_idGet the badge install kit
The agency-branded badge some directories require on the client's site: its status, a message to forward to the client, the platforms it has install code for, and the code for the one named in platform.
platformproject_id必填Check the badge on the site
Checks the client's site for the badge now. Each project gets up to 10 checks an hour.
project_id必填Build a client report
Builds a PDF or XLSX report of a project, branded for the agency. Building takes a moment; get_report says when it is ready.
format必填project_id必填Read a report
Whether a report is ready, and how to get the file.
report_id必填Read the client page link
The project's client page link (a read-only progress page in the agency's brand), with its views.
project_id必填Create the client page link
Gives the project's client page link. Returns the current link when there is one; replace: true issues a new link and turns the old one off.
replaceexpires_atproject_id必填Turn the client page off
Turns the project's client page link off. Anyone holding it sees nothing afterwards.
project_id必填已滿足適用檢查項的 100%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
claude mcp add --scope user submitator --env SUBMITATOR_API_KEY=sbm_test_... -- npx -y submitator-mcp{ "mcpServers": { "submitator": { "command": "npx", "args": ["-y", "submitator-mcp"], "env": { "SUBMITATOR_API_KEY": "sbm_test_..." } } }}{ "inputs": [ { "type": "promptString", "id": "submitator-key", "description": "Submitator API key", "password": true } ], "servers": { "submitator": { "type": "stdio", "command": "npx", "args": ["-y", "submitator-mcp"], "env": { "SUBMITATOR_API_KEY": "${input:submitator-key}" } } }}URL: https://mcp.submitator.com/mcpHeader: Authorization: Bearer <your key> (X-API-Key: <your key> works too)claude mcp add --transport http submitator https://mcp.submitator.com/mcp \ --header "Authorization: Bearer $SUBMITATOR_API_KEY"{ "mcpServers": { "submitator": { "url": "https://mcp.submitator.com/mcp", "headers": { "Authorization": "Bearer sbm_test_..." } } }}{ "inputs": [ { "type": "promptString", "id": "submitator-key", "description": "Submitator API key", "password": true } ], "servers": { "submitator": { "type": "http", "url": "https://mcp.submitator.com/mcp", "headers": { "Authorization": "Bearer ${input:submitator-key}" } } }}npm installnpm test # unit, contract and protocol testsnpm run buildnpm run sync:openapi # refresh openapi/v1.json and src/v1.d.ts from the public contractnpm run check:pack # pack, install in an empty folder, run the stdio handshake