rate limiting, validation, logging과 같은 프로덕션급 TypeScript 백엔드 블록을 코드베이스에 직접 생성합니다.
다른 이름 codewithnuh/blockend, blockend-cli
- 스타
- 9
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- —
- 마지막 커밋
- 2026년 11월 13일
- 라이선스
- MIT
Blockend MCP란?
Blockend은(는) MCP server입니다. rate limiting, validation, logging과 같은 프로덕션급 TypeScript 백엔드 블록을 코드베이스에 직접 생성합니다.
프로젝트 README에서 생성된 요약
Blockend MCP server 정보
Blockend는 Express, Fastify, Next.js App Router 또는 Hono를 사용하는 개발자가 TypeScript 프로젝트에 프로덕션급 백엔드 인프라를 추가할 수 있도록 지원합니다. 외부 런타임에 의존하는 대신, 이 도구는 소스 파일을 저장소에 직접 복사하므로 필요에 따라 코드를 수정하거나 삭제할 수 있는 완전한 소유권을 제공합니다. CLI와 MCP server를 통해 작동하며 Cursor, Claude Code, VS Code와 같은 클라이언트와 통합됩니다.
사용자는 설정 파일을 초기화하고 rate-limiter, request validator 또는 token service와 같은 특정 모듈을 추가하여 백엔드 아키텍처를 관리할 수 있습니다. 시스템은 프레임워크별 어댑터와 의존성 확인을 자동으로 처리합니다. 코드가 로컬 디렉토리에 직접 작성되므로 표준 도구를 사용하여 관리할 수 있으며, CLI는 프로젝트 설정을 감지하고, diff로 변경 사항을 미리 보고하며, 설치된 블록을 최신 버전으로 업데이트하는 명령어를 제공합니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
Blockend MCP 설치 방법
형식 확인: 2026년 11월 10일Claude Code에 Blockend MCP 설치
$ claude mcp add blockend -- npx -y blockend-cliCursor에 Blockend MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"blockend": {
"command": "npx",
"args": [
"-y",
"blockend-cli"
]
}
}
}VS Code에 Blockend MCP 설치
.vscode/mcp.json
{
"servers": {
"blockend": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"blockend-cli"
]
}
}
}Claude Desktop에 Blockend MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"blockend": {
"command": "npx",
"args": [
"-y",
"blockend-cli"
]
}
}
}Codex에 Blockend MCP 설치
~/.codex/config.toml
[mcp_servers.blockend] command = "npx" args = ["-y", "blockend-cli"]
Gemini CLI에 Blockend MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"blockend": {
"command": "npx",
"args": [
"-y",
"blockend-cli"
]
}
}
}자동 검사
2026년 11월 14일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식
- 소스 저장소 연결 및 접근 가능codewithnuh/blockend is public and reachablegithub.com/codewithnuh/blockend ↗통과
- 패키지가 이 저장소를 소스로 지정blockend-cli names codewithnuh/blockend as sourcenpmjs.com/package/blockend-cli ↗통과
- 빌드 출처(Sigstore 증명)Sigstore attestation for blockend-clinpmjs.com/package/blockend-cli/v/2.3.0#provenance ↗통과
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-11-13github.com/codewithnuh/blockend ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음No popular package one edit away from blockend-cli통과
- 패키지와 의존성에 심각한 보안 권고 없음검사되지 않음
- 모델에 대한 숨겨진 지침 없음0 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 원격 endpoint가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기Blockend
Blockend copies backend source files into your project. You choose a block, and the CLI writes its code into your repository. The code is yours: read it, change it, commit it, or remove it.
The CLI supports Express, Fastify, Next.js App Router, and Hono. The add command requires TypeScript.
Quick start
npx blockend-cli init
npx blockend-cli add request-validator
init creates blockend.json with your framework, blocks directory, package manager, and import style. add writes the selected block.
import express from "express";
import { z } from "zod";
import { expressValidator } from "@/blocks/request-validator/adapters/express";
const app = express();
app.use(express.json());
const validate = expressValidator({
body: z.object({
name: z.string().min(1),
email: z.string().email()
})
});
app.post("/users", validate, (req, res) => {
const { body } = validate.validated(req);
res.status(201).json({ user: body });
});
app.listen(3000);
If your blockend.json uses a different alias, import from that path instead. With no alias, use the relative path under paths.blocks.
Blocks
| Block | What it does |
|---|---|
rate-limiter |
Fixed-window limits with memory and Redis stores. |
error-handler |
Classifies errors, hides internal details, and returns one response shape. |
logger |
Pino logger with request IDs and async context. |
request-validator |
Validates body, query, and params with Zod. |
response-formatter |
Success, error, and pagination envelopes. |
env-config |
Validates environment variables with Zod at startup. |
health-check |
Dependency checks with per-check timeouts and a JSON health report. |
graceful-shutdown |
Drains requests and closes resources in priority order. |
idempotency |
Deduplicates retries with an atomic store lock. |
password-hash |
Argon2id hashing with a server-side pepper and rehash detection. |
token-service |
JWT access tokens and rotating refresh tokens. |
How it works
initdetects your project and writesblockend.json.addfilters the registry by framework, asks for a variant, and checks dependencies.- The CLI copies source files into your blocks directory and rewrites imports.
- The block is recorded in
blockend.jsonsoupdatecan compare versions.
There is no Blockend runtime dependency. Installed blocks use normal packages such as zod, pino, or jose.
CLI
| Command | Description |
|---|---|
blockend init |
Create blockend.json. |
blockend add <block> |
Write a block into the project. |
blockend add |
Choose a block interactively. |
blockend add --multi |
Choose several blocks. |
blockend list |
List blocks for your framework. |
blockend detect |
Report framework, language, package manager, and project settings. |
blockend diff <block> |
Preview files without writing. |
blockend doctor |
Check config and project health. |
blockend update |
Compare installed blocks with registry versions. |
blockend update --apply |
Apply selected updates. |
blockend mcp |
Start the MCP server. |
blockend mcp init |
Write MCP client config. |
See the CLI reference for options.
MCP
Blockend includes an MCP server for Claude Code, Cursor, VS Code, Codex CLI, and Windsurf.
npx blockend-cli mcp init --client cursor
The server exposes block listing, project detection, diff preview, install, update, and doctor tools. Installs run with --yes, so preview with the diff tool before writing.
Local development
Prerequisites:
- Node.js 20 or newer
- pnpm
git clone https://github.com/codewithnuh/blockend.git
cd blockend
pnpm install
pnpm build
pnpm dev
Useful commands:
pnpm test
pnpm lint
pnpm typecheck
pnpm validate
Repository layout
blockend/
├── apps/
│ └── web/ Documentation site
├── blocks/ Block source code
│ ├── error-handler/
│ ├── env-config/
│ ├── graceful-shutdown/
│ ├── health-check/
│ ├── idempotency/
│ ├── logger/
│ ├── password-hash/
│ ├── rate-limiter/
│ ├── request-validator/
│ ├── response-formatter/
│ └── token-service/
├── packages/
│ └── cli/ CLI that copies blocks into projects
├── registry/
│ ├── config.json Registry format version
│ └── index.json Generated block metadata and file mappings
├── scripts/
├── turbo.json
└── pnpm-workspace.yaml
Each block usually contains:
block.jsonwith metadata and file topologycore/or a core file with framework-agnostic logicadapters/for Express, Fastify, and Honovariants/for storage implementations- tests next to the source
Each block's block.json maps its source files to the paths the CLI writes. The checked-in registry/index.json is generated from those declarations. Some blocks also provide framework-specific tests and SQL.
Contributing
Read CONTRIBUTING.md before adding a block. A block should solve a common backend problem, keep its core framework-independent, and include tests for each adapter it ships.
Docs
License
MIT. See LICENSE.
Blockend MCP 질문
Blockend MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add blockend -- npx -y blockend-cli를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
Blockend MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
Blockend 런타임을 반드시 사용해야 하나요?
아니요, Blockend 런타임 의존성은 없습니다. 설치된 블록은 zod, pino, jose와 같은 표준 패키지를 사용합니다.
생성된 코드를 수정할 수 있나요?
네, 코드가 저장소에 작성되면 사용자가 소유권을 가지므로 자유롭게 읽기, 수정, 커밋 또는 삭제할 수 있습니다.
어떤 프레임워크를 지원하나요?
CLI는 Express, Fastify, Next.js App Router, Hono를 지원합니다.
MCP server를 통해 무엇을 할 수 있나요?
MCP server는 블록 목록 조회, 프로젝트 감지, diff 미리보기, 설치, 업데이트 및 상태 확인 도구를 제공합니다.