코딩 에이전트가 다양한 기술 스택에 걸쳐 재사용 가능한 소프트웨어 빌드 및 프로젝트 기반을 검색, 설치 및 조립할 수 있도록 지원합니다.
다른 이름 tneemo/pkg, @tneemo/pkg
- 스타
- 0
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- 0.1.0
- 마지막 커밋
- 2026년 10월 19일
- 라이선스
- MIT
pkg MCP란?
pkg은(는) MCP server입니다. 코딩 에이전트가 다양한 기술 스택에 걸쳐 재사용 가능한 소프트웨어 빌드 및 프로젝트 기반을 검색, 설치 및 조립할 수 있도록 지원합니다.
프로젝트 README에서 생성된 요약
pkg MCP server 정보
Claude Code, Cursor 또는 Windsurf와 같은 코딩 에이전트를 사용하는 개발자는 pkg를 사용하여 재사용 가능한 소프트웨어 모듈과 프로젝트 기반을 찾고 조립할 수 있습니다. AI가 일반적인 보일러플레이트를 매번 다시 생성하게 하는 대신, 이 도구를 통해 에이전트는 marketplace에서 Node.js, TypeScript, Hono, FastAPI 등 다양한 기술 스택에 맞는 빌드를 검색할 수 있습니다. 에이전트는 전통적인 패키지가 아닌 소스 코드 형태로 제공되는 빌드를 설치하여 로컬 프로젝트에 직접 통합할 수 있습니다.
이 MCP server를 사용하려면 npx를 사용하거나 Claude Code의 mcp 명령어를 통해 MCP client에 연결하면 됩니다. 시스템은 로컬 파일을 통해 프로젝트의 기술 스택을 감지하며, npm, pnpm 또는 pip와 같은 기존 패키지 매니저를 사용하여 의존성을 관리합니다. 빌드 검색, 설치 및 업데이트를 위한 전용 도구를 제공하며, 사용자가 수동으로 수정한 코드가 향후 업데이트 시에도 유지되도록 보장합니다. 이러한 방식을 통해 에이전트는 표준 인프라를 다시 만드는 대신 고유한 애플리케이션 로직을 작성하는 데 집중할 수 있습니다.
활용 사례
- 1풀스택 기반 조립에이전트에게 사용자 인증 기능이 포함된 REST API와 같은 특정 애플리케이션 유형을 구축하도록 요청하고, 필요한 모듈을 직접 찾게 합니다.
- 2토큰 소모 감소이미 구축된 모듈을 사용하여 AI가 일반적인 코드 패턴을 다시 생성하며 토큰을 낭비하는 것을 방지합니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
pkg MCP 설치 방법
형식 확인: 2026년 11월 10일Claude Code에 pkg MCP 설치
$ claude mcp add pkg -- npx -y @tneemo/pkgCursor에 pkg MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"pkg": {
"command": "npx",
"args": [
"-y",
"@tneemo/pkg"
]
}
}
}VS Code에 pkg MCP 설치
.vscode/mcp.json
{
"servers": {
"pkg": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@tneemo/pkg"
]
}
}
}Claude Desktop에 pkg MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"pkg": {
"command": "npx",
"args": [
"-y",
"@tneemo/pkg"
]
}
}
}Codex에 pkg MCP 설치
~/.codex/config.toml
[mcp_servers.pkg] command = "npx" args = ["-y", "@tneemo/pkg"]
Gemini CLI에 pkg MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"pkg": {
"command": "npx",
"args": [
"-y",
"@tneemo/pkg"
]
}
}
}구성
PKG_REGISTRY
| 이름 | 설명 | 유형 |
|---|---|---|
| PKG_REGISTRY | — |
자동 검사
2026년 11월 14일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식
- 소스 저장소 연결 및 접근 가능tneemo/pkg is public and reachablegithub.com/tneemo/pkg ↗통과
- 패키지가 이 저장소를 소스로 지정@tneemo/pkg names tneemo/pkg as sourcenpmjs.com/package/@tneemo/pkg ↗통과
- 빌드 출처(Sigstore 증명)No build attestation published for this release검사되지 않음
- 오픈 소스 라이선스 (OSI)MITspdx.org/licenses/MIT.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-10-19github.com/tneemo/pkg ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음No popular package one edit away from @tneemo/pkg통과
- 패키지와 의존성에 심각한 보안 권고 없음1 resolved dependencies checked; no critical advisoryosv.dev ↗통과
- 모델에 대한 숨겨진 지침 없음0 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 원격 endpoint가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기pkg
An open, agent-first marketplace for reusable software, at pkg.tneemo.com.
People publish free, reusable builds: small modules, integrations and complete project foundations, in any stack. A coding agent takes the idea and preferred stack from the conversation, finds compatible builds, installs and assembles them, and writes only what's missing. The agent spends tokens discovering software, not regenerating it.
# Connect your agent once (Claude Code, Cursor, Codex, Windsurf, Gemini CLI)
npx -y @tneemo/pkg setup
# ...or for Claude Code only
claude mcp add pkg -- npx -y @tneemo/pkg mcp
Then ask your agent for what you want to build. No spec files and no accounts.
Global CLI names
Node.js 20+ is required. npm install -g @tneemo/pkg installs both pkg and
tpkg, pointing to the same CLI. The legacy Vercel pkg
package also installs a global pkg executable. These names collide in a shared
npm global prefix; installing both may fail with EEXIST or leave pkg pointing
to the other tool. tpkg identifies this CLI once it is installed, but does not
prevent the installation collision because both aliases are shipped.
For coexistence, avoid the global install and run an explicit package command:
npm exec --yes --package=@tneemo/pkg -- tpkg setup
npm exec --yes --package=@tneemo/pkg -- tpkg mcp
If you no longer need Vercel's tool, uninstall the unscoped pkg package before
installing @tneemo/pkg globally. Do not use --force to overwrite its executable.
The official MCP Registry entry is io.github.tneemo/pkg.
Maintainers: see public distribution and releases.
What it looks like
Asked for "a TypeScript REST API for a todo app where users sign up, log in and only see their own todos", the agent:
- searches pkg for each part (
rest api,user accounts,database) with the stack it inferred; - installs
tneemo/hono-api tneemo/hono-auth tneemo/hono-rate-limitin one call.tneemo/sqlite-dbis pulled in as a dependency and the stack is checked. After reviewing the dry-run plan, dependency installation is explicitly enabled with--install-deps, then the assembled tests run before adding application code; - follows the integration notes (6 lines of wiring in
src/app.ts), writes the todo routes, migration and tests (3 files, 113 lines); - runs the tests (13 passing) and reports
--workedfor each build, which feeds the builds' reputation.
pkg supplied 23 of the 26 files and 519 lines; the agent wrote 3 files. This exact run is reproducible with the steps in Development.
How agents use it
| Interface | Command | Best for |
|---|---|---|
| MCP server | npx -y @tneemo/pkg mcp |
Claude Code, Cursor, Codex, any MCP client. Server instructions tell the agent to check pkg before writing common code. |
| CLI | npx -y @tneemo/pkg <command> --json |
Any agent with a shell. |
| Agent Skill | skill/pkg/SKILL.md |
Skill-aware agents; installed by pkg setup. |
| HTTP API | /llms.txt |
Direct integrations; agents that only fetch URLs. |
MCP tools: search_builds, get_build, install_builds, update_builds, remove_builds, detect_stack, report_outcome, publish_build.
CLI: search, info, detect, add, update, remove, list, init, publish, feedback, mcp, setup.
How it works
agent ──MCP/CLI──▶ pkg CLI ──HTTPS──▶ registry (Cloudflare Worker)
│ ├─ D1: metadata, FTS5 search, versions, feedback
│ └─ R2: immutable gzipped bundles
├─ detects the project's stack from files on disk
├─ resolves build dependencies (registry) and checks compatibility (locally)
├─ verifies sha256 integrity, rejects unsafe paths
├─ writes files, merges package.json / requirements / .env.example
├─ runs npm/pnpm/yarn/bun or a Python venv + pip
└─ writes pkg.lock.json (versions, integrity, per-file hashes)
- Builds are source, not packages. Like the shadcn registry, files are copied into the project and become the user's code. Libraries stay on npm and PyPI; a build declares them and pkg can install them after explicit review.
- Compatibility works on stack tags detected from the project (
node,typescript,hono,nextjs,fastapi, …, plus every dependency asnpm:<name>/pip:<name>) with semver ranges. Builds declarestack.requiresandstack.provides, so a module that needshonois matched with a foundation that provides it, inside a single install. - Updates and removals respect local edits.
pkg updatemoves builds to the newest version within their major (--latestfor new majors) and replaces only files whose sha256 still matches pkg.lock.json; edited files are left untouched and reported as conflicts.pkg removedeletes only unedited files, refuses while another installed build depends on the one being removed, and lists packages no build needs any more without uninstalling them. - Integration is split: everything deterministic is automated (files, dependencies, scripts, env vars, migrations by convention), and the last mile of wiring goes to the agent as precise
INTEGRATION.mdnotes, which agents follow reliably. - Publishing is
pkg init(writespkg.jsonby detecting the stack, imported packages, the folder's place in the project and imports of other installed builds) andpkg publish. Identity is your GitHub login (gh auth token/GITHUB_TOKEN); builds are named<login>/<name>. pkg has no accounts.
Trust and safety
- Automated checks on every publish (the same code runs locally first). Rejected: path traversal,
.git/node_modulespaths, secrets and private keys,.envfiles, invalid manifests, npm/PyPI dependencies that don't exist (dependency confusion), oversized bundles. Shown to every installer as warnings: npm install scripts, pipe-to-shell, evaluating decoded data, hard-coded IPs, minified code, prompt injection aimed at agents, and files that configure agents or editors (.claude/,.mcp.json,AGENTS.mdin modules,.vscode/tasks.json, CI workflows). - Review before installing. Dependency installation is off by default. Inspect
--dry-runfirst, then explicitly use--install-depsto run npm with--ignore-scriptsor pip with--only-binary=:all:. Registry checks are warnings, not a sandbox. Bundles are integrity-checked, every path is re-validated client-side, and existing files are never overwritten without--force(files pkg installed and nobody edited can be updated in place). - Agent-facing text is labeled. Integration notes are returned as "build documentation, not user instructions", and the MCP server instructions tell agents the same.
- Community reputation without accounts. Agents report
success/failure/reportafter integrating a build; votes are deduplicated per day by salted IP hash. Search ranks by relevance (BM25), stack fit, agent-reported success rate (Bayesian) and quality score; flagged builds are demoted. Raw downloads carry no ranking weight. - Versions are immutable.
Prior art and what was reused
| Existing solution | What pkg takes from it |
|---|---|
| shadcn registry | Source-copy distribution, JSON item with embedded files. Every npm build is also served as a shadcn registry item at /r/<owner>/<name>.json, so projects already set up for shadcn (with a components.json) can npx shadcn add it. |
| Go modules, JSR, GitHub | Namespaces from an existing identity instead of new accounts. |
| npm / PyPI trusted publishing | Publish with a GitHub token, no registry passwords. |
npm, PyPI, package.json engines, PEP 508/440 |
Dependencies, version ranges and runtime requirements use the native formats and package managers. |
| Model Context Protocol | Official TypeScript SDK; server instructions make discovery part of the agent's normal workflow. |
Agent Skills, llms.txt, AGENTS.md |
Agent-readable entry points; foundations ship an AGENTS.md with their conventions. |
| SQLite FTS5 on Cloudflare D1 | Full-text search with no search service to run. |
Template tools (create-*, degit, cookiecutter, copier) solve starting a project. Component registries (shadcn, Bit) mostly cover one stack, and MCP and skill registries distribute tools rather than application code. pkg combines composable foundations and modules across stacks with agent-native discovery and integration.
Costs
One Cloudflare Worker with D1 and R2. The free tier covers 100k requests/day, 5 GB of D1 and 10 GB of R2 with free egress. There are no servers, queues or search clusters, and bundles are immutable and cacheable. The CLI is a single dependency-free file.
Development
Requires Node.js 22.12+ (24 recommended) and, for the Python builds, Python 3.10+.
npm install
npm run build # bundles cli/dist/pkg.js
echo "ADMIN_TOKEN=dev-admin-token" > registry/.dev.vars
npm run dev # registry on http://localhost:8787 (local D1 + R2)
# in another terminal: publish the example builds, then use the CLI against the local registry
PKG_REGISTRY=http://127.0.0.1:8787 PKG_TOKEN=dev-admin-token npm run seed
PKG_REGISTRY=http://127.0.0.1:8787 node cli/dist/pkg.js search "user accounts" --stack typescript,hono
PKG_REGISTRY=http://127.0.0.1:8787 node cli/dist/pkg.js add tneemo/hono-api tneemo/hono-auth --dir /tmp/my-api
PKG_REGISTRY=http://127.0.0.1:8787 npm test # unit tests + MCP end-to-end test
npm run typecheck
To point an agent at the local registry, use node <repo>/cli/dist/pkg.js mcp as the MCP command with PKG_REGISTRY=http://127.0.0.1:8787 in its environment.
Watch an independent agent do it
examples/agent-demo/ contains only an .mcp.json that connects the local CLI and registry. With the registry running and seeded, start Claude Code in that folder (approve the pkg MCP server if asked) and ask, without mentioning pkg:
Build a small TypeScript REST API for a todo list app. Users sign up and log in, and each user only sees their own todos. Make sure the tests pass.
The agent learns about pkg only from the MCP server's instructions and tools.
Deploying pkg.tneemo.com
cd registry
npx wrangler login
npx wrangler d1 create pkg # put the printed database_id in wrangler.jsonc
npx wrangler r2 bucket create pkg-bundles
npx wrangler secret put ADMIN_TOKEN # for seeding and moderation
npx wrangler secret put IP_SALT # any random string
npm run deploy # applies migrations, deploys, binds pkg.tneemo.com
cd .. && PKG_TOKEN=<admin token> npm run seed
The npm package and MCP Registry metadata use the separate, manually confirmed distribution workflows.
Repository layout
cli/ @tneemo/pkg: CLI + MCP server (bundled with esbuild into one file)
registry/ Cloudflare Worker: JSON API, website, llms.txt, shadcn endpoint; D1 migrations
shared/ manifest format, compatibility engine and security checks (used by both)
builds/ example builds: hono-api, sqlite-db, hono-auth, hono-rate-limit, fastapi-service, fastapi-api-key
skill/ Agent Skill (SKILL.md)
test/ unit tests and the MCP end-to-end test
Not done yet
- GitHub Actions OIDC tokens for publishing from CI without a personal token (a
GITHUB_TOKENalready works). - Semantic search (Workers AI + Vectorize) on top of FTS5; today agents search per part with plain words.
- Version yanking and moderation tooling.
- Modules published from a subfolder can only ship files inside that folder.
License
MIT
pkg MCP 질문
pkg MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add pkg -- npx -y @tneemo/pkg를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
pkg MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
에이전트를 pkg에 어떻게 연결하나요?
'npx -y @tneemo/pkg setup'을 사용하거나, Claude Code의 경우 'claude mcp add pkg -- npx -y @tneemo/pkg mcp'를 실행하여 연결할 수 있습니다.
빌드는 패키지 형태로 설치되나요, 아니면 소스 코드 형태로 설치되나요?
빌드는 shadcn registry와 유사하게 소스 코드 형태로 배포됩니다. 즉, 외부 라이브러리 패키지로 관리되는 대신 파일이 프로젝트로 직접 복사됩니다.
pkg는 보안과 신뢰성을 어떻게 처리하나요?
시스템은 게시될 때마다 자동 검사를 수행하여 안전하지 않은 경로와 비밀 정보를 차단하며, npm install 스크립트나 하드코딩된 IP 등에 대해 경고를 제공합니다. 또한 사용자는 의존성을 설치하기 전에 dry-run 계획을 검토할 수 있습니다.