GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
제작자가 쓴 설명(영어 원문)
Self-hosted PaaS: deploy apps from files or git, read logs, check status, roll back.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
웹, 데스크톱, 모바일의 Claude에서 쓸 수 있어요:
https://{drop_host}/api/v1/mcp주소에 나만 아는 {…} 부분(예: 내 계정)이 있어서, 복사한 뒤 직접 채워 주세요.
터미널에서 이 명령어를 실행하세요
claude mcp add --transport http drop 'https://{drop_host}/api/v1/mcp'주소에 나만 아는 {…} 부분(예: 내 계정)이 있어서, 복사한 뒤 직접 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"drop": {
"url": "https://{drop_host}/api/v1/mcp"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
주소에 나만 아는 {…} 부분(예: 내 계정)이 있어서, 복사한 뒤 직접 채워 주세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"drop": {
"type": "http",
"url": "https://{drop_host}/api/v1/mcp"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요:
https://{drop_host}/api/v1/mcp주소에 나만 아는 {…} 부분(예: 내 계정)이 있어서, 복사한 뒤 직접 채워 주세요.
메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
주소에 내 값이 필요해서 대신 도구 목록을 읽을 수 없어요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 JulesNsenda 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
주소에 내 계정 값이 필요해서 대신 점검할 수 없어요
주소에 내 계정 값이 필요해서 대신 점검할 수 없어요
아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.8.0)은 8일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: GitHub, Desktop Commander, Cloudflare MCP
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Deploy, Run, Operate, Publish
A lightweight, self-hosted Platform as a Service (PaaS) engineered for the "drop folder and deploy" workflow. Zero-configuration deployment for Node.js, Python, Go, static sites, and containerized applications.
Drop a folder, get a URL. Zero configuration for 80% of use cases.
DATABASE_URL injecteddrop.yaml/api routingDROP_DATA_DIRFull documentation lives at [dropkit.sh/docs](https://dropkit.sh/docs), and every CLI command and API endpoint is catalogued in the [reference](https://dropkit.sh/docs/api). This README covers installing DROP, the trust model you should read before exposing it, and disaster recovery.
| Topic | Where |
|---|---|
drop.yaml fields, monorepos, required secrets | docs → drop.yaml |
| Environment variables (platform and injected) | docs → Environment variables |
| Persistent data directories | docs → Persistent data |
| Supported runtimes and how detection works | docs → Runtimes & detection |
| Caddy routing, HTTPS, DNS-01 certs, custom domains | docs → Routing & HTTPS |
| Database auto-provisioning and what triggers it | docs → Databases |
| Log capture and retention | docs → Logs |
| Connecting Claude, Cursor and other agents | docs → Integrations |
| Every CLI command and REST endpoint | reference |
Also in this repo: HTTPS setup, git redeploy and custom domains, agent deploys.
Agents can deploy to DROP unaided with the deploy-to-drop skill (Claude Code, Cursor and any SKILL.md-compatible agent).
Release install (recommended, Linux): a fresh Debian/Ubuntu box with root access. install.sh provisions Node.js, PostgreSQL, Caddy, and (if you choose --isolation=docker) Docker Engine for you — no toolchain to install yourself.
Build from source: Node.js 20+, npm 9+, and optionally Caddy 2.0+ for hostname routing.
install.sh refuses to run piped straight from curl — it needs an on-disk copy of itself to work from — so save it first, then run it:
curl -fsSL https://github.com/JulesNsenda/drop/releases/latest/download/install.sh -o install.sh && sudo bash install.sh --from-release --isolation=docker
--from-release installs the latest published release: no git clone, and no TypeScript or Vite build on your machine. (Node.js is still required and the installer sets it up for you. npm may log a failed optional build for cpu-features — that is harmless; it is an optional native accelerator for ssh2 and the install completes without it.)
It requires you to pick an isolation mode explicitly on a first install:
drop system user, the same user that owns the platform's encryption key and JWT/OAuth secrets. Only choose this on a single machine where every deployer is fully trusted; see Security & Trust Model.Add --domain=example.com --https --acme-email=you@example.com once DNS points at the box, or pin a specific version with --from-release=v1.0.0 instead of the latest.
Once the service is up, retrieve the one-time admin password from the platform log and change it immediately:
journalctl -u drop-platform -b --no-pager | grep -A1 'Default Admin Credentials'
Windows:
install.shtargets systemd/apt Linux boxes. On Windows, runinstall.bat(or build from source) and start withdrop servedirectly — Windows is fully supported underisolation: none.
install.sh verifies the downloaded tarball's SHA-256 checksum itself before installing anything. To also verify it was built by this repo's own GitHub Actions, check the build provenance attestation:
gh release download --repo JulesNsenda/drop -p drop-dist.tar.gz
gh attestation verify drop-dist.tar.gz --repo JulesNsenda/drop
Attestations are attached by the release workflow on every release built after this repository became public. If
gh attestation verifyreports no attestation for a given release, that release predates it — fall back to the publisheddrop-dist.tar.gz.sha256, whichinstall.shchecks automatically.
Every release also attaches drop-dist.tar.gz (compiled server, CLI and dashboard), its .sha256, and install.sh, so you can fetch and inspect them by hand on an air-gapped box. All releases are listed here.
For contributors, or to run from a branch instead of a release:
git clone https://github.com/JulesNsenda/drop.git
cd drop npm install (cd src/dashboard && npm install) # the dashboard is a separate package npm run build # compiles the server AND builds the dashboard npm link # makes the 'drop' command available globally
If you only changed backend code,
npm run build:serverskips the dashboard build.
On first start, drop serve prints the one-time admin password to the console. Change it immediately.
drop serve # start the platform
cp -r my-app /var/drop/data/webapps/ # drop a folder in (Windows: xcopy to C:\drop\data\webapps\)
DROP detects the app type, installs dependencies, builds, provisions a PostgreSQL database if the app needs one, and starts it on an assigned port. Your app is then at http://localhost: , or at http://my-app.localhost with Caddy installed. Edit any file and it rebuilds and restarts.
The dashboard is at http://localhost:3000/dashboard — apps list, per-app start/stop/restart, secrets, custom domains, deploy history, logs, user management, and the Claude connector details.
For the CLI and REST API, see the reference. A running DROP redirects /dashboard/docs and /dashboard/reference there.
Read this before exposing DROP to anyone you don't fully trust.
DROP ships two explicit isolation modes with different trust guarantees.
isolation: none (default) — single-user / trusted deploymentsDeploying an app means running its code (install/build scripts and the app process) on the host as the DROP process user. A deployed app — or its build script — can read other apps' data and the platform's own files.
Use this when: it's your machine or a machine you control, and everyone with deploy access is trusted. Treat deploy access like shell access.
allowSignup in this mode — DROP refuses at startup.DROP_DISABLE_AUTH=true).isolation: docker — multi-user / invited usersApps build and run in Docker containers with strict resource limits (--cap-drop=ALL, --security-opt no-new-privileges, memory/CPU caps, --pids-limit). Build containers have no access to platform secrets and cannot reach the LAN or cloud-metadata endpoints.
Honest residual risks (documented, not hidden):
a.yourdomain.com and b.yourdomain.com can read each other's cookies. Use a dedicated baseDomain for multi-tenant use, or submit it to the Public Suffix List.allowSignup: true) enables self-service registration. Abuse tooling, takedown runbooks, and egress enforcement for hostile public access are future work. Treat open-internet signup as documented residual risk until then./app bind mount (no image commit), so only dependencies written *into the app dir* reach the runtime. Node (node_modules), Go (compiled binary) and Python (an /app-local .venv, whose bin/ is put on the runtime PATH) all land there. Anything a custom build command installs into system site-packages or a global prefix is discarded with the build container — the build "succeeds" and the app then fails to import at boot.Requires Docker Engine on Linux (Docker Desktop on Windows/macOS is dev/best-effort only for this mode).
Build containers run as the platform's own (non-root) user so they can write the app source without needing CAP_DAC_OVERRIDE. Apps deployed through DROP (git deploy, webhook, drop deploy) are owned by that user automatically. If you instead place a folder into `data/webapps/` by hand, own it as the platform user (e.g. chown -R drop:drop) — a folder owned by a different user (a sudo cp as root) will fail the build with EACCES (fail-closed by design; DROP will not run an untrusted build as root to work around it).
readonly/user/admin)x-forwarded-for)drop.yaml schema (unknown keys rejected; TLS paths confined to app dir)drop.yaml values never reach docker run args or mount specs directly.git metadata are refused outright.git/config or visible in psSee .env.example for all security-relevant settings.
DROP keeps critical state in the file stores under data/drop-svc/ (credentials, encrypted secrets, the encryption key, webhooks, app state) and in PostgreSQL — both the internal drop_internal database and **every provisioned per-app d
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요