Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Vet a package (CVEs, license, maintenance) before your AI agent uses it, plus capability discovery.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
STARLOG_API_KEY비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"starlog": {
"command": "npx",
"args": [
"-y",
"starloghq",
"mcp"
],
"env": {
"STARLOG_API_KEY": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add starlog --env STARLOG_API_KEY=your-value -- npx -y starloghq mcp실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"starlog": {
"command": "npx",
"args": [
"-y",
"starloghq",
"mcp"
],
"env": {
"STARLOG_API_KEY": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"starlog": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"starloghq",
"mcp"
],
"env": {
"STARLOG_API_KEY": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 starloghq 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: STARLOG_API_KEY
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.9.0)은 3개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, Systemdox
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Your architecture in your agents' context: checks, specs, ADRs and docs over MCP, at write time.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Starlog
Vet a package before your AI coding agent uses it — authoritative facts (CVEs, license, maintenance), free, local, no account.
Vet a package in one command — nothing to install, no API key, no account:
npx starloghq facts ua-parser-js
Then wire it into your coding agent (Claude Code, Cursor, Copilot, Codex):
npx starloghq init
Source-available under BUSL-1.1 — free to use, modify, and self-host; converts to Apache-2.0 in 2030. Details ↓
AI coding agents (Claude Code, Cursor, Copilot) pick libraries from training recall — a snapshot of scraped code, frozen at a cutoff date and ranked by how often an option appeared, not by what fits your task or what's safe *now*. That recall can't know about a CVE disclosed last week, and it has never seen your company's internal libraries. The agent recommends anyway, with the same confidence either way.
The failure modes are measurable: research finds ~49% of AI-suggested dependencies carry known vulnerabilities and ~34% are hallucinated outright — the package doesn't exist. And for whole categories — most dangerously auth — agents default to hand-rolling custom code instead of reaching for a vetted library.
You can't fix recall by prompting harder. Starlog puts authoritative, dated facts in front of your agent at decision time. Its hero surface is vetting by name — starlog facts returns known CVEs/incidents, SPDX license + risk, and maintenance status (or an honest *"no facts on file"*) — so the install/avoid/pick call rides on facts, not recall. It runs entirely on your machine as an MCP server and a package-install hook, no API key, no sign-up. A companion starlog_search finds candidate packages for a capability; facts vet the pick.
Does it actually change what the agent decides? Yes — measured before/after, on the venue that matters (private libraries and post-cutoff advisories). → the validated result.
" line so a stale "no known vulns" is never mistaken for a fresh one. A package with no record returns an honest "no facts on file." Facts are three independent layers, composed at query time: L1 capability/effect-surface (immutable), L2 reputation/vuln/license/maintenance (mutable — carries the as of recency), L3 org policy (your suitability verdict). Override or extend any layer locally: point STARLOG_PRIVATE_FACTS at a JSON file with independent l1/l2 arrays (internal packages, license rulings) and STARLOG_POLICY at an org policy ({ org, rules }) for allow/deny/flag verdicts. With STARLOG_API_KEY set, org-private overlays and policy come from the hosted facts API (local corpus is the offline fallback); starlog facts push uploads your org's overlays + policy. See docs/FACTS-CONTRACT.md.npm install / pnpm add / yarn add / pip install and surfaces that package's facts (known incidents, license, maintenance) *before* the agent builds on it. Advisory — it informs the next move, it doesn't block the install. Packages with no record are queued for coverage.starlog_facts. Discovery surfaces what exists; facts vet it..starlog/patterns.json.STARLOG_API_KEY opts into the hosted facts/search tiers (with local fallback) — get a key at starlog.dev and wire it with starlog init --api-key ; anonymous, opt-out usage telemetry is the only thing sent otherwise — see Telemetry.This repo ships the engine plus a curated facts corpus and a discovery corpus of 26 capability manifests across 7 categories (including authentication playbooks for migration).
npx starloghq init
This wires Starlog into Claude Code (and drops instruction files for Cursor, Copilot, Codex):
~/.claude/settings.json — exposes starlog_facts (vet a package by name), starlog_search (discover candidates), and starlog_advise (migrate-or-packageize for DIY patterns), and wires your per-project private overlays (${CLAUDE_PROJECT_DIR}/.starlog/*) into the agent so internal-package facts + discovery work automatically in each projectPrefer a bare starlog command over typing npx? Install it globally:
npm install -g starloghq
starlog init
If
starlogthen reports `command not found`, your npm global bin directory isn't on yourPATH(a common npm setup gap — not a Starlog issue). Either runexport PATH="$(npm prefix -g)/bin:$PATH"(add it to your shell profile to persist), or just keep usingnpx starloghq init/npx starloghq facts, which always work without any PATH setup. If the install itself printed anEACCES/permission error, it didn't complete — fix your npm prefix or usenpx.
Add --project to also drop Starlog guidance into your project's CLAUDE.md; preview without writing, or remove cleanly:
starlog init --project
starlog init --dry-run starlog init --uninstall
Want your coding agent to do the setup? starlog init --agent-prompt prints a ready-to-paste prompt (preview → optional key → apply → doctor → restart → demo) that walks Claude Code, Cursor, Copilot, or Codex through it non-interactively. It writes nothing.
Want a live dependency scanner next to Starlog's dated facts? starlog init --with-socket also wires Socket's free hosted MCP server (depscore), so your agent can catch anything disclosed after a fact's "as of" date. It's opt-in because your agent then sends the package names it checks to socket.dev. An existing socket entry you configured yourself is never overwritten, and --uninstall removes only the entry Starlog wrote.
Don't hand-author facts for every internal repo — point Starlog at a directory of checkouts and it derives them in one pass:
starlog org sync ~/code/my-org
For each published package it finds (npm package.json and Python pyproject.toml), it derives:
.starlog/private-facts.json — license + license risk (from the manifest, or detected from the LICENSE file), maintenance from git last-commit recency, stamped source: analyzer with a dated as of. Your agent vets these by name..starlog/private-corpus.json — captures each manifest's description + keywords so your agent can find internal packages by capability via starlog_search, not just vet them by name..starlog/policy.suggested.json — flag candidates (e.g. strong-copyleft, no declared license) derived from the signals. These are proposals the agent does not read — review them, then adopt the ones you trust with starlog facts policy flag.Source never leaves your machine; only derived facts are written. Re-run anytime to refresh (it merges over existing facts and regenerates suggestions). Repos with no published name — or no description — are reported, never fabricated. Known-vulnerability scanning and remote GitHub-org enumeration are on the roadmap.
git clone https://github.com/starloghq/index.git starlog-index
cd starlog-index && npm install npx tsx src/cli.ts facts ua-parser-js
starlog init writes this for you automatically. To configure by hand, add to ~/.claude/settings.json:
{
"mcpServers": { "starlog": { "command": "npx", "args": ["-y", "starloghq", "mcp"] } } }
This is the same launch command MCP registries use. (From a local source clone instead, point node at dist/mcp.js — $(npm root -g)/starloghq/dist/mcp.js for a global install, or your clone's path.) The server exposes two tools: starlog_facts (an authoritative per-package fact lookup — CVEs, license, maintenance) and starlog_search (a natural-language capability query with optional category, stack, and top_k filters).
Vet a package by name — the hero. Local, no key, no network:
starlog facts ua-parser-js
## ua-parser-js (npm)
Effect surface: Parses User-Agent strings; pure data transformation, in-process. Capabilities: parsing Maintenance: active License: MIT (risk: none) Known vulnerabilities / incidents:
Transitive risk: Frequently a transitive dep — pin away from the three bad versions. Source: GitHub Security Advisory; CISA alert Oct 2021 (hand) Verified: as of 2026-06-01
A package with no record returns an honest "No facts on file" — not a guess. Add --format json for machine-readable output with the independent l1 / l2 / l3 layers.
Discover candidates for a capability, then vet the named pick with facts:
starlog search "auth for a Next.js app"
# Library Category Score Solves
1 Auth0 Next.js SDK authentication 71.36 Implements user authentication in Next.js applications using Auth0 ... 2 Clerk authentication 60.64 Provides a fully managed authentication and user management platfor...
Search ranks locally with the keyword ranker — scores are absolute (a strong match lands in the 70s–80s), so a query outside the indexed cat
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요