Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Launch your clients' products on up to 100 directories each from Claude, ChatGPT, Cursor or VS Code.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
SUBMITATOR_API_KEY, AuthorizationValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"submitator": {
"command": "npx",
"args": [
"-y",
"submitator-mcp"
],
"env": {
"SUBMITATOR_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http submitator https://mcp.submitator.com/mcp --header 'Authorization: Bearer {api_key}'claude mcp add submitator --env SUBMITATOR_API_KEY=your-value -- npx -y submitator-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"submitator": {
"url": "https://mcp.submitator.com/mcp",
"headers": {
"Authorization": "Bearer {api_key}"
}
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"submitator": {
"command": "npx",
"args": [
"-y",
"submitator-mcp"
],
"env": {
"SUBMITATOR_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"submitator": {
"type": "http",
"url": "https://mcp.submitator.com/mcp",
"headers": {
"Authorization": "Bearer {api_key}"
}
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"submitator": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"submitator-mcp"
],
"env": {
"SUBMITATOR_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
Authorization secret required HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified against the domain submitator.com (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: SUBMITATOR_API_KEY, Authorization
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.1.1) reached the registry 5 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, Safe Fetch
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
MCP server for fetching URLs, safe against SSRF, DNS rebinding, and redirect-to-internal attacks.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
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)
claude mcp add --scope user submitator --env SUBMITATOR_API_KEY=sbm_test_... -- npx -y submitator-mcp
Cursor (~/.cursor/mcp.json, the user-level file)
{
"mcpServers": { "submitator": { "command": "npx", "args": ["-y", "submitator-mcp"], "env": { "SUBMITATOR_API_KEY": "sbm_test_..." } } } }
VS Code (.vscode/mcp.json): VS Code asks for the key and keeps it out of the file.
{
"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}" } } } }
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.
URL: https://mcp.submitator.com/mcp
Header: Authorization: Bearer (X-API-Key: works too)
Claude Code
claude mcp add --transport http submitator https://mcp.submitator.com/mcp \
--header "Authorization: Bearer $SUBMITATOR_API_KEY"
Cursor (~/.cursor/mcp.json)
{
"mcpServers": { "submitator": { "url": "https://mcp.submitator.com/mcp", "headers": { "Authorization": "Bearer sbm_test_..." } } } }
VS Code (.vscode/mcp.json): VS Code asks for the key and keeps it out of the file.
{
"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}" } } } }
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.
| Tool | What it does |
|---|---|
whoami | The agency and mode behind the key, its permissions, launches left and the hourly budget |
list_projects, get_project | Find client projects; read one in full |
create_project, update_project, delete_draft | Create a project from a URL, change its fields, delete a draft |
set_logo, add_screenshot, remove_image | Images from a public URL, or a local file with the npx package |
preview_launch | Free dry run of a launch or an add with the same arguments: how many directories, what is missing, the cost, plus the top and median DR of the auto pick |
find_directories, project_directories | Search the catalog; see one project's directory choices |
launch_project | Start submissions. Spends one launch; refuses unless confirm_selected equals the count preview_launch shows for the same arguments |
add_directories | Reach more directories from a launched project's free allowance, with the same check |
list_listings, list_events | Follow listings and what changed since a given time |
get_badge, verify_badge | The badge install code for the client's site, and a check that it is there |
create_report, get_report, save_report_file | Build a PDF or XLSX report; save it to disk with the npx package |
get_share_link, create_share_link, delete_share_link | The client's progress page (live keys) |
advance_test_listing, set_test_launches | Test mode helpers (test keys) |
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.npm install
npm test # unit, contract and protocol tests npm run build npm run sync:openapi # refresh openapi/v1.json and src/v1.d.ts from the public contract npm run check:pack # pack, install in an empty folder, run the stdio handshake
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