starter-doc-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@starter-doc-mcpGenerate a PRD for a task management app"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
starter-doc-mcp
Server Model Context Protocol yang menghasilkan dokumen rekayasa perangkat lunak (PRD, SRS, ERD, SDD, DESIGN, matriks keterlacakan, dan instruksi agen) sebagai Markdown, supaya agen coding membangun dari spesifikasi tertulis dan tidak menebak.
Prinsip utamanya: yang tidak diberikan tidak dikarang. Bagian yang belum kamu isi tampil sebagai [NOT SUPPLIED] atau UNMAPPED, bukan diisi data palsu.
Isi
Related MCP server: wassden
Pilih jalur instalasi
Ada dua cara memasang server ini. Pilih satu.
Jalur A: versi GitHub | Jalur B: clone proyek | |
Cocok untuk | Pengguna biasa yang hanya ingin memakai | Yang ingin membaca atau mengubah kode |
Perlu Git | Tidak | Ya |
Langkah | 2 | 5 |
Pembaruan | Hapus cache, lalu mulai ulang editor |
|
Start pertama | Sekitar 20 detik (npm mengunduh dan membangun), berikutnya sekitar 4 detik | Cepat |
Kalau ragu, pakai Jalur A.
Yang perlu disiapkan dulu
Node.js 18 atau lebih baru. Cek di terminal (PowerShell di Windows, Terminal di macOS dan Linux):
node --versionHasilnya harus v18.x.x atau lebih tinggi. Jika muncul node is not recognized atau versinya lebih rendah, pasang versi LTS dari nodejs.org, tutup lalu buka lagi terminal dan editor-mu, lalu cek ulang. npm dan npx ikut terpasang bersama Node.js.
Git, hanya untuk Jalur B. Cek dengan git --version. Jika belum ada, unduh dari git-scm.com.
Jalur A: pakai versi GitHub (tanpa clone)
Langkah 1. Coba jalankan sekali di terminal supaya npm mengunduh dan membangunnya lebih dulu:
npx -y github:zifaucode/starter-doc-mcpYang akan terjadi: setelah 10 sampai 30 detik muncul satu baris starter-doc-mcp server running on stdio, lalu terminal diam. Itu normal. Server sedang menunggu perintah dari editor, bukan macet. Tekan Ctrl+C untuk keluar.
Langkah ini penting. Sebagian editor menyerah jika server tidak menjawab dalam beberapa detik, dan unduhan pertama bisa lebih lama dari itu. Setelah dijalankan sekali, cache npm membuat start berikutnya sekitar 4 detik.
Langkah 2. Lanjut ke Daftarkan ke editor dan pakai bentuk Jalur A (npx).
Jalur B: clone proyek
Langkah 1. Pilih folder yang tetap. Jangan di folder Downloads atau folder sementara, karena editor akan menunjuk ke sini selamanya. Contoh: D:\tools di Windows atau ~/tools di macOS dan Linux.
Langkah 2. Clone:
cd D:\tools
git clone https://github.com/zifaucode/starter-doc-mcp.git
cd starter-doc-mcpLangkah 3. Pasang dependensi:
npm installPerintah ini juga langsung membangun proyek (lewat script prepare). Tidak ada dependensi global.
Langkah 4. Pastikan hasil build ada:
npm run buildKeluaran akhirnya harus memuat Build success, dan file dist/index.js sekarang ada. Jalankan ulang perintah ini setiap kali kamu mengubah kode atau menarik pembaruan.
Langkah 5. Catat path lengkap dist/index.js. Kamu butuh ini di langkah pendaftaran.
# Windows (PowerShell)
(Resolve-Path dist\index.js).Path# macOS dan Linux
realpath dist/index.jsContoh hasil: D:\tools\starter-doc-mcp\dist\index.js. Saat menulisnya di berkas JSON, pakai garis miring biasa agar tidak perlu menggandakan backslash: D:/tools/starter-doc-mcp/dist/index.js.
Uji cepat (opsional): node dist/index.js harus mencetak starter-doc-mcp server running on stdio lalu menunggu. Tekan Ctrl+C untuk keluar.
Lanjut ke Daftarkan ke editor dan pakai bentuk Jalur B (node).
Daftarkan ke editor
Server ini berbicara lewat stdio. Tidak ada port, akun, atau variabel lingkungan yang perlu diisi. Yang perlu kamu beri tahu editor hanyalah perintah untuk menjalankannya.
Bentuk konfigurasi
Hampir semua editor memakai bentuk mcpServers ini. Pilih satu blok sesuai jalurmu.
Jalur A (npx):
{
"mcpServers": {
"starter-doc-mcp": {
"command": "npx",
"args": ["-y", "github:zifaucode/starter-doc-mcp"]
}
}
}Jalur B (node), ganti path dengan hasil Langkah 5:
{
"mcpServers": {
"starter-doc-mcp": {
"command": "node",
"args": ["D:/tools/starter-doc-mcp/dist/index.js"]
}
}
}Jika berkas konfigurasimu sudah punya mcpServers, jangan menimpa. Tambahkan "starter-doc-mcp": { ... } di dalamnya, dipisah koma dari server lain.
Lokasi berkas per editor
Editor | Berkas konfigurasi | Catatan |
Claude Desktop | Windows: | Bisa dibuka dari Settings, Developer, Edit Config. Setelah menyimpan, keluar total dari aplikasi (termasuk ikon di tray) lalu buka lagi. |
Cursor | Semua proyek: | Aktifkan di Settings, MCP. |
Windsurf |
| Muat ulang dari panel MCP. |
Cline, Roo Code | Buka dari panel MCP Servers, Configure MCP Servers | Bentuk JSON sama. |
Zed | Windows: | Bentuknya berbeda, lihat di bawah. |
Claude Code | Lewat perintah | Lihat di bawah. |
~ berarti folder home-mu. %APPDATA% di Windows biasanya C:\Users\<namamu>\AppData\Roaming. Tempel %APPDATA%\Claude di bilah alamat File Explorer untuk membukanya.
Zed
Buka command palette (Ctrl+Shift+P), ketik zed: open settings, lalu tambahkan di dalam objek utama. Jika context_servers sudah ada, tambahkan entrinya di dalam yang ada.
Jalur A:
"context_servers": {
"starter-doc-mcp": {
"enabled": true,
"remote": false,
"command": "npx",
"args": ["-y", "github:zifaucode/starter-doc-mcp"]
}
}Jalur B:
"context_servers": {
"starter-doc-mcp": {
"enabled": true,
"remote": false,
"command": "node",
"args": ["D:\\tools\\starter-doc-mcp\\dist\\index.js"]
}
}Zed memakai JSON dengan komentar, jadi jangan heran melihat baris // di berkas itu. Pada contoh Jalur B di atas, backslash digandakan karena itu aturan string JSON. Garis miring biasa (D:/tools/...) juga bisa dipakai.
Setelah menyimpan, buka panel Agent, buka pengaturannya, dan cari starter-doc-mcp. Titik hijau berarti server berjalan.
Claude Code
Jalur A:
claude mcp add --scope user starter-doc-mcp -- npx -y github:zifaucode/starter-doc-mcpDi Windows asli (bukan WSL), bungkus dengan cmd /c:
claude mcp add --scope user starter-doc-mcp -- cmd /c npx -y github:zifaucode/starter-doc-mcpJalur B:
claude mcp add --scope user starter-doc-mcp -- node D:/tools/starter-doc-mcp/dist/index.js--scope user membuat server tersedia di semua proyekmu. Tanpa opsi itu, server hanya berlaku untuk folder tempat kamu menjalankan perintah. Periksa dengan claude mcp list. Statusnya harus Connected.
Cek bahwa sudah berhasil
Mulai ulang editor (atau muat ulang server MCP-nya) setelah menyimpan konfigurasi.
Pastikan server tampil sebagai aktif di panel MCP milik editor. Zed menampilkan titik hijau,
claude mcp listmenampilkanConnected.Pancing satu panggilan. Ketik di chat asisten:
Pakai starter-doc-mcp, tampilkan list_blueprint_templates.Hasil yang benar adalah daftar tiga preset:
saas-b2b,ecommerce, danai-agent-platform. Editor mungkin meminta persetujuan memakai tool, dan kamu bisa menyetujuinya.Coba buat dokumen kecil dengan menyebut folder tujuan secara lengkap:
Pakai starter-doc-mcp, buat SRS saja untuk "Tes", deskripsi "aplikasi uji coba", fitur: login. Mode lite. Simpan ke D:\proyek\tes\SRS.mdBalasan harus memuat baris
Full path:berisi lokasi file. Buka path itu dan pastikan filenya ada.
Jika langkah 3 gagal, lihat bagian di bawah.
Jika ada masalah
Gejala | Penyebab umum | Cara memperbaiki |
Server tidak muncul atau berwarna merah | Perintah gagal dijalankan | Jalankan perintah yang sama di terminal ( |
| Node.js belum terpasang, atau editor dibuka sebelum Node dipasang | Pasang Node.js LTS, lalu tutup dan buka lagi editor. |
| Editor tidak menemukan | Ganti konfigurasi menjadi |
| Jalur B: belum dibuild, atau path salah | Jalankan |
Server mati sendiri saat pertama dijalankan (Jalur A) | Unduhan pertama terlalu lama untuk batas waktu editor | Jalankan Langkah 1 Jalur A di terminal sekali, lalu mulai ulang editor. |
Server aktif, tetapi asisten tidak memakainya | Model tidak mendukung tool, atau tool belum aktif untuk profil asisten | Pakai model yang mendukung tool use. Di Zed, cek tool apa saja yang aktif untuk profil Agent yang dipakai. Sebut juga namanya: "pakai tool |
File tersimpan di tempat yang tidak kuduga | Folder tujuan tidak disebut lengkap | Lihat Di mana file disimpan. |
| Versi Node di bawah 18, atau koneksi terputus | Cek |
Jika masalahmu tidak ada di tabel, buka issue dengan menyertakan sistem operasi, editor yang dipakai, jalur instalasi, dan pesan galat lengkapnya.
Memperbarui dan menghapus
Jalur A (GitHub)
npm menyimpan salinan di cache, jadi editor bisa terus memakai versi lama. Untuk mengambil yang terbaru, hapus cache npx, lalu mulai ulang editor:
# Windows (PowerShell)
Remove-Item -Recurse -Force (Join-Path (npm config get cache) "_npx")# macOS dan Linux
rm -rf "$(npm config get cache)/_npx"Penghapusan ini hanya membuang salinan sementara milik npx. Paket lain yang kamu pasang tidak terpengaruh. Start berikutnya akan memakan waktu lebih lama (unduhan ulang).
Untuk mengunci versi tertentu, tambahkan tag atau commit di belakang nama: github:zifaucode/starter-doc-mcp#<tag-atau-commit>.
Jalur B (clone)
cd D:\tools\starter-doc-mcp
git pull
npm install
npm run buildLalu mulai ulang editor.
Menghapus
Hapus entri
starter-doc-mcpdari konfigurasi editor (atauclaude mcp remove starter-doc-mcp).Jalur B: hapus folder hasil clone. Jalur A: hapus cache npx seperti di atas.
Cara memanggil
Tidak ada perintah slash. Minta dengan kalimat biasa dan sebut nama servernya, lalu model memilih tool. Pakai model yang mendukung tool use.
Satu paket lengkap:
Pakai starter-doc-mcp, buat blueprint untuk "Tagihan Freelancer".
Deskripsi: aplikasi pencatat dan pengirim invoice untuk freelancer.
Fitur utama: buat invoice, kirim invoice lewat email, tandai lunas.
Mode lite, simpan ke D:\proyek\freelance\docs.Satu dokumen saja:
Pakai starter-doc-mcp, buat SRS saja untuk proyek ini, simpan ke D:\proyek\freelance\docs\SRS.md.Audit:
Audit docs/blueprint/02_SRS.md dengan audit_spec_completeness.Jika tool tidak terpanggil, sebut namanya: "pakai tool generate_full_blueprint dari starter-doc-mcp".
Saran alur kerja:
Panggil
generate_full_blueprintdenganoutputDirberisi path folder proyekmu. Balasannya pendek dan memuat daftar Still to supply, yaitu hal yang masih harus kamu isi.Lengkapi daftar itu, lalu panggil ulang.
Jalankan
audit_spec_completenesspada dokumen yang penting.Minta agen coding membaca
00_AGENT_INSTRUCTIONS.mdlebih dulu.
Di mana file disimpan
Server ini berjalan sebagai proses terpisah dari proyekmu, jadi ia perlu tahu folder tujuannya. Dokumen tidak disimpan di folder starter-doc-mcp.
Cara paling aman: sebut folder proyekmu saat meminta.
Pakai starter-doc-mcp, buat blueprint untuk proyek freelance ini.
Simpan ke D:\proyek\freelance\docsAturannya:
Kamu menulis | Hasilnya |
Path lengkap ( | Disimpan persis di situ. |
Path relatif ( | Dihitung dari folder proyek yang dilaporkan editor. Jika editor tidak melaporkannya, dari folder kerja server, yang belum tentu folder proyekmu. |
Folder di dalam | Ditolak dengan pesan yang menjelaskan alasannya. |
Tidak menyebut folder | Tidak ada yang disimpan. Asisten diminta bertanya dulu. |
Setelah menyimpan, balasan selalu memuat lokasi lengkap (Folder: atau Full path:) dan asisten diminta menyampaikannya kepadamu. Jika ragu file-nya ada di mana, tanyakan: "tadi disimpan di path lengkap yang mana?"
Jika editor-mu membuka folder proyek (Zed, Cursor, Claude Code), path relatif seperti docs biasanya mendarat di folder itu. Tulis path lengkap kalau kamu ingin pasti.
Tool yang tersedia
Tool | Fungsi |
| Menghasilkan ketujuh dokumen sekaligus. |
| PRD: persona, in-scope dan out-of-scope, prioritas MoSCoW, skenario Gherkin. |
| SRS: kebutuhan fungsional bernomor, aturan bisnis, matriks error, kebutuhan non-fungsional. |
| ERD: diagram Mermaid, kamus data, DDL migrasi SQL. |
| SDD: diagram arsitektur, kontrak API, ADR. |
| DESIGN: token desain, tipografi, matriks 5 state layar, aturan anti-slop. |
| Memeriksa teks spesifikasi dengan rubrik berbasis pola, lalu memberi skor 0 sampai 100. |
| Menampilkan preset yang tersedia. |
Parameter yang umum:
Parameter | Keterangan |
| Wajib. |
| Fitur beserta |
| Model data, kontrak API, dan layar. |
| Teknologi, target non-fungsional, dan batasan lingkup. |
|
|
|
|
| Lokasi simpan. Tanpa ini, tidak ada yang tersimpan. |
| Hanya untuk |
Dokumen yang dihasilkan
Berkas | Isi |
| Urutan kerja untuk agen coding dan aturan berhenti saat ada celah. |
| Lingkup, persona, prioritas, skenario Gherkin. |
| Kebutuhan fungsional |
| Tabel, relasi, indeks, DDL. Urutan tabel mengikuti dependensi foreign key. |
| Arsitektur, endpoint, urutan alur, ADR berstatus |
| Desain visual dan state layar, plus aturan UI dan teks. |
| Tautan fitur ke endpoint, tabel, dan layar, plus daftar yang tidak terpakai. |
Dokumen ini adalah draf untuk ditinjau manusia. PRD berstatus DRAFT_FOR_REVIEW, dan generator tidak menyetujui hasilnya sendiri.
Mode lite dan full
full memuat semuanya. lite membuang materi referensi (glosarium, diagram, tabel risiko, bentuk fixture, wireframe) dan mempertahankan isi yang dipakai untuk membangun: lingkup, aturan, skema, kontrak API, dan matriks state. Pada preset saas-b2b, lite kira-kira 24% lebih kecil.
Preset
Preset hanya dipakai jika kamu menyebutnya lewat templatePreset. Tanpa itu, tidak ada fitur, tabel, atau endpoint yang dipinjam dari produk lain, dan bagian kosong ditandai [NOT SUPPLIED].
Batasan
Auditor memeriksa pola teks. Ia mencari kata ambigu, kode error, skenario Gherkin, tipe data, dan state layar. Skor tinggi berarti pola itu ada, bukan berarti spesifikasinya benar.
Skor dokumen tunggal bisa rendah. Rubrik menilai satu paket. Gherkin, misalnya, hanya ada di PRD.
Bagian 3.0 SRS berbentuk API web (token Bearer, kode HTTP). Sesuaikan jika produkmu bukan layanan web.
Rancangan data dari input bukan fakta. Tabel, endpoint, dan layar yang kamu atau agen usulkan perlu ditinjau sebelum dipakai.
DDL berdialek PostgreSQL. Untuk mesin lain, dokumen memberi peringatan agar kamu menerjemahkannya.
Pengembangan
npm install
npm run dev # jalankan server dari sumber (tsx)
npm run build # bangun dist/index.js
npm test # jalankan testStruktur:
src/
index.ts definisi tool MCP dan skema input
engine/ generator (gabungan input dan preset) dan auditor
templates/ satu berkas per dokumen, plus preset
types/ tipe data proyek
utils/ penulisan berkas
tests/ test dengan node:testMenambah dokumen baru: buat src/templates/<nama>.ts, panggil dari src/engine/generator.ts, daftarkan tool-nya di src/index.ts, dan tambah test di tests/. Lihat CONTRIBUTING.md.
Lisensi
Available Tools
8 toolsaudit_spec_completenessA
Audits a specification document or text against the strict Anti-Hallucination rubric: checks for ambiguous buzzwords, missing error status codes, lack of Gherkin criteria, missing 5-state UI matrices, and returns a 0-100 quality score with surgical fix advice.
| Name | Required | Description | Default |
|---|---|---|---|
| content | No | Markdown content to audit. Either content or filePath must be provided. | |
| filePath | No | Path to local markdown file to inspect. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the burden, and it does reasonably well: it names the rubric dimensions applied and the output shape (0-100 score plus surgical fix advice), which tells the agent this is a non-mutating analysis. It never explicitly states it makes no modifications or requires no auth, and gives no cost/latency expectations for large documents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the verb and resource, then the rubric checklist and return value in one dense sentence. Nothing is redundant, but the single run-on sentence with an embedded five-item list is harder to scan than a short split would be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly supplies the return contract (0-100 score, fix advice) and the checks performed, which is what an agent needs before invoking. Minor gaps remain around input precedence and document size expectations, but the core is covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains content and filePath including the either/or constraint. The description adds only the word "text," hinting that raw content works too, but gives no size limits, format expectations, or precedence rules beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Audits") and resource ("specification document or text"), then enumerates exactly what it checks (buzzwords, error codes, Gherkin criteria, UI matrices) and what it returns. This is clearly a read/analysis tool, distinguishable from the generate_* siblings that produce documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: feed it a spec to get a quality score and fixes. But there is no explicit when-to-use guidance, no exclusions, and no routing versus the generate_srs / generate_sdd siblings an agent could plausibly confuse it with. Also silent on what happens if both content and filePath are supplied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_design_specC
Generates a frontend UI/UX Design Specification (DESIGN.md) with 60-30-10 color tokens, typography scale, atomic component hierarchy, and deterministic 5-State screen matrices (Empty, Loading, Error, Partial, Populated), and anti-slop UI/copy rules for implementing agents.
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | lite: core contract only, no diagrams, glossary, risk tables, or fixtures (about 25% fewer tokens). full (default): everything. | |
| uiScreens | No | ||
| outputPath | No | File to write DESIGN.md to. Relative paths are resolved from the workspace root the editor reports, otherwise from the server's working directory, which may not be the user's project. Prefer the full path of the user's project folder. If the user has not said where the project is, ask before calling. Folders inside the starter-doc-mcp install are rejected. | |
| projectName | Yes | ||
| templatePreset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies that DESIGN.md is written, and the schema's outputPath field describes path resolution and rejection rules, but the description itself does not disclose overwrite behavior, permission requirements, failure modes, or whether generation is purely local. The mention of deterministic 5-State matrices adds some behavioral context but not enough for a file-writing generator.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main action and artifact, and every clause relates to what the specification contains. It is somewhat dense as a single long sentence, but it avoids filler and communicates the output scope efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has five parameters, nested uiScreens objects, no annotations, no output schema, and only 40% schema description coverage. The description explains the generated document's contents but leaves major gaps around parameter usage, file-writing behavior, path semantics, template presets, and when this tool should be selected over sibling generators.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%, so the description should compensate, but it does not explain the parameters. It lists generated content such as color tokens, typography scale, component hierarchy, and screen states, but says nothing about detail modes, templatePreset values, uiScreens structure, projectName, or how outputPath affects behavior beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: generates a frontend UI/UX Design Specification as DESIGN.md. It also names the document's concrete contents, so an agent can distinguish it from PRD/SRS/ERD generators by resource. However, it does not explicitly compare itself with any sibling tool such as generate_full_blueprint or generate_prd.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what is generated but gives no explicit guidance on when to use this tool versus generate_srs, generate_prd, generate_sdd, generate_full_blueprint, or audit_spec_completeness. It does not state prerequisites, exclusions, or which sibling to choose when the user needs a broader blueprint instead of a design spec.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_erdB
Generates an Entity Relationship Diagram (ERD.md) with valid Mermaid diagram, complete data dictionary, index strategies, foreign key cascade behaviors, and production SQL DDL migrations.
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | lite: core contract only, no diagrams, glossary, risk tables, or fixtures (about 25% fewer tokens). full (default): everything. | |
| entities | No | ||
| outputPath | No | File to write ERD.md to. Relative paths are resolved from the workspace root the editor reports, otherwise from the server's working directory, which may not be the user's project. Prefer the full path of the user's project folder. If the user has not said where the project is, ask before calling. Folders inside the starter-doc-mcp install are rejected. | |
| description | No | Relational data persistence schema | |
| projectName | Yes | ||
| databaseEngine | No | PostgreSQL | |
| templatePreset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It helpfully discloses the generated contents (Mermaid diagram, data dictionary, index strategies, FK cascades, SQL DDL), but it does not state overwrite behavior, file-writing side effects, permission requirements, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single, front-loaded sentence with no filler. Every phrase describes a concrete output artifact, making it efficient and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the artifact list is useful for understanding what will be returned. However, for a seven-parameter generator with low schema description coverage and no annotations, the definition still leaves input semantics and usage conditions under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 29%, and the description mentions no parameters at all. The schema documents detail, outputPath, field type, and references, but projectName, entities, databaseEngine, templatePreset, indexes, and cascadeRules remain unexplained, so the description does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: generates an Entity Relationship Diagram (ERD.md). It also lists the concrete artifacts included, so an agent can distinguish this documentation-generation tool from sibling spec generators such as generate_srs or generate_prd.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool produces but gives no when-to-use guidance, no exclusions, and no comparison to sibling tools. An agent must infer usage solely from the tool name and output description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_full_blueprintC
Generates the entire synchronized, anti-hallucination engineering blueprint suite (PRD, SRS, ERD, SDD, DESIGN, Traceability Matrix, and Agent Instructions) as production-grade Markdown files.
| Name | Required | Description | Default |
|---|---|---|---|
| nfr | No | ||
| detail | No | lite: core contract only, no diagrams, glossary, risk tables, or fixtures (about 25% fewer tokens). full (default): everything. | |
| tagline | No | Short punchy tagline | |
| entities | No | ||
| outputDir | No | Folder to save the 7 .md files, for example D:\\projects\\my-app\\docs. Preferred: the reply stays short. Relative paths are resolved from the workspace root the editor reports, otherwise from the server's working directory, which may not be the user's project. Prefer the full path of the user's project folder. If the user has not said where the project is, ask before calling. Folders inside the starter-doc-mcp install are rejected. | |
| techStack | No | ||
| uiScreens | No | ||
| outOfScope | No | Strict out-of-scope boundaries to prevent AI agent scope creep | |
| description | Yes | Comprehensive description of what the application does | |
| keyFeatures | No | ||
| projectName | Yes | Name of the project or application | |
| apiEndpoints | No | ||
| includeContent | No | Only when outputDir is omitted: return all 7 documents in the reply (large, about 12k tokens). Default false. | |
| targetAudience | No | Target user personas and operators | |
| templatePreset | No | Industry architecture template to inherit defaults from | |
| problemStatement | No | Exact problem space and pain points being solved |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden, but it only says the output is production-grade Markdown files. It does not disclose file-writing side effects, overwrite behavior, permissions, failure modes, or how outputDir/includeContent interact. The phrase 'anti-hallucination' describes intent rather than operational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single front-loaded sentence that immediately states the action and scope, followed by a compact parenthetical list of outputs. It is efficient and has no filler, though the one-sentence format leaves no room for important usage or behavioral context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex generator with 16 parameters, nested objects, no annotations, no output schema, and only 63% schema description coverage. The one-sentence description identifies what it produces but omits file-writing behavior, prerequisites, interactions with outputDir and includeContent, and guidance relative to the individual document generators, so it is not complete enough for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 16 parameters and only 63% schema description coverage, the description should compensate for undocumented parameters, but it adds no parameter-level meaning. It mentions the seven generated documents but does not explain projectName, description, detail, outputDir, includeContent, templatePreset, or key nested structures beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: generating the entire synchronized engineering blueprint suite. It also enumerates the seven document types produced, so an agent can tell this is the full-suite generator rather than the individual document generators. It stops short of explicitly naming or contrasting those sibling tools, which keeps it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for producing the complete blueprint suite, but it gives no explicit when-to-use guidance, prerequisites, or alternatives. It does not state when an agent should prefer this over generate_prd, generate_srs, generate_erd, generate_sdd, or generate_design_spec, leaving that choice to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_prdC
Generates an anti-hallucination Product Requirements Document (PRD.md) with MoSCoW prioritization, strict in-scope/out-of-scope boundaries, and BDD Gherkin acceptance criteria.
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | lite: core contract only, no diagrams, glossary, risk tables, or fixtures (about 25% fewer tokens). full (default): everything. | |
| tagline | No | ||
| outOfScope | No | ||
| outputPath | No | File to write PRD.md to. Relative paths are resolved from the workspace root the editor reports, otherwise from the server's working directory, which may not be the user's project. Prefer the full path of the user's project folder. If the user has not said where the project is, ask before calling. Folders inside the starter-doc-mcp install are rejected. | |
| description | Yes | Comprehensive description | |
| keyFeatures | No | ||
| projectName | Yes | Name of the project | |
| targetAudience | No | ||
| templatePreset | No | ||
| problemStatement | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and it does not disclose that this writes a file to disk, whether it overwrites an existing PRD.md, path-resolution defaults, or what happens on failure. The single clue about the artifact is the "(PRD.md)" filename suffix, which is thin for a write operation with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single densely-packed sentence with the artifact type and its defining characteristics front-loaded. No wasted words, though the parenthetical acronym stacking is slightly heavy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter generator with no output schema and no annotations, the description conveys what artifact is produced and its key sections, which is useful. It is not complete enough regarding file-write behavior, path resolution, or the non-core parameters (detail, templatePreset) that shape output size and structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 40%, so the description must compensate but only partly does: it explains the conceptual outputs (MoSCoW priority, out-of-scope boundaries, Gherkin scenarios) that map to keyFeatures.priority, outOfScope, and gherkinScenarios. Parameters like detail, templatePreset, targetAudience, problemStatement, and tagline are not addressed at all by the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Generates an anti-hallucination Product Requirements Document (PRD.md)") and names the distinguishing content (MoSCoW, scope boundaries, Gherkin criteria), which differentiates it from siblings like generate_srs or generate_sdd. It stops short of explicitly naming the alternative generator tools, keeping it at 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use, when-not, or alternative-routing guidance; nothing tells the agent why to pick this over generate_full_blueprint or generate_srs. The only usage-like instruction (asking where the project is) lives in the schema's outputPath field, not in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_sddC
Generates a Software Design Document (SDD.md) with C4 diagrams (Mermaid), exhaustive API contracts, sequence diagrams, and Architectural Decision Records (ADRs).
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | lite: core contract only, no diagrams, glossary, risk tables, or fixtures (about 25% fewer tokens). full (default): everything. | |
| techStack | No | ||
| outputPath | No | File to write SDD.md to. Relative paths are resolved from the workspace root the editor reports, otherwise from the server's working directory, which may not be the user's project. Prefer the full path of the user's project folder. If the user has not said where the project is, ask before calling. Folders inside the starter-doc-mcp install are rejected. | |
| description | Yes | ||
| projectName | Yes | ||
| apiEndpoints | No | ||
| templatePreset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does not disclose that the tool writes a file to disk (overwrite behavior, permission requirements), nor does it explain the effect of detail/templatePreset on output. For a file-generating tool with zero annotation coverage this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence that front-loads the core purpose and enumerates outputs without waste. It is appropriately sized but arguably too terse for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters, nested objects, two enums, no output schema, and no annotations, the description is far too thin. It omits template presets, detail modes, tech stack input, and the fact that output is written to a path, leaving real gaps for an agent to fill.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 29% across 7 parameters including nested objects. The description adds no parameter meaning at all – detail, templatePreset, techStack, and apiEndpoints are unexplained in prose, and the agent must rely on the partial schema descriptions (only detail and outputPath have them).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Generates) and resource (SDD.md) and enumerates the artifacts produced (C4 diagrams, API contracts, sequence diagrams, ADRs). However, it does not distinguish itself from close siblings like generate_design_spec or generate_srs, so the agent cannot tell when this is the right choice over those.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no mention of alternatives such as generate_design_spec or generate_srs. The only usage signal is implicit in the artifact list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_srsC
Generates an ISO/IEC/IEEE 29148 compliant Software Requirements Specification (SRS.md) with strict functional inputs/outputs, error conditions, latency SLAs, and OWASP security constraints.
| Name | Required | Description | Default |
|---|---|---|---|
| nfr | No | ||
| detail | No | lite: core contract only, no diagrams, glossary, risk tables, or fixtures (about 25% fewer tokens). full (default): everything. | |
| techStack | No | ||
| outOfScope | No | ||
| outputPath | No | File to write SRS.md to. Relative paths are resolved from the workspace root the editor reports, otherwise from the server's working directory, which may not be the user's project. Prefer the full path of the user's project folder. If the user has not said where the project is, ask before calling. Folders inside the starter-doc-mcp install are rejected. | |
| description | Yes | ||
| keyFeatures | No | ||
| projectName | Yes | ||
| templatePreset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does disclose the substantive content produced (functional inputs/outputs, error conditions, latency SLAs, OWASP security constraints). However it never states that this is a file-write operation with overwrite semantics, nor how deterministic or costly generation is. Coverage is partial rather than absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, and the artifact name appears immediately. The trailing list of content types is dense but each item adds information; it only loses a point for becoming a run-on enumeration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter tool with nested objects, enums, no annotations, and no output schema, the one-sentence description is far too thin. It omits what the tool actually emits (a file path vs. inline markdown), how the large optional blocks like techStack and nfr change the output, and what differing detail or preset values do.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 22% across 9 parameters, including nested nfr and techStack objects and a templatePreset enum that are undocumented in the schema. The description alludes to SLA and security content (mapping loosely to nfr) but says nothing about techStack, outOfScope, keyFeatures structure, or the presets, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Generates') and a precise artifact ('Software Requirements Specification (SRS.md)') qualified by the ISO/IEC/IEEE 29148 standard, which cleanly separates it from generate_prd and generate_design_spec. It never explicitly contrasts itself with those siblings or states the boundary between an SRS and a PRD, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the alternative document generators (generate_prd, generate_sdd, generate_erd) that a caller must choose between. The only signal is the implied 'use this when you need an SRS', leaving selection entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_blueprint_templatesA
Lists production-grade architecture presets available for rapid bootstrapping (SaaS B2B, E-Commerce, AI Agent Platform).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full load. "Lists" correctly signals a read-only operation and the presets' nature, but it says nothing about whether the catalog is static or account-scoped, how many entries to expect, or the shape of each returned item (no output schema exists to cover this either).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb first and the qualifiers after — efficient and easy to scan. Minor deduction for "production-grade," which reads as promotional filler rather than actionable specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only listing tool with no output schema, the description gives enough to call it correctly: it says what is listed and gives example categories. It is only slightly short of complete in not hinting at the result shape or the follow-up action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case: there is no parameter semantics the description could reasonably be expected to explain beyond what the empty schema already communicates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Lists") and resource ("architecture presets"), with concrete examples of the preset families (SaaS B2B, E-Commerce, AI Agent Platform) that make the resource tangible. It implicitly distinguishes itself from the generate_*/audit_* siblings by being the only enumeration tool, though it never names that contrast explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase "available for rapid bootstrapping" implies the workflow context (inspect presets before generating a blueprint), but there is no explicit when-to-use, when-not-to-use, or pointer to the obvious next step such as generate_full_blueprint. The agent must infer the call ordering.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
v1.1.1- First observed
audit_spec_completeness - First observed
generate_design_spec - First observed
generate_erd - First observed
generate_full_blueprint - First observed
generate_prd - First observed
generate_sdd - First observed
generate_srs - First observed
list_blueprint_templates
TDQS
Scored across 8 tools
Each generate_* tool targets a distinct, named artifact (SRS, PRD, ERD, SDD, DESIGN), and audit_spec_completeness and list_blueprint_templates serve clearly different roles. The only overlap is generate_full_blueprint, which subsumes all five document generators, so an agent must decide between the bundle and an atomic document — a real but well-documented ambiguity.
All tools follow a consistent verb_noun snake_case pattern (generate_srs, generate_prd, audit_spec_completeness, list_blueprint_templates). The one longer name, generate_full_blueprint, still fits the same pattern without breaking convention.
Eight tools is well within the sweet spot for a documentation-generation server, with one generator per artifact plus a bundle, an auditor, and a template lister. Nothing feels padded or missing at the count level.
The surface covers the full spec suite (PRD, SRS, ERD, SDD, DESIGN) plus audit and template discovery, which is strong lifecycle coverage for the stated purpose. Minor gaps: Traceability Matrix and Agent Instructions are only reachable via the full blueprint bundle, and there is no tool to revise or patch an existing document after an audit.
Maintenance
Related MCP Connectors
Turn PRDs and product ideas into structured specs so coding agents build your intent, not theirs.
Design domain models and generate deterministic multi-stack code, driven by your coding agent.
Generate architecture docs, implementation plans, and dev tickets from your project requirements.
Turn your app idea into IA, wireframes, PRD, style guides, and dev specs for coding agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceFacilitates spec-driven development workflows by providing structured prompts for generating requirements in EARS format, design documents, and implementation code following a systematic approach.67 npm440MIT
- AlicenseNot gradedqualityDmaintenanceA Spec-Driven Development toolkit that transforms LLMs into development agents by providing expert-crafted prompts for generating structured specifications and validating documents across the Requirements → Design → Tasks → Code workflow.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to parse, create, update, delete, and search natural language specification elements in markdown files via MCP tools.1MIT
- AlicenseAqualityBmaintenanceEnables a coding agent to keep one JSON feature specification per feature, governed by a progressive schema, and to render it as editable Markdown documents for a product owner. Answers and direct Markdown edits are reconciled back into the validated model through stdio MCP tools, applying coherent changes and reporting those that widen scope or contradict the model.10MIT