Local-first MCP plugin for continuous software-quality review by AI coding agents, powered by Jev.
# Add to your Claude Code skills
git clone https://github.com/NiazMorshed2007/jev-reviewSee how jev-review compares with popular alternatives.
jev-review is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by NiazMorshed2007. Local-first MCP plugin for continuous software-quality review by AI coding agents, powered by Jev. It has 70 GitHub stars.
jev-review's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/NiazMorshed2007/jev-review" and add it to your Claude Code skills directory (see the Installation section above).
jev-review is primarily written in TypeScript. It is open-source under NiazMorshed2007 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh jev-review against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
Continuous software-quality review for AI coding agents, powered by Jev.
Quick start · Client setup · Quality dimensions · Security
Jev Review runs as a local MCP server and gives Claude Code, Codex, Cursor, and OpenCode structured quality scores while they work. Your coding agent remains responsible for diagnosing weaknesses and changing the code; Jev supplies a fast scalar signal across correctness, complexity, changeability, modularity, tests, security, and other independent quality dimensions.
[!IMPORTANT] Your API key stays on your machine. Jev Review has no hosted backend, database, telemetry service, or author-operated proxy. The only remote request is sent directly to the configured Jev API.
https://github.com/user-attachments/assets/0ff9f873-0652-4826-af3d-6bb4f42c70b1
| Purpose | Continuous, structured software-quality evaluation |
| Supported clients | Claude Code, Codex, Cursor, OpenCode |
| Distribution | This GitHub repository—no npm publication |
| Runtime | Local Node.js process over MCP stdio |
| Remote access | Direct requests to Jev using your API key |
| MCP tools | One focused tool: jev_review |
| Code changes | Always performed by the primary coding agent |
Requirements:
Set your API key before starting the coding agent:
export JEV_API_KEY="your-key"
Install Jev Review directly from GitHub—no npm publication is required:
npx plugins add NiazMorshed2007/jev-review
Choose your coding client when prompted, restart it, and ask the agent to use jev-review while implementing a nontrivial change.
flowchart LR
A[Agent implements] --> B[Focused diff and context]
B --> C[Jev Review MCP]
C --> D[Jev evaluation]
D --> E[Structured quality signals]
E --> F[Agent improves the code]
F -. review again .-> B
Jev Review is intended for frequent, focused checkpoints: after a coherent implementation slice, after a score-driven improvement, and before final handoff. The first call establishes a baseline. The agent then inspects its own implementation, forms a hypothesis about weak dimensions, improves the code, validates it, and rescores.
Jev returns typed Score, Choice, and Noul decisions rather than a free-form review essay. It does not generate a prose explanation of why a score is low. Jev Review validates and converts those decisions into metric scores, confidence levels, coarse rubric hints, and comparisons with a previous evaluation. The coding agent—not Jev—must determine the actual cause and appropriate code change.
There is deliberately no synthetic “82/100” overall score. Dimension changes such as Readability 6.3 → 8.1 and Security 8.2 → 8.2 are more useful than a blended percentage.
| Client | Plugin installation | Manual MCP available |
|---|---|---|
| Claude Code | npx plugins add NiazMorshed2007/jev-review --target claude-code |
Yes |
| Codex | npx plugins add NiazMorshed2007/jev-review --target codex |
Yes |
| Cursor | npx plugins add NiazMorshed2007/jev-review --target cursor |
Yes |
| OpenCode | Manual configuration below | Yes |
Every client starts the same bundled dist/server.js process locally over stdio.
npx plugins add NiazMorshed2007/jev-review --target claude-code
Restart Claude Code and run /mcp to confirm that jev-review is connected.
To load a local clone while developing:
claude --plugin-dir /absolute/path/to/jev-review
Manual MCP-only setup:
claude mcp add --scope user jev-review -- node /absolute/path/to/jev-review/dist/server.js
npx plugins add NiazMorshed2007/jev-review --target codex
Restart Codex and run /mcp to verify the connection.
Manual setup in ~/.codex/config.toml:
[mcp_servers.jev-review]
command = "node"
args = ["/absolute/path/to/jev-review/dist/server.js"]
env_vars = ["JEV_API_KEY"]
npx plugins add NiazMorshed2007/jev-review --target cursor
Restart Cursor and check Settings → MCP. The bundled skill is named jev-review; invoke it with /jev-review or leave it on Agent Decides.
Manual setup in ~/.cursor/mcp.json:
{
"mcpServers": {
"jev-review": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/jev-review/dist/server.js"],
"env": {
"JEV_API_KEY": "${env:JEV_API_KEY}"
}
}
}
}
If Cursor is launched from the macOS Dock, it may not inherit variables from your shell profile. Make the already-exported key available to GUI applications before starting Cursor:
launchctl setenv JEV_API_KEY "$JEV_API_KEY"
Verify without printing the key:
test -n "$(launchctl getenv JEV_API_KEY)" && echo "JEV_API_KEY is configured"
OpenCode does not currently appear in the portable plugins installer targets. Point it at the same bundled server instead:
git clone https://github.com/NiazMorshed2007/jev-review.git
cd jev-review
opencode mcp add jev-review --global -- node "$PWD/dist/server.js"
For the full skill and MCP setup, add this to ~/.config/opencode/opencode.json, replacing the absolute path:
{
"$schema": "https://opencode.ai/config.json",
"skills": ["/absolute/path/to/jev-review/skills"],
"mcp": {
"servers": {
"jev-review": {
"type": "local",
"command": ["node", "/absolute/path/to/jev-review/dist/server.js"],
"environment": {
"JEV_API_KEY": "{env:JEV_API_KEY}"
}
}
}
}
}
Run opencode mcp list to verify the connection. OpenCode may display the tool as jev-review_jev_review; the underlying MCP tool is still jev_review.
Jev Review intentionally starts with one tool: jev_review.
{
task?: string;
diff?: string;
files?: Array<{
path: string;
content: string;
}>;
repositoryContext?: string;
previousEvaluation?: Evaluation;
}
At least one current-context field is required. Callers should normally send the task and focused diff, adding complete files only when the surrounding implementation is necessary to understand the change. Jev Review never reads the repository automatically.
Jev Review does not impose an additional character, token, or file-count limit. The Jev API currently enforces its own token ceiling: live jev-latest behavior indicates roughly 32,768 tokens for the submitted state, although this number is not published in the API documentation or OpenAPI schema and may change. When Jev returns max_tokens_exceeded, the server asks the agent to reduce unrelated context or split the change into coherent review slices.
The response contains:
{ "applicable": false } for dimensions unsupported by the supplied contextpreviousEvaluation is suppliedAlways evaluated when the supplied context is sufficient:
Evaluated only when relevant evidence is present:
The evaluator judges consequences in context. It does not assume short functions, small files, zero duplication, more layers, more comments, or more tests are automatically better.
The included jev-review skill teaches agents to treat Jev as a repeated scalar feedback loop:
jev_review with focused context to establish a baseline.previousEvaluation, then inspect improvements and regressions.Correctness and the user's requirements always outrank score improvement. A higher score never justifies speculative architecture, unnecessary abstraction, scope expansion, breaking behavior, meaningless tests, or needless rewrites.
jev-review/
├── plugin.json # Portable Agent Plugin manifest
├── mcp.json # Portable stdio MCP definition
├── .claude-plugin/
│ └── plugin.json # Claude Code adapter
├── .codex-plugin/
│ └── plugin.json # Codex metadata
├── skills/
│ └── jev-review/
│ └── SKILL.md # Age