submitby.ai

A software directory your agent submits to. Search, submit, verify, and manage listings through MCP.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
97%
Vollständigkeit des Schemas
66%
Qualität der Benennung
97%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~3,527Tokens (Tool-Definitionen)
~2.5 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.76% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "submitbyai": {
      "url": "https://submitby.ai/mcp"
    }
  }
}

Remote-Endpunkte

https://submitby.ai/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (12)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟡submit_project(url, name, description, icon_url, category, ...)

Create a private project draft. No signup. Save the returned control token securely. Reuse the same random idempotency key for retries. Optional listing fields (tagline, long_description, audience, not_for, screenshots, video_url, pricing, platforms, links, mcp_url, openapi_url, app_store_url, play_store_url, alternatives, faq) raise listing completeness; write them in your own words from facts on the website.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "maxLength": 2048
    },
    "name": {
      "type": "string",
      "minLength": 2,
      "maxLength": 80
    },
    "description": {
      "default": "",
      "type": "string",
      "maxLength": 500
    },
    "icon_url": {
      "description": "Optional public HTTPS icon URL. Omit or set null to discover the first Apple touch icon, then the favicon.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 2048
        },
        {
          "type": "null"
        }
      ]
    },
    "category": {
      "type": "string",
      "maxLength": 100
    },
    "tags": {
      "type": "string",
      "maxLength": 1500
    },
    "route": {
      "default": "badge",
      "type": "string",
      "enum": [
        "badge",
        "paid"
      ]
    },
    "tagline": {
      "description": "One line, in your own words. Shown on cards.",
      "type": "string",
      "minLength": 10,
      "maxLength": 100
    },
    "long_description": {
      "description": "Plain text, 200-800 words. Separate paragraphs with a blank line. Explain what it does, how it works, and how it differs. Do not copy website text.",
      "type": "string",
      "minLength": 300,
      "maxLength": 6000
    },
    "audience": {
      "description": "Who the project is for.",
      "type": "string",
      "minLength": 10,
      "maxLength": 500
    },
    "not_for": {
      "description": "Who should choose something else.",
      "type": "string",
      "minLength": 10,
      "maxLength": 500
    },
    "screenshots": {
      "description": "Up to 8 screenshots. We copy them; hosted images must stay public until verification finishes.",
      "maxItems": 8,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "maxLength": 2048,
            "description": "Public HTTPS PNG, JPEG, or WebP, max 2 MB."
          },
          "alt": {
            "type": "string",
            "minLength": 3,
            "maxLength": 200
          }
        },
        "required": [
          "url",
          "alt"
        ],
        "additionalProperties": false
      }
    },
    "video_url": {
      "description": "Public demo video page.",
      "type": "string",
      "maxLength": 2048
    },
    "pricing": {
      "type": "object",
      "properties": {
        "model": {
          "type": "string",
          "enum": [
            "free",
            "freemium",
            "free_trial",
            "paid",
            "open_source",
            "contact_sales"
          ]
        },
        "starting_price": {
          "description": "For example: $6/month.",
          "type": "string",
          "maxLength": 40
        },
        "free_plan": {
          "type": "boolean"
        }
      },
      "required": [
        "model"
      ],
      "additionalProperties": false
    },
    "platforms": {
      "maxItems": 12,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "web",
          "ios",
          "ipados",
          "watchos",
          "visionos",
          "android",
          "macos",
          "windows",
          "linux",
          "chrome",
          "firefox",
          "safari",
          "vscode",
          "cli",
          "api",
          "mcp",
          "wordpress",
          "figma",
          "slack",
          "other"
        ]
      }
    },
    "links": {
      "description": "Official profiles and pages of the project.",
      "type": "object",
      "propertyNames": {
        "type": "string",
        "enum": [
          "x",
          "bluesky",
          "mastodon",
          "linkedin",
          "github",
          "discord",
          "youtube",
          "reddit",
          "producthunt",
          "docs",
          "changelog",
          "pricing",
          "status",
          "blog"
        ]
      },
      "additionalProperties": {
        "type": "string",
        "maxLength": 2048
      }
    },
    "mcp_url": {
      "description": "Remote MCP endpoint. We check that it answers initialize.",
      "type": "string",
      "maxLength": 2048
    },
    "openapi_url": {
      "type": "string",
      "maxLength": 2048
    },
    "app_store_url": {
      "type": "string",
      "maxLength": 2048
    },
    "play_store_url": {
      "type": "string",
      "maxLength": 2048
    },
    "alternatives": {
      "description": "Websites of similar products.",
      "maxItems": 5,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 2048
      }
    },
    "faq": {
      "description": "Answer the faq_questions from get_submission, or your own. Answers must match the website.",
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "question": {
            "type": "string",
            "minLength": 5,
            "maxLength": 200
          },
          "answer": {
            "type": "string",
            "minLength": 20,
            "maxLength": 1000
          }
        },
        "required": [
          "question",
          "answer"
        ],
        "additionalProperties": false
      }
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 32,
      "maxLength": 128
    }
  },
  "required": [
    "url",
    "name",
    "idempotency_key"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_submission(id, control_token)

Read private status, listing completeness, suggested faq_questions, the private agent-readiness report, and exact next actions.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "control_token": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪verify_submission(id, control_token)

Request website and badge verification. Call after installing the returned snippet or file.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "control_token": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴update_submission(name, description, icon_url, category, tags, ...)

Update the name, description, or any listing field. Send null to remove a field. Changes run the automatic checks again; the listing stays in review until they pass.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 2,
      "maxLength": 80
    },
    "description": {
      "default": "",
      "type": "string",
      "maxLength": 500
    },
    "icon_url": {
      "description": "Optional public HTTPS icon URL. Omit or set null to discover the first Apple touch icon, then the favicon.",
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 2048
        },
        {
          "type": "null"
        }
      ]
    },
    "category": {
      "type": "string",
      "maxLength": 100
    },
    "tags": {
      "type": "string",
      "maxLength": 1500
    },
    "route": {
      "default": "badge",
      "type": "string",
      "enum": [
        "badge",
        "paid"
      ]
    },
    "tagline": {
      "anyOf": [
        {
          "description": "One line, in your own words. Shown on cards.",
          "type": "string",
          "minLength": 10,
          "maxLength": 100
        },
        {
          "type": "null"
        }
      ]
    },
    "long_description": {
      "anyOf": [
        {
          "description": "Plain text, 200-800 words. Separate paragraphs with a blank line. Explain what it does, how it works, and how it differs. Do not copy website text.",
          "type": "string",
          "minLength": 300,
          "maxLength": 6000
        },
        {
          "type": "null"
        }
      ]
    },
    "audience": {
      "anyOf": [
        {
          "description": "Who the project is for.",
          "type": "string",
          "minLength": 10,
          "maxLength": 500
        },
        {
          "type": "null"
        }
      ]
    },
    "not_for": {
      "anyOf": [
        {
          "description": "Who should choose something else.",
          "type": "string",
          "minLength": 10,
          "maxLength": 500
        },
        {
          "type": "null"
        }
      ]
    },
    "screenshots": {
      "anyOf": [
        {
          "description": "Up to 8 screenshots. We copy them; hosted images must stay public until verification finishes.",
          "maxItems": 8,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "maxLength": 2048,
                "description": "Public HTTPS PNG, JPEG, or WebP, max 2 MB."
              },
              "alt": {
                "type": "string",
                "minLength": 3,
                "maxLength": 200
              }
            },
            "required": [
              "url",
              "alt"
            ],
            "additionalProperties": false
          }
        },
        {
          "type": "null"
        }
      ]
    },
    "video_url": {
      "anyOf": [
        {
          "description": "Public demo video page.",
          "type": "string",
          "maxLength": 2048
        },
        {
          "type": "null"
        }
      ]
    },
    "pricing": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "model": {
              "type": "string",
              "enum": [
                "free",
                "freemium",
                "free_trial",
                "paid",
                "open_source",
                "contact_sales"
              ]
            },
            "starting_price": {
              "description": "For example: $6/month.",
              "type": "string",
              "maxLength": 40
            },
            "free_plan": {
              "type": "boolean"
            }
          },
          "required": [
            "model"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "platforms": {
      "anyOf": [
        {
          "maxItems": 12,
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "web",
              "ios",
              "ipados",
              "watchos",
              "visionos",
              "android",
              "macos",
              "windows",
              "linux",
              "chrome",
              "firefox",
              "safari",
              "vscode",
              "cli",
              "api",
              "mcp",
              "wordpress",
              "figma",
              "slack",
              "other"
            ]
          }
        },
        {
          "type": "null"
        }
      ]
    },
    "links": {
      "anyOf": [
        {
          "description": "Official profiles and pages of the project.",
          "type": "object",
          "propertyNames": {
            "type": "string",
            "enum": [
              "x",
              "bluesky",
              "mastodon",
              "linkedin",
              "github",
              "discord",
              "youtube",
              "reddit",
              "producthunt",
              "docs",
              "changelog",
              "pricing",
              "status",
              "blog"
            ]
          },
          "additionalProperties": {
            "type": "string",
            "maxLength": 2048
          }
        },
        {
          "type": "null"
        }
      ]
    },
    "mcp_url": {
      "anyOf": [
        {
          "description": "Remote MCP endpoint. We check that it answers initialize.",
          "type": "string",
          "maxLength": 2048
        },
        {
          "type": "null"
        }
      ]
    },
    "openapi_url": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 2048
        },
        {
          "type": "null"
        }
      ]
    },
    "app_store_url": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 2048
        },
        {
          "type": "null"
        }
      ]
    },
    "play_store_url": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 2048
        },
        {
          "type": "null"
        }
      ]
    },
    "alternatives": {
      "anyOf": [
        {
          "description": "Websites of similar products.",
          "maxItems": 5,
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 2048
          }
        },
        {
          "type": "null"
        }
      ]
    },
    "faq": {
      "anyOf": [
        {
          "description": "Answer the faq_questions from get_submission, or your own. Answers must match the website.",
          "maxItems": 10,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "question": {
                "type": "string",
                "minLength": 5,
                "maxLength": 200
              },
              "answer": {
                "type": "string",
                "minLength": 20,
                "maxLength": 1000
              }
            },
            "required": [
              "question",
              "answer"
            ],
            "additionalProperties": false
          }
        },
        {
          "type": "null"
        }
      ]
    },
    "id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "control_token": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢list_projects(query, category, tag, page)

