Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
Build native Linux packages (.deb/.rpm/.apk/.pkg.tar.zst) from a single PKGBUILD via MCP.
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
YAP_VERBOSEDu brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"yap": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"YAP_VERBOSE",
"ghcr.io/m0rf30/yap-mcp:2.8.0"
],
"env": {
"YAP_VERBOSE": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add yap --env YAP_VERBOSE=your-value -- docker run -i --rm -e YAP_VERBOSE ghcr.io/m0rf30/yap-mcp:2.8.0Trag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"yap": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"YAP_VERBOSE",
"ghcr.io/m0rf30/yap-mcp:2.8.0"
],
"env": {
"YAP_VERBOSE": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"yap": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"YAP_VERBOSE",
"ghcr.io/m0rf30/yap-mcp:2.8.0"
],
"env": {
"YAP_VERBOSE": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
YAP_VERBOSE envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 6. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto M0Rf30 bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (2.8.0) kam vor 14 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Docker auf deinem Computer.
In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, Zoo MCP
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
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.
An MCP server that provides access to the Zoo API for various CAD operations and tools.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
YAP builds native packages for multiple GNU/Linux distributions from a single PKGBUILD specification. Write your package once; get .deb, .rpm, .apk, and .pkg.tar.zst out. All builds run in isolated OCI containers (Docker or Podman).
--parallelgpg binary required)yap publish uploads DEB/RPM (and APK/Pacman as raw files) to an OpenArtifact repositoryzstd/gzip/xz for DEB and RPMchangelog PKGBUILD field renders to native format per distroOne-liner (Linux/macOS, amd64/arm64):
curl -fsSL https://raw.githubusercontent.com/M0Rf30/yap/main/scripts/install.sh | sh
Pin a version or install only one tool:
curl -fsSL https://raw.githubusercontent.com/M0Rf30/yap/main/scripts/install.sh \
| sh -s -- --version v2.1.3 --tool yap
Manual download:
wget https://github.com/M0Rf30/yap/releases/latest/download/yap_Linux_x86_64.tar.gz
tar -xzf yap_Linux_x86_64.tar.gz sudo mv yap /usr/local/bin/ yap version
git clone https://github.com/M0Rf30/yap.git
cd yap make build sudo mv yap /usr/local/bin/
Requires Docker or Podman:
# Docker
sudo systemctl enable --now docker && sudo usermod -aG docker $USER
sudo systemctl enable --now podman
Create yap.json:
{
"name": "My Package", "description": "A sample package built with YAP", "buildDir": "/tmp/yap-build", "output": "artifacts", "projects": [ { "name": "my-package" } ] }
Create my-package/PKGBUILD:
pkgname=my-package
pkgver=1.0.0 pkgrel=1 pkgdesc="My awesome application" arch=('x86_64') license=('GPL-3.0') url="https://github.com/user/my-package" makedepends=('gcc' 'make') source=("https://github.com/user/my-package/archive/v${pkgver}.tar.gz") sha256sums=('SKIP')
build() { cd "${srcdir}/${pkgname}-${pkgver}" make }
package() { cd "${srcdir}/${pkgname}-${pkgver}" install -Dm755 my-package "${pkgdir}/usr/bin/my-package" install -Dm644 README.md "${pkgdir}/usr/share/doc/${pkgname}/README.md" }
# Auto-detect host distro from /etc/os-release
yap build .
yap build ubuntu-jammy . yap build fedora-38 /path/to/project yap build --cleanbuild --no-makedeps ubuntu-jammy .
artifacts/
├── my-package_1.0.0-1_amd64.deb ├── my-package-1.0.0-1.x86_64.rpm ├── my-package-1.0.0-r1.apk └── my-package-1.0.0-1-x86_64.pkg.tar.zst
yap.json){
"name": "My Multi-Package Project", "description": "Project description", "buildDir": "/tmp/yap-builds", "output": "dist", "projects": [ { "name": "package-one", "install": true }, { "name": "package-two" } ] }
| Field | Required | Default | Description |
|---|---|---|---|
name | yes | — | Project collection name |
description | yes | — | Project collection description |
buildDir | yes | — | Build/working directory |
output | yes | — | Output directory for built packages |
projects | yes | — | Ordered array of packages to build |
projects[].name | yes | — | Sub-directory containing the package's PKGBUILD |
projects[].install | no | false | Install immediately after build so later packages can depend on it |
compressionDeb / compressionRpm | no | zstd | Per-format compression: zstd/gzip/xz |
signing | no | — | Signing config (see Package signing) |
repos | no | — | Extra package repositories to configure before resolving deps |
skipDeps | no | — | Package names to omit from makedepends |
targetArch | no | host | Cross-compilation target architecture |
parallel | no | false | Build independent packages in parallel (topo-sort) |
sbom | no | false | Generate SBOM sidecars |
sbomFormat | no | both | cyclonedx/spdx/both |
publish | no | — | Defaults for yap publish (see Publishing); never holds the token |
Build ordering between packages comes from the install flag and each PKGBUILD's depends/makedepends — there is no yap.json-level depends field. See yap.schema.json for the complete spec.
A JSON Schema for yap.json ships at the repo root: yap.schema.json. It documents every supported field (compression, signing, repos, SBOM, cross-compilation, etc.). Reference it from your yap.json for autocomplete and inline validation in editors that support JSON Schema:
{
"$schema": "https://www.schemastore.org/yap.json", "name": "My Multi-Package Project", "...": "..." }
The schema is published on SchemaStore, so editors (VS Code, JetBrains, Neovim, …) validate any yap.json by filename automatically — no $schema line required.
Use __ (double underscore) to override any variable per distribution. Priority (highest wins):
| Priority | Syntax | Example |
|---|---|---|
| 4+ | arch + distro | depends_x86_64__ubuntu_noble |
| 4 | arch only | depends_x86_64 |
| 3 | distro + codename | depends__ubuntu_noble |
| 2 | distro | depends__ubuntu |
| 1 | package manager | depends__apt |
| 0 | base (fallback) | depends |
pkgdesc="My application"
pkgdescdebian="My application for Debian/Ubuntu" pkgdescubuntu_noble="My application optimized for Ubuntu 24.04"
makedepends=('gcc' 'make') makedependsapt=('build-essential' 'cmake') makedependsyum=('gcc-c++' 'cmake3') makedepends__ubuntu_noble=('build-essential' 'cmake' 'pkg-config' 'libtool')
depends=('glibc' 'gcc')
depends_x86_64=('glibc' 'gcc' 'lib32-glibc') depends_aarch64=('glibc' 'gcc' 'aarch64-linux-gnu-gcc')
source=('https://example.com/generic-source.tar.gz') source_x86_64=('https://example.com/x86_64-optimized.tar.gz') source_aarch64=('https://example.com/aarch64-source.tar.gz')
sha256sums=('generic_hash') sha256sums_x86_64=('x86_64_specific_hash') sha256sums_aarch64=('aarch64_specific_hash')
Supported architectures: x86_64, i686, aarch64, armv7h, armv6h, armv5, ppc64, ppc64le, s390x, mips, mipsle, riscv64, pentium4, any.
Supported (strongest to fastest): b2sums, sha512sums, sha384sums, sha256sums, sha224sums, cksums.
# BLAKE2b (recommended)
b2sums=('2f240f2a3d2f8d8f...')
cksums=('1234567890 2048576')
changelog=CHANGELOG.md
usr/share/doc/ /changelog.Debian.gz (Lintian-compliant)%changelog entries embedded in package metadata.CHANGELOG in the archivepre_install() { echo "Before install"; }
post_install() { systemctl daemon-reload; } pre_upgrade() { systemctl stop myservice; } post_upgrade() { systemctl start myservice; } pre_remove() { systemctl disable myservice; } post_remove() { systemctl daemon-reload; }
Emitted to .install only when at least one hook is defined. pre/post_upgrade fall back to pre/post_install when absent.
# DEB
section=utils priority=optional
group="Applications/System" requires_pre=('shadow-utils')
maintainer="John Doe "
| Distribution ID | Format | Package Manager |
|---|---|---|
almalinux | .rpm | yum |
alpine | .apk | apk |
amzn | .rpm | yum |
arch | .pkg.tar.zst | pacman |
centos | .rpm | yum |
debian | .deb | apt |
fedora | .rpm | yum |
linuxmint | .deb | apt |
opensuse-leap | .rpm | zypper |
opensuse-tumbleweed | .rpm | zypper |
ol | .rpm | yum |
pop | .deb | apt |
rhel | .rpm | yum |
rocky | .rpm | yum |
ubuntu | .deb | apt |
YAP ships a companion yap-mcp binary that exposes the same build pipeline over the Model Context Protocol, so any MCP-compatible LLM client (Claude Desktop, opencode, Cursor, Zed, Continue, Goose, …) can drive yap directly.
Quickstart (release binary):
curl -fsSL https://raw.githubusercontent.com/M0Rf30/yap/main/scripts/install.sh | sh
Or pull the standalone OCI image (also listed on the MCP registry as io.github.M0Rf30/yap):
docker pull ghcr.io/m0rf30/yap-mcp:latest
/plugin marketplace add M0Rf30/claude-plugins
/plugin install yap@M0Rf30
npx @smithery/cli install io.github.M0Rf30/yap --client claude
The full tool surface, per-client config snippets, security model, and troubleshooting are in [`MCP.md`](MCP.md). The shipped skill card at skills/yap/SKILL.md follows the Anthropic Agent Skills layout and gives agents a workflow cheatsheet for free. Distribution channels and release steps are documented in [`PUBLISHING.md`](PUBLISHING.md).
yap build [distro[-release]] <path> # Build packages (distro auto-detected if omitted)
yap zap [distro] # Clean build environment yap prepare [distro[-release]] # Prepare host build environment yap pull # Pull pre-built container images yap install # Install a built artifact yap publish [artifact-or-dir]... # Upload built packages to an OpenArtifact repository yap graph [path] # Show dependency graph yap list-distros # List supported distributions yap status # Show host status and runtime detection yap version # Show version information yap completion # Generate shell completion (bash/z
Nur der Anfang wird gezeigt; den Rest findest du im Repo