# Ekbasis

Ekbasis estimates the likely results of commands and multi-step edits. It is useful when an agent is about to change Git state or run a risky action.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 19
- Author: OpenInterpretability
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/OpenInterpretability/ekbasis
- Updated: 2026-10-16
- HTML: https://affpapa.org/en/nevibecode/mcp/ekbasis

## What it does

Ekbasis takes the current project state together with a proposed action and returns probability estimates for its outcome. It can assess whether a command will fail, discard work, or leave a particular state afterwards. The result is produced in one model pass without generated prose.

You can run the MCP server with `uvx ekbasis` and configure `EKBASIS_API_KEY` or `EKBASIS_URL`. Its training combines synthetic scenarios with actual Git command runs in disposable repositories, so the prediction is tied to observed action outcomes rather than an agent’s explanation.

The selected server receives text describing each check. Git checks include repository state, changed-file names, and commit subjects; file contents are not sent. Secret redaction covers several common patterns, but a short or unusual secret can slip through. MCP setup needs `uvx`, and the connection needs either a server URL or an API key.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `EKBASIS_URL`, `EKBASIS_API_KEY` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env EKBASIS_URL=<EKBASIS_URL> --env EKBASIS_API_KEY=<EKBASIS_API_KEY> --transport stdio ekbasis -- uvx ekbasis
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from ekbasis <command>

### Codex

**Platform CLI**
```bash
codex mcp add ekbasis --env EKBASIS_URL=<EKBASIS_URL> --env EKBASIS_API_KEY=<EKBASIS_API_KEY> -- uvx ekbasis
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from ekbasis <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "ekbasis": {
            "command": "uvx",
            "args": [
                "ekbasis"
            ],
            "env": {
                "EKBASIS_URL": "<EKBASIS_URL>",
                "EKBASIS_API_KEY": "<EKBASIS_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from ekbasis <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "ekbasis": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "ekbasis"
            ],
            "env": {
                "EKBASIS_URL": "<EKBASIS_URL>",
                "EKBASIS_API_KEY": "<EKBASIS_API_KEY>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from ekbasis <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e EKBASIS_URL=<EKBASIS_URL> -e EKBASIS_API_KEY=<EKBASIS_API_KEY> ekbasis uvx ekbasis
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from ekbasis <command>

## When to use it
- estimate whether a Git action can lose work
- check if a proposed command is likely to fail
- predict repository state after a multi-step change
- give an agent a probability for an action’s consequences

## Example prompts
- Ask Ekbasis whether this Git command could discard the current changes before running it.
- Use Ekbasis to estimate the chance that the proposed multi-step edit will fail.
- Have Ekbasis predict the repository state after this action and return the relevant probabilities.

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [World Monitor](https://affpapa.org/en/nevibecode/mcp/world-monitor.md) — MCP server · ★ 89408
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [Front-End Checklist](https://affpapa.org/en/nevibecode/mcp/front-end-checklist.md) — MCP server · ★ 74559
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89433

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
