Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Evidence-oriented code questions, diff review and test selection via a Jev endpoint.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
JEV_TOOLS_URL, JEV_TOOLS_API_KEY, JEV_TOOLS_MODEL, JEV_TOOLS_ALLOW_COMMAND비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"jev-agent-tools": {
"command": "npx",
"args": [
"-y",
"jev-agent-tools"
],
"env": {
"JEV_TOOLS_URL": "your-value",
"JEV_TOOLS_API_KEY": "your-value",
"JEV_TOOLS_MODEL": "your-value",
"JEV_TOOLS_ALLOW_COMMAND": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add jev-agent-tools --env JEV_TOOLS_URL=your-value --env JEV_TOOLS_API_KEY=your-value --env JEV_TOOLS_MODEL=your-value --env JEV_TOOLS_ALLOW_COMMAND=your-value -- npx -y jev-agent-tools실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"jev-agent-tools": {
"command": "npx",
"args": [
"-y",
"jev-agent-tools"
],
"env": {
"JEV_TOOLS_URL": "your-value",
"JEV_TOOLS_API_KEY": "your-value",
"JEV_TOOLS_MODEL": "your-value",
"JEV_TOOLS_ALLOW_COMMAND": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"jev-agent-tools": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"jev-agent-tools"
],
"env": {
"JEV_TOOLS_URL": "your-value",
"JEV_TOOLS_API_KEY": "your-value",
"JEV_TOOLS_MODEL": "your-value",
"JEV_TOOLS_ALLOW_COMMAND": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
JEV_TOOLS_MODEL envJEV_TOOLS_ALLOW_COMMAND env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 NomenAK 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: JEV_TOOLS_URL, JEV_TOOLS_API_KEY
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.4.0)은 30일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, TF Rooms
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ 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.
Live room availability, rates and stay quotes for 12 New Leaf motels in Twin Falls, Idaho.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Six evidence-oriented tools for pi, omp and any MCP client, compatible with the Jev API format. Use them to navigate unfamiliar code, ask typed questions about repository evidence, review completed changes and select existing tests. They complement reading, searching and execution; they do not replace them.
Watch the launch video (74 s, MP4).
New here? Start with the getting-started guide; the documentation index maps every audience to its docs.
Install through your host's package manager, or register the MCP server with an MCP client. The npm package is jev-agent-tools. pi and omp load its TypeScript sources directly; the MCP server ships prebuilt.
pi install npm:jev-agent-tools@0.4.0
pi install -l npm:jev-agent-tools@0.4.0
omp plugin install jev-agent-tools@0.4.0
Since version 0.2.0, the package also ships jev-agent-tools-mcp, a stdio MCP server that exposes the same six tools to any MCP client: Claude Code, Claude Desktop, Kiro, Cursor, VS Code, Codex CLI and others. A typical mcpServers entry:
{
"mcpServers": { "jev": { "command": "npx", "args": ["-y", "-p", "jev-agent-tools", "jev-agent-tools-mcp", "--root", "/path/to/repository"], "env": { "JEV_TOOLS_URL": "${JEV_TOOLS_URL}", "JEV_TOOLS_API_KEY": "${JEV_TOOLS_API_KEY}" } } } }
On Windows most clients start commands without a shell, so use "command": "cmd" with "/c", "npx" at the start of args. The MCP setup guide has per-client files, CLI commands, variable interpolation, verification and troubleshooting. Releases are also listed in the official MCP Registry as io.github.NomenAK/jev-agent-tools. Add the agent instructions to CLAUDE.md, AGENTS.md or a Kiro steering file so the agent uses and reads the tools correctly.
The server reads the same environment variables as pi and omp and the configuration saved by /jev-setup. One server process is one session. MCP has no automatic run-end documentation hook; its absence does not require manual replacement calls. jev_ask is marked as not read-only while commands are enabled; set JEV_TOOLS_ALLOW_COMMAND=0 to remove command from its schema.
Requires Node.js 24 or later. Supported host baselines are pi 0.87.1 and omp 18.4.10. These are support baselines, not claims that every later version has been individually validated. omp uses its Bun runtime; Node.js is also required for Node-based project checks. Git and, for optional command evidence, Bash must be available. On Windows, command evidence uses Git for Windows bash (found next to git on PATH or under Program Files); the WSL bash.exe launchers are never used. Set JEV_TOOLS_BASH to the full path of another bash. Optional native parsers and file-search acceleration may be unavailable on some platforms; affected tools report their limitations.
The published jev-agent-tools@0.1.3 package was also checked with pi 1.0.0 on Linux under Node.js 24.15.0: npm installation, TypeScript checking against the host types, all six tools in the actual CLI, and reading-guide injection passed. The CLI smoke used a simulated conversation provider and Jev endpoint; it verifies host integration, not live model accuracy or every tool scenario.
pi 1.0.0 packaging warning: the package declares @sinclair/typebox in dependencies, while pi expects host-provided extension modules in peerDependencies with a "*" range. pi warns that separately installed copies can create duplicate runtime modules. The warning did not prevent the smoke from completing; it remains a packaging issue, not a claim of warning-free compatibility.
In the main interactive terminal of pi or omp, a first launch without configuration offers Configure now / Later. Run /jev-setup at any time to change the endpoint, model or key. The key is typed in a masked field and is never passed as a command-line argument. Choose This session only (nothing is written) or Save for future sessions. Cancelling at any step changes nothing.
| Flag | Effect |
|---|---|
--jev-skip-setup | Suppress the first-launch offer for this run; /jev-setup still works. |
--jev-url | Endpoint for this run. |
--jev-model | Jev model for this run, not the conversation model. |
No dialog appears in print, JSON or RPC modes, or in sub-agents; configure those with the environment variables below. Changes apply immediately, without restarting the host.
Interactive setup waits for submission or cancellation, without a credential-entry timeout. The first-launch offer does not keep the host's startup event handler open while you find the endpoint or key.
Precedence per field: environment variable, then launch flag, then this session's setup, then saved configuration, then the default model openjev. A field set by the environment or a flag is shown as controlled and is never saved.
Saved configuration lives outside the repository at $XDG_CONFIG_HOME/jev-agent-tools/config.json (default ~/.config/jev-agent-tools/config.json), in a private directory (0700) with a private file (0600). On Windows, where mode bits do not exist, privacy is the folder's access list: saving restricts it to you, SYSTEM and Administrators, and loading refuses any other account with access. The key is stored in plaintext, not encrypted. Storage that is a symlink, accessible to other users, not owned by you or malformed is refused rather than overwritten. The MCP server also reads this file, after environment variables.
Set these before starting the host, using your own endpoint and credentials:
export JEV_TOOLS_URL="${YOUR_JEV_ENDPOINT}"
export JEV_TOOLS_API_KEY="${YOUR_JEV_API_KEY}"
export JEV_TOOLS_MODEL="openjev"
YOUR_* placeholders are inputs you supply, not additional product settings. Environment variables are read when the extension loads and take precedence over everything else.
| Variable | Meaning |
|---|---|
JEV_TOOLS_URL | Required complete endpoint URL compatible with the Jev API format. Must be https:; plain http: is accepted only for 127.0.0.1, ::1 or localhost. |
JEV_TOOLS_API_KEY | Required Bearer credential; configuration values are not printed in tool output, and command children never receive it. |
JEV_TOOLS_MODEL | Requested model string, default openjev; a moving alias, not a guarantee of served-model identity. |
JEV_TOOLS_MAX_CALLS | Session-wide non-negative safe-integer call limit; absent or empty means unlimited. Invalid values refuse requests. |
JEV_TOOLS_MAX_USD | Session-wide finite non-negative cost limit, including fractions; absent or empty means unlimited. Invalid values refuse requests. |
JEV_TOOLS_ALLOW_COMMAND | 0 disables command in jev_ask; otherwise commands run with ordinary shell permissions, without an additional sandbox. |
JEV_TOOLS_AUTO_DOCS | 0 disables the automatic run-end documentation check. |
JEV_TOOLS_BASH | Optional full path of the bash used for jev_ask commands on Windows. |
JEV_TOOLS_ROOT | MCP server only: repository directory when --root is not given. |
Without the endpoint or key, tools remain registered and explain the missing configuration; the automatic documentation check is disabled. There is no fallback to a chat model. Per-tool max_calls is separate from session limits. A model name echoed by the response does not establish which model was actually served.
| Tool | Choose it when |
|---|---|
| jev_ask | One judgment combines a note, files, earlier versions or command output. |
| jev_ask_files | The same questions apply independently to each candidate file. |
| jev_find_files | You need an entry point for a behavioral goal and do not know its filename. In omp, use native find when active. |
| jev_locate_in_file | You need the relevant range in one file of at least 19 KB. |
| jev_check_diff | Completed changes need risk, existing-documentation or specification review. |
| jev_select_tests | You need commands for affected existing tests, without running or collecting them. |
Use native read/search tools or code for exact source text, known symbols, filenames, line numbers, counts and arithmetic. Run commands yourself when you need their full output. Tool reference examples use fictional repository paths and are illustrative calls, not recorded executions.
All six tools accept optional root: string. Without it, the host's current directory or configured MCP server directory retains its existing behavior. An override must name exactly the initial repository's Git top-level or a registered live worktree with the same canonical Git common directory. Relative overrides resolve against the initial directory; absolute paths are accepted only for this parameter. Subdirectories, other clones/repositories, parent traversal and symlink components are refused before evidence collection, command execution, cache access or judgment. There is no fallback to a different checkout.
The admitted root governs files, base/diff, inventories, specification paths, runner plans and command cwd for that call only. It does not change another call or the automatic documentation hook. File arguments remain repository-relative and confined. A command still has ordinary shell permissions, not a sandbox. Check the reported authority, requested/effective root and resolved base before using a result.
Each result begins with execution state: complete, partial, not_judged or refused. This describes processing, not correctness, safety or coverage. Items distinguish fresh or cached Jev judgments, static treatment and work never judged. Static selection and conservative fallback carry no invented probability. A judged line without an uncertainty mark is a verdict: a lead to check, not proof beyond the supplied evidence.
| Mark | Meaning and next action |
|---|---|
unsure | The answer is ambiguous or a control failed. Read the indicated passage or add the specific evidence that would settle it. Do not merely reword the question. |
abstain | A necessary piece is missing. Obtain the named evidence or leave the conclusion open; another Jev call is optional when the changed evidence makes it useful. |
no (not shown) / not addressed | The supplied evidence does not show the statement; that does not make it false. |
uncalibrated | No established error-rate calibration applies to this ask; treat it as a hint even if its probability is high. |
| Diagnostics and next actions | Typed cause, origin, affected scope, materiality and recovery instructions; distinguish uncertain judgments from work never judged. |
Ordinary boolean verdict bands are at or below 0.20 and at or above 0.80; category/level verdicts require a leading-option probability of at least 0.85 after applicable controls. Fixed checks and navigation tools have their own thresholds, described in their references and design.
Accounting separates HTTP attempts, questions sent, requested results (fresh/cache/static/not judged), cache probes, auxiliary controls and passage selection, current reported USD cost and elapsed time. These
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요