create-starter
Scaffolds browser extensions targeting Chrome Web Store (MV3) and audits CD status.
Scaffolds projects for Cloudflare Pages using Wrangler.
Scaffolds Discord bots using discord.js v14 with Docker support.
Scaffolds Docker-deployable projects for any language with GHCR and SSH deploy.
Scaffolds cross-platform Electron apps with code signing.
Scaffolds React Native (Expo) projects with EAS build.
Scaffolds browser extensions targeting Firefox (MV3) and audits CD status.
Audits GitHub Releases publication status.
Audits npm package publication status against the repository.
Audits PyPI package publication status against the repository.
Scaffolds Python MCP server projects using FastMCP.
Planned support for auditing Railway deployments.
Scaffolds Telegram bots using grammY with Docker support.
Click on "Install 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., "@create-starterlist available templates"
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.
create-starter
Scaffold and audit Starter Series projects — MCP server, Claude Code skill, and CLI in one package.
Part of: Human-Controlled AI Systems — scaffolding is the easy half. What keeps a shipped repo trustworthy is the audit primitives (audit, audit-cd, audit-security) verifying release, CD, and CI security hygiene against a known bar — gating each merge instead of asking a human to re-check by hand.
Korean documentation is maintained under docs/ko/README.md; the root README stays English-only.
Currently implemented
CLI — package and binary identity are
starter-series; after the unscoped npm package is published,npx starter-series my-bot --template discord-botscaffolds one of 11 templates with Zod-validated input, atomic rename on success, retry + timeout + 50 MB download cap.MCP server — nine stdio tools:
list_templates,create_project,audit_release,audit_cd,audit_security,audit_instructions,generate_launch_proof_report,seed_security_guidance,add_component. One binary chooses the mode by argv (positional -> CLI, none -> MCP stdio).Claude Desktop extension —
.mcpbbundle on every release; drag onto the Claude Desktop settings window.Claude Code plugin + skill —
/plugin install create-starter@starter-seriesships the MCP server and the conversationalcreateskill together.MCP Registry metadata —
io.github.starter-series/create-starter; registry submission is gated on the unscoped npm package being live and tarball-verified.audit_release— detects matched starter, version vs last-tag drift, CHANGELOG drift vs merged PRs (git log <tag>..HEAD), publish-workflow kind (release-please / publish-on-tag / auto-release).audit_cd— probes npm, PyPI, Open VSX, VS Marketplace, AMO, GitHub Releases for per-destination publish drift (in-sync / needs-publish / local-stale / not-found / unsupported).audit_security— checks 9 items: 8 core CI primitives (gitleaks with pin check, CodeQL, dependency audit, license check,--ignore-scripts, Dependabot grouped, secret-scanning hint, claude-code-security-review Action) plus the optional repo-authorclaude-security-guidance.md. The 8 core checks gate the HARDENED verdict; this repo passes 8/8 core.audit_instructions/audit-instructions— reviews agent instruction files (AGENTS.md,CLAUDE.md,GEMINI.md, Copilot instructions) for exact same-file duplicates, cross-file surface overlap, and keyword-based risk reminders. Duplicate/overlap findings need review; keyword risk summaries are advisory only and not exhaustive safety or semantic drift detection.proof-report/generate_launch_proof_report— runs release, CD, security, and instruction-review audits together and writes a client-readyLaunch Proof Report. This is the monetizable handoff surface: evidence first, no "certified" claim, exit code 1 unless the repo is actually launch-ready.add_component— the remediation half of the audit loop: lifts a starter's CI/CD layer (ci / security / dependabot / maintenance / all) into an existing repo without re-scaffolding. Dry-run by default with a per-file plan (create / identical / skip-exists / overwrite); refuses a dirty git tree unless forced; never touches app code or secrets-bearing CD workflows. The dry-run plan doubles as a drift report against the starter.Graduation guide —
docs/graduation-from-vibe-coding.md(+ Korean): five-step path from Lovable/Bolt/v0 exports to GitHub Actions + a real deploy target, using the release/CD/security audit primitives.
Related MCP server: MCP Server Boilerplate
Planned
audit_cdsupport for Chrome Web Store, EAS, Railway, Fly, and GHCR. Currently reported asunsupportedbecause those destinations require auth or have no public read API.
Design intent
One binary, two surfaces. CLI and MCP stdio share one scaffolding engine. Argv decides which surface answers. No duplicated logic for "the same thing called from a human vs an agent".
Atomic on failure. Extraction happens in a sibling
.<name>-incomplete-<rand>directory and only renames into the final path on success. Network failure, corrupt archive, partial write — none of them leaves a half-scaffolded directory behind.Audit is first-class. Templates ship a security baseline (gitleaks pinned to SHA, CodeQL, Dependabot grouped,
--ignore-scripts, claude-code-security-review). The audit commands check whether a downstream repo still matches that bar — turning the baseline from a one-time scaffold into an ongoing gate.Eat your own dogfood. This repo passes
audit_security8/8 core checks (HARDENED); the 9th is the optionalclaude-security-guidance.md. If the tool that audits other repos can't pass its own bar, the bar isn't real.Read-only outside its sandbox. Downloads are capped (50 MB, 30 s timeout, 3 retries). Relative output paths cannot escape cwd; absolute paths are accepted only as explicit user intent.
git initfailure is logged but non-fatal.
Non-goals
Full vendor parity in
audit_cd. Destinations without a public read API stayunsupportedrather than reporting confidently-wrong state.Rewriting app code. The graduation flow lifts CI/CD from the matching starter; it never touches application code.
A general-purpose project generator. Templates are the Starter Series 11. New stacks land as new starters, not as flags on
create_project.Semantic instruction drift or AI safety enforcement.
audit_instructionsis a review aid for exact duplicate/surface overlap and keyword reminders. It is not a semantic similarity engine, runtime guardrail, red-team harness, or exhaustive safety/security linter.
Quick start — CLI
# After the unscoped npm package is published:
npx starter-series my-bot --template discord-bot
# Before npm publication, run from source:
npm ci
npm run build
node dist/index.js my-bot --template discord-botstarter-series — scaffold a project from the Starter Series.
Usage
starter-series <name> --template <id> [options]
starter-series audit [path]
starter-series audit-cd [path]
starter-series audit-security [path]
starter-series audit-instructions [path]
starter-series proof-report [path] [--output <file>] [--stdout]
starter-series seed-security-guidance [path] [--force]
starter-series add-component [path] [--component <g>] [--starter <id>] [--apply] [--force]
starter-series --list
starter-series --help
Options
-t, --template <id> Template ID (see --list)
-d, --description <text> One-line project description
-o, --output-dir <path> Output directory (default: ./<name>)
--no-git Skip "git init" after scaffold
--output <file> proof-report output (default: <path>/launch-proof-report.md)
--stdout print proof-report Markdown; with --output, also writes the file
--component <group> add-component group: ci, security, dependabot, maintenance, all
--starter <id> add-component source starter override
--apply Write the add-component plan (default is dry-run)
--force Overwrite differing component files or guidance
--list List templates and exit
-h, --help Show help and exit
-v, --version Print version and exit
Environment
CREATE_STARTER_DEBUG=1 Emit verbose stderr logsAvailable templates
ID | Stack |
| TypeScript + |
| Python + FastMCP |
| Jest + ESLint + OIDC publish |
| discord.js v14 + Docker |
| grammY + Docker |
| Chrome/Firefox MV3 |
| VS Marketplace + Open VSX |
| cross-platform + code signing |
| Expo + EAS |
| Wrangler + Pages |
| any language + GHCR + SSH |
Run starter-series --list (CLI) or call list_templates (MCP) for the authoritative, up-to-date list.
Graduating from Lovable / Bolt / v0
Already have a working app on a vibe-coding platform and want to graduate to GitHub Actions + your own deploy target? Read docs/graduation-from-vibe-coding.md (한국어) — a 5-step path that uses audit, audit-cd, and audit-security to diagnose your repo, then lifts CI/CD from the matching starter without rewriting your app code.
Install from source
git clone https://github.com/starter-series/create-starter
cd create-starter
npm install
npm run buildRequires Node.js ≥22.
One-click install in Claude Desktop
Grab the latest .mcpb bundle from the Releases page and drag it onto the Claude Desktop settings window. Claude Desktop unpacks the bundled dist/ and node_modules/ and registers create-starter as an MCP server — no npm, no config file, no absolute path.
.mcpb(MCP Bundle, formerly.dxt) is Anthropic's packaged extension format for MCP servers. See Desktop Extensions.
To rebuild the bundle locally:
npm ci
npm run bundle:mcpb # produces create-starter-<version>.mcpbUse as MCP server
Register the built binary in your MCP client (Claude Desktop, Cursor, etc.):
{
"mcpServers": {
"create-starter": {
"command": "node",
"args": ["/absolute/path/to/create-starter/dist/index.js"]
}
}
}Then ask your agent: "Use create-starter to scaffold a new discord bot named my-bot." The agent will call list_templates if needed and then create_project.
The binary speaks MCP stdio when called with no extra arguments, and switches to CLI mode when given any positional argument or flag. Both modes share the same scaffolding engine.
Use as Claude Code plugin
The plugin bundles both the MCP server and the create skill — one install wires them up together.
From the Claude Code REPL:
/plugin marketplace add starter-series/create-starter
/plugin install create-starter@starter-seriesThen ask Claude: "scaffold a new discord bot named my-bot" and the create-starter:create skill guides the conversation into the MCP tools.
For local development (no marketplace round-trip):
claude --plugin-dir /path/to/create-starterPoint at a git clone so edits in skills/create/SKILL.md or dist/index.js take effect the moment the session starts.
Use via MCP Registry
After registry publication, this server uses the Official MCP Registry namespace:
io.github.starter-series/create-starterMCP-compatible clients that integrate registry discovery can install it by name without manual path wiring. The registry entry points at the npm package starter-series, so the registry step must run only after the npm package is published and verified.
Ownership is verified through GitHub OIDC (namespace io.github.starter-series/*) and npm tarball inspection (package.json#mcpName). See .github/workflows/publish-mcp-registry.yml for the publish flow.
For npm release setup (trusted-publisher registration, including the post-2026-05-20 allowed-action step), see docs/RELEASING.md.
Tools
Scaffolding:
list_templates— returns the full template table as JSON.create_project— args:template(required) — template ID from the table above.name(required) — project name matching^[A-Za-z0-9][A-Za-z0-9_-]*$.description(optional) — one-line description.output_dir(optional) — defaults to./<name>relative to the MCP server's cwd. Relative paths must stay inside cwd; absolute paths are accepted as explicit user intent.init_git(optional, defaulttrue) — rungit initafter scaffold.
Audit (each takes an optional path arg, default = MCP server cwd; all read-only):
audit_release— release-readiness diagnosis. CLI mirror:starter-series audit [path].audit_cd— per-destination publish-drift probe. CLI mirror:starter-series audit-cd [path].audit_security— baseline CI security hygiene check. CLI mirror:starter-series audit-security [path].audit_instructions— agent-instruction duplicate and surface-overlap review, with advisory keyword risk summaries. CLI mirror:starter-series audit-instructions [path].generate_launch_proof_report— combined Markdown launch handoff from release, CD, security, and instruction-review audits. CLI mirror:starter-series proof-report [path] [--output <file>] [--stdout].seed_security_guidance— generate a starter-awareclaude-security-guidance.mddraft. CLI mirror:starter-series seed-security-guidance [path] [--force].add_component— propose or apply starter CI/CD components to an existing repo as a dry-run plan. CLI mirror:starter-series add-component [path] [--component <g>] [--starter <id>] [--apply] [--force].
Safety & reliability
Project names are regex-validated before any filesystem touch; relative output paths are rejected if they escape the working directory.
Downloads enforce a 30 s timeout, 3-attempt exponential backoff, and a 50 MB size cap.
Extraction happens in a sibling
.<name>-incomplete-<rand>dir; on any failure (network, corrupt archive, extraction error) the tmp dir is removed. The final path only appears via an atomicrenameonce everything succeeded.git initfailures are logged to stderr but do not fail the scaffold; the project is usable without a.gitdirectory.
Supply-chain security pre-wired
Every Starter Series template ships with the 9 checks audit_security looks for — no opt-in required:
Check | What it catches |
gitleaks (SHA256-pinned manual install) | Committed secrets in code or history |
CodeQL (weekly + PR) | Static analysis for JS/TS/Python |
Dependency audit ( | Known CVEs in transitive deps |
License check | GPL/AGPL contamination |
| Malicious postinstall scripts |
Dependabot grouped updates | Lockfile-conflict storms from one-by-one bumps |
GitHub secret scanning + push protection | Tokens leaked at push time |
| AI-based diff review |
| Org-specific rules consumed by Anthropic's in-session Claude Code Security Guidance Plugin (released 2026-05-26) |
This was Vercel's stack during their 2026-04-21 npm supply-chain incident — they pre-empted compromise via the same pre-wired checks plus Socket/npm/GitHub coordination. The Starter Series ships those checks pre-wired in every starter.
License
MIT © heznpc
Available Tools
9 toolsadd_componentA
Lift a starter's CI/CD layer into an EXISTING repo without re-scaffolding — the remediation half of the audit loop (audit_security/audit_release diagnose; this installs the missing files from the matching starter). Components: ci (.github/workflows/ci.yml), security (codeql.yml + SECURITY.md), dependabot (dependabot.yml + auto-merge), maintenance (stale + weekly health check), or all. DRY-RUN BY DEFAULT: returns a per-file plan (create / identical / skip-exists / overwrite) and writes nothing until dry_run is false. Existing-but-different files are skipped unless force — so the dry-run plan doubles as a drift report against the starter. Never touches app code or secrets-bearing CD workflows.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Path to the repo (default: the MCP server's cwd). Use the absolute path of the project the user is working in. | |
| force | No | Overwrite files that differ from the starter AND allow applying onto a dirty git tree. Default false. | |
| dry_run | No | Preview only (default true). Set false to write the planned files. | |
| starter | No | Template id to lift from (see list_templates). Auto-detected from the repo when omitted. | |
| component | No | Which group to lift (default: all). |
Output Schema
| Name | Required | Description |
|---|---|---|
| plan | Yes | |
| dryRun | Yes | |
| starter | Yes | |
| written | Yes | |
| repoPath | Yes | |
| warnings | Yes | |
| component | Yes | |
| starterSource | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so excellently. It discloses dry-run default, per-file plan statuses, skip/overwrite behavior for existing files, force semantics, and explicitly states it 'Never touches app code or secrets-bearing CD workflows.' This is rich behavioral context beyond any schema.
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 dense and front-loaded with the main action, but it is longer than the 'two sentences' ideal. However, every sentence contributes essential information (component taxonomy, dry-run behavior, force semantics, safety boundary). No filler, but a slightly tighter structure would earn a 5.
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 description is fully complete for a complex tool with 5 optional parameters and an output schema. It covers purpose, usage context, parameter semantics, and safety limitations. Since an output schema exists, not describing return values is appropriate.
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?
Although schema coverage is 100%, the description adds substantial meaning: it details the contents of each component (ci, security, etc.), explains auto-detection for starter, describes dry_run behavior and force implications on dirty trees. This goes well beyond the schema property descriptions.
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 clearly states the tool's action ('Lift a starter's CI/CD layer into an EXISTING repo') and specifies the resource (CI/CD components). It distinguishes itself from siblings by framing it as the 'remediation half of the audit loop' opposite to audit_security/audit_release, and from create_project by noting 'without re-scaffolding.' This meets the 5-level bar for specific verb+resource+scope and sibling differentiation.
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?
Explicitly specifies when to use: after audits diagnose, as the remediation step to install missing files. It also implies when not to use (instead of re-scaffolding with create_project) and names the diagnostic sibling tools. This is clear, contextual usage guidance with exclusions implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_cdA
Check whether the local repo's version has been published to its destination registries (npm, PyPI, Open VSX, VS Marketplace, AMO, GitHub Releases). Makes outbound HTTPS requests to public registry APIs; never mutates. Reports per-destination drift (in-sync / needs-publish / local-stale / not-found).
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Path to the repo to audit (default: the MCP server's cwd). Use the absolute path of the project the user is working in. |
Output Schema
| Name | Required | Description |
|---|---|---|
| overall | Yes | |
| repoPath | Yes | |
| destinations | Yes | |
| localVersion | Yes | |
| versionSource | Yes | |
| matchedStarter | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses key behaviors: makes outbound HTTPS requests and never mutates. It also previews the return concept (per-destination drift) with possible states. It doesn't mention auth or rate limits, but public APIs make this less critical.
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?
Two sentences with no filler. The first sentence states purpose, the second covers behavior and output. Every clause adds value.
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?
Given one optional parameter, multiple registries, and an output schema, the description covers inputs, side effects, and expected results. It's complete for an agent to invoke correctly without additional documentation.
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 covers 100% of the single parameter (`path`) with a clear description including default behavior. The tool description adds no additional meaning beyond the schema, so baseline 3 is appropriate.
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 uses a specific verb ('Check whether') and resource ('local repo's version has been published to destination registries'), listing exact registries. It clearly distinguishes from sibling tools like audit_release or audit_security by focusing on publication drift across specific registries.
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 makes the tool's use case clear: verifying publication of a repo version to registries. It doesn't explicitly mention when not to use it or point to alternatives, but the specificity provides clear context for when an agent should select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_instructionsA
Audit local agent instruction files for exact same-file duplicates, cross-file surface overlap, and advisory keyword risk summaries. Read-only; does not rewrite files and is not semantic drift or safety enforcement.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Path to the repo to audit (default: the MCP server's cwd). Use the absolute path of the project the user is working in. |
Output Schema
| Name | Required | Description |
|---|---|---|
| files | Yes | |
| overall | Yes | |
| repoPath | Yes | |
| duplicates | Yes | |
| riskSummaries | Yes | |
| surfaceOverlaps | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly states 'Read-only; does not rewrite files' and clarifies that it produces 'advisory keyword risk summaries' rather than enforcement. This is valuable beyond the raw schema and gives an agent essential safety expectations, though it could go further (e.g., whether scanning is recursive) if that information were relevant.
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 two sentences, with the first sentence front-loading the core scope and the second sentence adding essential behavioral clarifications. Every clause earns its place; there is no redundant or filler wording.
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?
Given the tool has only one optional parameter, an existing output schema, and a read-only, non-destructive nature, the description is complete. It explains what is audited, the categories of analysis, the read-only guarantee, and what the tool is not for, leaving no significant gap for an agent to select or invoke it correctly.
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 input schema already documents the single `path` parameter thoroughly with a description and default behavior, achieving 100% schema description coverage. The tool description does not add additional parameter-level semantics beyond reinforcing the resource being audited ('instruction files'), so the baseline of 3 is appropriate.
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 opens with a specific verb ('Audit') and a clear resource ('local agent instruction files'), then enumerates precise audit dimensions: exact same-file duplicates, cross-file surface overlap, and advisory keyword risk summaries. It also distinguishes itself from siblings by explicitly excluding semantic drift and safety enforcement, making its purpose unambiguous.
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 states when to use the tool: to audit local agent instruction files for duplicates, overlap, and keyword risks. It also gives exclusions ('is not semantic drift or safety enforcement') and emphasizes read-only behavior, which helps an agent avoid invoking it for rewrite tasks. However, it does not explicitly recommend alternative sibling tools for those excluded use cases, so it stops short of full alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_releaseA
Audit a local repo for release-readiness against the Starter Series quality bar. Detects matched starter, CHANGELOG drift vs merged PRs, version-bump status, and publish-workflow presence. Read-only; never mutates the repo.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Path to the repo to audit (default: the MCP server's cwd). Use the absolute path of the project the user is working in. |
Output Schema
| Name | Required | Description |
|---|---|---|
| version | Yes | |
| repoPath | Yes | |
| changelog | Yes | |
| shipReady | Yes | |
| matchedStarter | Yes | |
| publishWorkflow | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explicitly states 'Read-only; never mutates the repo,' which is a key safety trait. It also describes the checks performed. However, it does not mention potential side effects like network access, caching, or timeouts, but for a read-only audit tool, the disclosure is adequate.
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 two concise sentences with no filler. The first sentence states the core purpose and scope, the second lists specific checks and the read-only guarantee. Every sentence earns its place.
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?
Given the tool has an output schema (so return values are covered elsewhere), the description provides all necessary context for invocation: what it does, which repository, what it detects, and its mutability constraints. The sibling tool context further clarifies its role. No significant information gaps remain.
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 schema coverage is 100% for the single parameter 'path', which already provides clear meaning. The tool description adds no additional parameter-specific detail beyond what the schema states. Since the schema handles parameter documentation fully, a baseline score of 3 is appropriate.
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 uses a specific verb ('Audit') with a clear resource ('local repo') and purpose ('release-readiness'), and enumerates concrete checks (CHANGELOG drift, version-bump, publish-workflow). This distinguishes it from sibling audit tools (audit_cd, audit_security, audit_instructions) by its focus on release-readiness.
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 clearly indicates the tool is for auditing release-readiness against a specific quality bar, and lists what it detects. While it doesn't explicitly mention when NOT to use it or name alternatives, the scope is defined well enough that an agent can infer appropriate use cases based on the sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_securityA
Audit a local repo for baseline security CI hygiene against the Starter Series quality bar: gitleaks, CodeQL, dependency audit, license check, --ignore-scripts, Dependabot, secret-scanning hints, claude-code-security-review Action, and claude-security-guidance.md. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Path to the repo to audit (default: the MCP server's cwd). Use the absolute path of the project the user is working in. |
Output Schema
| Name | Required | Description |
|---|---|---|
| checks | Yes | |
| overall | Yes | |
| summary | Yes | |
| repoPath | Yes | |
| ecosystem | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Explicitly states 'Read-only' and enumerates the specific checks performed, providing behavioral context despite no annotations. Does not mention potential side effects, but read-only covers the main risk.
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?
Single sentence, front-loaded with the audit target, then lists checks, and ends with read-only. No wasted words.
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?
Covers the tool's purpose, scope, and read-only nature; output schema exists for return details. For a single-parameter read-only audit, this is adequate.
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?
Input schema fully documents the single 'path' parameter with default and usage guidance; description adds no param details beyond schema coverage.
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?
Clearly states it audits a local repo for baseline security CI hygiene, listing specific checks (gitleaks, CodeQL, etc.). Distinguishes from sibling audit tools (audit_release, audit_cd, audit_instructions) via the security focus.
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?
Implies usage for security CI hygiene validation against the Starter Series quality bar, but does not explicitly state when to use this over siblings or provide exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_projectC
Scaffold a new project from a Starter Series template
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Project name (alphanumeric start, '-' or '_' only) | |
| init_git | No | Initialize a fresh git repo after scaffold (default: true) | |
| template | Yes | Template ID (use list_templates to see options) | |
| output_dir | No | Output directory (defaults to ./<name>, relative to the MCP server's cwd) | |
| description | No | One-line project description |
Output Schema
| Name | Required | Description |
|---|---|---|
| path | Yes | |
| filesReplaced | Yes | |
| filesExtracted | Yes | |
| gitInitialized | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It only states the action 'scaffold' without mentioning side effects like filesystem changes, git initialization (which is a parameter), reversibility, or error conditions. The description adds no behavioral context beyond the verb itself.
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 a single, concise sentence that states the tool's purpose with no wasted words. It is front-loaded and avoids repetition of schema information, making it highly efficient.
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?
Despite having a rich schema and output schema, the description is too minimal for a scaffolding tool. It doesn't explain the workflow, what happens after execution, how to select a template, or any side effects, which is essential for an agent to correctly invoke the tool.
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?
All 5 parameters have descriptions in the input schema, providing 100% coverage. The tool description itself does not mention any parameters, so it adds no extra meaning beyond what the schema already provides. Per baseline rules, a score of 3 is appropriate when schema covers parameters.
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 uses a specific verb 'scaffold' and resource 'new project', clearly indicating the tool's core function. It also references 'Starter Series template', which gives context about the template source. However, it does not explicitly differentiate from sibling tools like add_component or list_templates within the description itself, relying on the schema's template description for that.
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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, when not to use it, or that one should first call list_templates to choose a template. This is a clear gap given the related sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_launch_proof_reportA
Run audit_release, audit_cd, audit_security, and audit_instructions together, then return a client-ready Markdown Launch Proof Report. Read-only by default; set write=true to write launch-proof-report.md or output_path inside the target repo.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Path to the repo to audit (default: the MCP server's cwd). Use the absolute path of the project the user is working in. | |
| write | No | Write the Markdown report to disk. Default false. | |
| output_path | No | Report file path. Relative paths are resolved inside the target repo. Ignored unless write=true. |
Output Schema
| Name | Required | Description |
|---|---|---|
| gates | Yes | |
| overall | Yes | |
| blockers | Yes | |
| markdown | Yes | |
| repoPath | Yes | |
| warnings | Yes | |
| outputPath | Yes | |
| generatedAt | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing side effects, and it does so well by stating 'Read-only by default' and explaining how to enable writing via write=true and output_path. It also clarifies that the report is Markdown and client-ready, but does not mention failure modes or permissions beyond what is implied.
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 two sentences, front-loads the tool's core action, and includes all essential information—the sub-tools, the output, the read-only default, and the write mechanism—with no unnecessary words.
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 compound tool has three parameters and an output schema; the description covers the orchestrated sub-tools, the return format, and the read/write behavior, which is sufficient for safe invocation. Since an output schema is present, not detailing the report structure is acceptable.
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 100%, so the baseline is 3; the description adds value by specifying the default report filename 'launch-proof-report.md' and clarifying that output_path is only used when write=true. This goes beyond the schema's property descriptions and helps the agent understand parameter interplay.
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 clearly states what the tool does: it runs four named audit tools together and returns a client-ready Markdown Launch Proof Report. This specific verb+resource combination distinguishes it from sibling tools, especially the individual audit tools it orchestrates.
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 to run audit_release, audit_cd, audit_security, and audit_instructions together, implying this tool is used when a combined launch-readiness report is needed. It gives clear context but does not explicitly state when not to use it or compare it directly to running the sibling audit tools individually.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_templatesA
List all available Starter Series project templates
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| templates | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. 'List' implies a read-only operation, but the description does not explicitly state side effects, authentication needs, or return format. However, for a simple list tool, this is minimally acceptable.
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 a single, concise sentence that fully conveys the tool's purpose without redundancy. Every word adds value.
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?
Given that the tool has no parameters and an output schema exists, the description is complete. It fully explains what the tool returns (a list of templates) and requires no additional context. The full sentence 'List all available Starter Series project templates' provides sufficient information for an agent to invoke the tool correctly.
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 has zero parameters, so the schema provides no parameter descriptions. The description appropriately states the scope ('all available') and does not need to explain any parameter semantics. The baseline of 4 for zero parameters applies.
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 uses a specific verb ('list') and resource ('all available Starter Series project templates'), making it distinct from sibling tools like generate_launch_proof_report or create_project. It clearly states what the tool does.
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 implicitly conveys usage: this is for retrieving templates, while sibling tools are for generating reports, adding components, or creating projects. Although no explicit exclusions or alternatives are mentioned, the context is clear enough for an agent to choose this tool appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_security_guidanceA
Generate a starter claude-security-guidance.md at the repo root, tailored to the detected Starter Series template. The file is consumed in-session by Anthropic's Claude Code Security Guidance Plugin (released 2026-05-26) as a guard while Claude writes code. Use force: true to overwrite an existing file.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Path to the repo (default: the MCP server's cwd). Use the absolute path of the project the user is working in. | |
| force | No | Overwrite an existing claude-security-guidance.md. Default false (returns status='exists' instead). |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | Yes | |
| filePath | Yes | |
| repoPath | Yes | |
| bytesWritten | Yes | |
| relativePath | Yes | |
| matchedStarter | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It transparently reveals the file creation behavior and the overwrite option via `force`, plus adds valuable context about the consuming plugin. It doesn't mention potential side effects beyond overwriting, but the key behavioral traits are covered.
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?
Three sentences with no wasted words. The description front-loads the primary action and includes necessary context about the plugin and force flag.
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 description, combined with high schema coverage and an output schema, is nearly complete. It explains the file's purpose and consumption but doesn't address template detection failure or other edge cases, so just shy of fully complete.
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 100% and the description's mention of `force: true` essentially restates the schema's force property. No new semantic meaning is added beyond what's already in the input schema.
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 clearly states the tool generates a `claude-security-guidance.md` file at the repo root, with a specific verb and resource. However, it doesn't explicitly contrast with sibling tools like `audit_security` or `list_templates`, so it lacks a differentiation statement.
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 usage for seeding security guidance and includes a parameter tip about `force: true`, but no explicit when-to-use vs alternatives is given. The context about the plugin being consumed in-session suggests when it matters, but exclusions are absent.
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. Dates show when Glama detected each change.
9 tool updates
v0.4.0- First observed
add_component - First observed
audit_cd - First observed
audit_instructions - First observed
audit_release - First observed
audit_security - First observed
create_project - First observed
generate_launch_proof_report - First observed
list_templates - First observed
seed_security_guidance
TDQS
Each tool has a clearly distinct purpose: list/create templates, four separate read-only audits (release, CD, security, instructions), a composite report generator, a remediation tool for adding CI/CD components, and a guidance file generator. No two tools overlap in function.
All tool names follow a consistent verb_noun snake_case pattern (e.g., list_templates, audit_release, add_component). The verb prefixes vary but the pattern is uniform, making the naming predictable and readable.
Nine tools is well within the ideal 3-15 range. Each tool addresses a specific part of the workflow (listing, scaffolding, auditing in four dimensions, reporting, remediating, and seeding guidance), with no redundancy or bloat.
The tool set covers the full audit and remediation loop for CI/CD and security, plus project creation and reporting. A minor gap exists: audit_instructions has no direct remediation tool (seed_security_guidance is only tangentially related), but core workflows are solid.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
- MaShop MCPOAuthapp.mashop
Build, deploy and manage MaShop e-commerce projects from Claude, Cursor or any MCP client.
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Related MCP Servers
- FlicenseCqualityDmaintenanceA starter template for building custom MCP servers that can integrate with Claude, Cursor, or other MCP-compatible AI assistants. Provides a clean foundation with TypeScript support, example implementations, and easy installation scripts for quickly creating tools, resources, and prompt templates.20-
- FlicenseAqualityDmaintenanceA starter template for building custom MCP servers with example implementations of tools, resources, and prompts. Includes TypeScript support and installation scripts for Claude Desktop, Cursor, and other MCP-compatible clients.214-
- AlicenseAqualityCmaintenanceProduction-ready MCP server starter templates in TypeScript and Python. Includes tool, resource, and prompt patterns with Claude Desktop integration configs.202MIT
- AlicenseAqualityDmaintenanceDiagnose, secure, and benchmark your MCP servers. Zero-config CLI for Claude Code, Cursor, VS Code, and Windsurf.4183MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/starter-series/create-starter'
If you have feedback or need assistance with the MCP directory API, please join our Discord server