Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Build native Linux packages (.deb/.rpm/.apk/.pkg.tar.zst) from a single PKGBUILD via MCP.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
YAP_VERBOSE必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"yap": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"YAP_VERBOSE",
"ghcr.io/m0rf30/yap-mcp:2.8.0"
],
"env": {
"YAP_VERBOSE": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add yap --env YAP_VERBOSE=your-value -- docker run -i --rm -e YAP_VERBOSE ghcr.io/m0rf30/yap-mcp:2.8.0動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"yap": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"YAP_VERBOSE",
"ghcr.io/m0rf30/yap-mcp:2.8.0"
],
"env": {
"YAP_VERBOSE": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"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"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
YAP_VERBOSE envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント M0Rf30 で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(2.8.0)がレジストリに届いたのは14 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにDockerも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, AvaHR
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
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.
Read hiring data and create inactive assessment and questionnaire drafts for human review.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
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
冒頭だけを表示しています。続きはリポジトリで読めます