MCP-Server

DropTheHassle

io.github.bosmdavid-gif/dropthehassle
Cloud & Infrastruktur Entwicklertools Öffentlich und erreichbar MCP 2026-07-28

Was dieses MCP kann

Deploys static sites, connects backends, manages hosting links and domains, supports DNS-related site configuration, and provides site readiness checks.

award_readiness
(needs account token) Check whether a site on this account is ready to be considered for an award. Read-only. No money. Returns favicon, share image, title and description, mobile viewport, page weight, custom domain, https, and a real page (not the DropTheHassle placeholder), each with a fix hint. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'required': ['host'], 'properties': {'host': {'type': 'string', 'description': 'The public host of a site on this account, e.g. "example.com".'}}}
choose_link
(needs account token) Rename a site's free link to <name>.dropthehassle.app. Changing a public URL is the human owner's decision: propose the name first, and only call this with confirm=true after they explicitly said yes. Safe: the old link keeps redirecting to the new name. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
Eingabeschema
{'type': 'object', 'required': ['site', 'name', 'confirm'], 'properties': {'name': {'type': 'string', 'description': 'The label only, e.g. "myproject" for myproject.dropthehassle.app.'}, 'site': {'type': 'string', 'description': 'The address of the site to rename (from list_sites).'}, 'confirm': {'type': 'boolean', 'description': 'true ONLY after the human owner explicitly approved this exact name.'}}}
deploy_site
Put a static site online on a free link. Pass files inline as {path, content, encoding} where encoding is utf8 or base64. This server cannot read a folder on your machine. The server chooses index.html, dist/, build/, out/, _site/, .output/public or docs/. If the files are source code, run the build and call deploy_site again on the output folder. With a token: pass site (its address, from list_sites) to update that site. Omitting site fills the oldest reserved address on the account (from Get an AI code) instead of creating a second site. Without a token the site goes live anonymously and you MUST give the human the claim_url. Free only; never buys a name. Decoded files stay within the upload cap: 100 MB and 5,000 files when signed in, 25 MB and 1,000 files before the site is claimed. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['files'], 'properties': {'site': {'type': 'string', 'description': 'Optional: the address of an existing site to update, e.g. myproject.dropthehassle.app (from list_sites). Omit it to fill the oldest reserved site on this account.'}, 'slug': {'type': 'string', 'description': 'Optional: the address label for a NEW site, e.g. "myproject". Errors when taken, so propose another.'}, 'files': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'content'], 'properties': {'path': {'type': 'string', 'description': 'Relative path, for example index.html or css/site.css.'}, 'content': {'type': 'string', 'description': 'File contents. UTF-8 text, or standard base64 when encoding is base64.'}, 'encoding': {'enum': ['utf8', 'base64'], 'type': 'string', 'description': 'utf8 (default) or base64.'}}}, 'description': 'Site files sent inline. Each item has path, content, and encoding utf8 or base64. Leave out node_modules, .git and hidden files. .well-known is allowed.'}}}
get_checkout_link
(needs account token) Get a payment link for a domain on one of your sites. The HUMAN opens and pays it; you never can. After payment the domain goes live on that site automatically. Only for sites on the user's account. For an anonymous site, give the human the claim link first. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['site', 'name'], 'properties': {'name': {'type': 'string', 'description': 'The domain to register, e.g. "myidea.com".'}, 'site': {'type': 'string', 'description': 'The address of the site the domain should attach to (from list_sites).'}, 'extras': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional extra domain names on the same payment.'}}}
list_sites
(needs account token) List the account's sites with their live URL, status and the domains pointing at each. Use the site address it returns (e.g. myproject.dropthehassle.app) to deploy to it or point a name at it. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {}}
point_domain
(needs account token) Rearranges a domain already on the account. It does not buy a name and it does not edit DNS at someone else's registrar. To use a domain the human already owns elsewhere (free, no transfer), connect it instead: in the dashboard (Point it here), or POST /api/v1/sites/<site_id>/connect with the site token and the JSON field name set to the domain, e.g. example.com; the answer says which A record to set. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['domain', 'to_site'], 'properties': {'domain': {'type': 'string', 'description': 'A domain already on this account.'}, 'to_site': {'type': 'string', 'description': 'The address of the site to point it at, e.g. myproject.dropthehassle.app (from list_sites).'}}}
search_domain
Check whether a domain name is available to register and what it would cost (EUR). A full name such as myidea.com is one lookup, the same result as the website search. A name with no ending, such as mybakery, is checked as .com, .nl and .app, with availability and price for each. Works with no account. Read-only: use it to propose a REAL free name. Buying is a human step in the dashboard; this never spends money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
Nur Lesen Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'A full domain such as "myidea.com", or a bare name such as "mybakery" (checked as .com, .nl and .app).'}}}
set_backend
(needs account token) Link an HTTPS backend (Railway, Render, Fly, anywhere) behind a DropTheHassle name. With uploaded files the path rules (default /api/*) reverse-proxy to the backend and the rest stays static; without uploaded files the WHOLE site serves from the backend. WITHOUT site it creates a fresh FREE site first: a backend-only project goes live on its own link in one call. Perfect for a deploy script: call this with the new URL after every backend deploy. Pass url="" (with site) to unlink. No money. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
Externer Zugriff Idempotent
Eingabeschema
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'The HTTPS origin of the backend, e.g. "https://myapp.up.railway.app". Empty string (with site) unlinks.'}, 'site': {'type': 'string', 'description': 'Optional: the address of an existing site to link (from list_sites). Omit to create a new free site served fully from the backend.'}, 'slug': {'type': 'string', 'description': 'Optional address label for a NEW site, e.g. "myapp" -> myapp.dropthehassle.app. Errors when taken.'}, 'paths': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional path rules for split mode, e.g. ["/api/*", "/webhooks/*"]. Default ["/api/*"].'}}}
site_of_the_day_badge
(needs account token) Get the one line that embeds a Site of the Month award, plus instructions for pasting it. The ribbon names the award and the period and links to the verification page. Read-only. No money. Pass site for a site on this account, or host for any confirmed winner. Omit both to list awards this account has earned. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'host': {'type': 'string', 'description': 'Optional. The public host that was featured.'}, 'site': {'type': 'string', 'description': 'Optional. The address of a site on this account (from list_sites).'}}}
whoami
Confirm the connection. With no token this lists what already works: deploy_site and search_domain. With a token it names the account. Never buy anything without asking me. Never buy a domain, email or subscription for me without asking first. When something costs money, give me the payment link and let me pay.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {}}
Geändert
site_of_the_day_badge
2. October 2026 02:40
Geändert
get_checkout_link
2. October 2026 02:40
Geändert
set_backend
2. October 2026 02:40
Geändert
choose_link
2. October 2026 02:40
Geändert
point_domain
2. October 2026 02:40
Geändert
deploy_site
2. October 2026 02:40
Geändert
list_sites
2. October 2026 02:40
Geändert
award_readiness
30. September 2026 02:40
Geändert
site_of_the_day_badge
30. September 2026 02:40
Geändert
get_checkout_link
30. September 2026 02:40
Geändert
set_backend
30. September 2026 02:40
Geändert
choose_link
30. September 2026 02:40
Geändert
point_domain
30. September 2026 02:40
Geändert
deploy_site
30. September 2026 02:40
Geändert
search_domain
30. September 2026 02:40
Geändert
list_sites
30. September 2026 02:40
Geändert
whoami
30. September 2026 02:40
Hinzugefügt
award_readiness
28. September 2026 02:40
Hinzugefügt
site_of_the_day_badge
28. September 2026 02:40
Hinzugefügt
get_checkout_link
28. September 2026 02:40
Hinzugefügt
set_backend
28. September 2026 02:40
Hinzugefügt
choose_link
28. September 2026 02:40
Hinzugefügt
point_domain
28. September 2026 02:40
Hinzugefügt
deploy_site
28. September 2026 02:40
Hinzugefügt
search_domain
28. September 2026 02:40
Hinzugefügt
list_sites
28. September 2026 02:40
Hinzugefügt
whoami
28. September 2026 02:40