Browse published projects only. Use page to read more results.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 120
    },
    "category": {
      "type": "string"
    },
    "tag": {
      "type": "string"
    },
    "page": {
      "default": 1,
      "type": "integer",
      "minimum": 1,
      "maximum": 10000
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_project(slug)

Read one published listing by slug or listing ID: description, FAQ, pricing, platforms, links, screenshots, verified store and GitHub data, and passed agent-readiness checks.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 1,
      "maxLength": 120
    }
  },
  "required": [
    "slug"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_categories

List every valid category ID, name, and alias. Choose one primary category.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_tags

List all valid tag IDs, names, and aliases. Submit suggestions as comma-separated values.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_taxonomy

Read valid category and tag IDs.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡recover_submission(id, recovery_id)

Recover a lost control token by proving website control. First omit recovery_id, save the new token, and install the returned file. Then call again with recovery_id. Never share tokens publicly.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "recovery_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_badge(id)

Get the public badge snippet for any submission. No control token required. Installing it on the submitted website proves control.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪purchase_badge_waiver(id, method)

Anyone may pay the $4.99 badge waiver for an eligible submission after website and content verification. No submission control token is needed. Use checkout for a hosted Managed Checkout link. Use mpp with an authorized MPP payment client for a direct payment sold by submitby.ai, outside Managed Payments. When MPP is disabled, Managed Checkout remains available. Never ask for card details in chat.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "method": {
      "default": "checkout",
      "type": "string",
      "enum": [
        "mpp",
        "checkout"
      ]
    }
  },
  "required": [
    "id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet12 Tools