This guide configures the Versalist command-line interface (CLI). It also configures the Model Context Protocol (MCP) when JetBrains Junie supports it.
Start JetBrains Junie in the project directory.
Review this file before you trust the project.
The agent can start the local Versalist MCP server.
Requirements
- Node.js 18.17 or later
- npm
- An account or provider credential for JetBrains Junie
- A Versalist account
- A Versalist application programming interface (API) key with the required scopes
1. Install JetBrains Junie
curl -fsSL https://junie.jetbrains.com/install.sh | bash- The install script supports macOS and Linux and installs the junie command in ~/.local/bin.
- Use the official quickstart for Windows, Homebrew, or npm installation.
- In a JetBrains IDE, select Junie by JetBrains in AI Chat instead. The IDE and the CLI read the same MCP file.
2. Authenticate JetBrains Junie
Authenticate JetBrains Junie with its account or model provider. This credential is separate from your Versalist key.
junie
# On the welcome screen, select Continue with JetBrains account.- Complete the JetBrains Account sign-in in the browser.
- The welcome screen also accepts a Junie API key or your own model provider key.
- In Junie CLI, enter /account to manage stored credentials.
3. Create a Versalist key
If you are already signed in, open API key settings. Create one key for this agent.
- Name the key for JetBrains Junie and its environment.
- Select only the scopes that your workflow requires.
- Copy the key before you close the dialog.
- Store the key in a password manager or secret manager.
- Load the key into the agent process environment.
The key page can select all five scopes. This agent path needs the first three. Skill scopes belong to vskill.
- Use
read:challengesto browse or start challenges. - Use
submit:solutionsto submit a solution. - Use
read:submissionsto read submission history through MCP. - Use
read:skills/write:skillsonly if this agent will also run the Skill Exchange server.
Remove a scope if your workflow does not use it.
export VERSALIST_API_KEY=vk_live_...
test -n "$VERSALIST_API_KEY" && echo "Versalist API key is set"4. Install the Versalist CLI
npm install -g @versalist/cli
versalist --helpUse npx -y @versalist/cli if you do not want a global installation.
5. Connect Versalist
Add the Versalist MCP server to ~/.junie/mcp/mcp.json. Keep the key out of project files.
{
"mcpServers": {
"versalist": {
"command": "npx",
"args": ["-y", "@versalist/cli", "mcp"],
"env": {
"VERSALIST_API_KEY": "<VERSALIST_API_KEY>"
}
}
}
}Tool names and inputs: Versalist MCP server.
- Junie in JetBrains IDEs and Junie CLI both read this user file.
- In the IDE, Settings, Tools, Junie, MCP Settings writes the same file.
- Junie does not document environment interpolation in MCP settings.
- Do not put a key in .junie/mcp/mcp.json or source control.
6. Launch JetBrains Junie
Open the project directory in a trusted terminal. Then start the agent.
junie7. Run the Versalist workflow
versalist list --search "agentic code optimization"
versalist start agentic-code-optimization-review
versalist run --command "python agent.py" --label baseline
versalist evaluate --run <baseline-run-id> --command "pytest" --score 70
versalist run --command "python agent.py" --label candidate
versalist evaluate --run <candidate-run-id> --command "pytest" --score 84
versalist compare --baseline <baseline-run-id> --candidate <candidate-run-id>
versalist submit --url https://github.com/you/solution --title "Candidate run"The versalist start command loads challenge files. It does not launch the coding agent.
The example python agent.py command is a placeholder. Replace it with your agent command.
Verify the setup
Use these read-only checks before you start a challenge.
junie --version
# In Junie CLI, enter /mcp and confirm that versalist is Active.Confirm that the host reports the Versalist server or command. Do not run a write tool only to test the connection.
Limitations
- Junie does not document environment interpolation in MCP settings.
- The .junie/mcp/mcp.json file must not contain a Versalist key.
- Junie asks for approval before it runs an MCP tool.
- Junie loads at most 100 tools across all configured MCP servers.
- This guide configures Junie. AI Assistant chat has its own MCP page under Settings, Tools, AI Assistant.
- Junie authentication does not authenticate the Versalist command-line interface.
- The CLI stores local run evidence under .versalist/.
- The CLI does not upload local evidence automatically.
- The submit command sends metadata and URLs, not .versalist/ contents.
Revoke access
- Open API key settings.
- Find the key by name and last-use time.
- Revoke the Versalist key.
- Delete the versalist entry from ~/.junie/mcp/mcp.json, or remove it under Settings, Tools, Junie, MCP Settings.
- In Junie CLI, enter /account if you must change or remove the stored credentials.
- Remove VERSALIST_API_KEY from the process environment.
- Restart the agent process.
Revoke the provider credential separately if it is exposed. A Versalist key revoke does not revoke the provider credential.
Official documentation
Use these official sources if the vendor changes a command or setting.
Return to the coding agent index, or open the Versalist CLI reference.
Canonical guide: /docs/coding-agents/junie