# Infimium

A local context layer for coding agents: semantic code lookup, dependency graphs and project memory. Nothing leaves your machine.

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

## What it does

Infimium hands the agent a small, relevant slice of the repo before it starts editing. Ask `semantic_code_search` for a concept and you get symbol signatures back; pull the full body with `expand_symbol` only for the one you need. `dep_graph` answers the other question — which imports, callers, callees and HTTP routes touch a symbol.

Memory lives in a local SQLite file. `infimium remember` stores a decision or milestone, `infimium resume` shows the active task with recent events, and `infimium_update` with `action: start` turns on periodic checkpoints. Checkpoints run only while a watcher or MCP server is open; `stop` shuts them off for that project. One config serves every repo: `~/.infimium/.env`, with vectors, graphs and docs kept under the same home directory.

You need Node.js 22.5 and a setup run from inside the repository, not from your home folder. No Ollama installed yet? Add `--install-deps`. `infimium plan` also wants a local text model such as `llama3.1`; the `--dry-run` variant skips it and prints the retrieved context instead. Web search stays off unless you set a Tinyfish key.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `SEARCH_API_KEY`, `SEARCH_PROVIDER`, `CODEBASE_PATH`, `LOCAL_DOCS_PATH`, `CHROMADB_HOST`, `OLLAMA_HOST`, `SHELL_ALLOWLIST` — 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 SEARCH_API_KEY=<SEARCH_API_KEY> --env SEARCH_PROVIDER=<SEARCH_PROVIDER> --env CODEBASE_PATH=<CODEBASE_PATH> --env LOCAL_DOCS_PATH=<LOCAL_DOCS_PATH> --env CHROMADB_HOST=<CHROMADB_HOST> --transport stdio infimium -- npx -y infimium
```
Replace <…> with your own values. 2 more environment variables are in the server README

### Codex

**Platform CLI**
```bash
codex mcp add infimium --env SEARCH_API_KEY=<SEARCH_API_KEY> --env SEARCH_PROVIDER=<SEARCH_PROVIDER> --env CODEBASE_PATH=<CODEBASE_PATH> --env LOCAL_DOCS_PATH=<LOCAL_DOCS_PATH> --env CHROMADB_HOST=<CHROMADB_HOST> -- npx -y infimium
```
Replace <…> with your own values. 2 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "infimium": {
            "command": "npx",
            "args": [
                "-y",
                "infimium"
            ],
            "env": {
                "SEARCH_API_KEY": "<SEARCH_API_KEY>",
                "SEARCH_PROVIDER": "<SEARCH_PROVIDER>",
                "CODEBASE_PATH": "<CODEBASE_PATH>",
                "LOCAL_DOCS_PATH": "<LOCAL_DOCS_PATH>",
                "CHROMADB_HOST": "<CHROMADB_HOST>"
            }
        }
    }
}
```
Replace <…> with your own values. 2 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "infimium": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "infimium"
            ],
            "env": {
                "SEARCH_API_KEY": "<SEARCH_API_KEY>",
                "SEARCH_PROVIDER": "<SEARCH_PROVIDER>",
                "CODEBASE_PATH": "<CODEBASE_PATH>",
                "LOCAL_DOCS_PATH": "<LOCAL_DOCS_PATH>",
                "CHROMADB_HOST": "<CHROMADB_HOST>"
            }
        }
    }
}
```
Replace <…> with your own values. 2 more environment variables are in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e SEARCH_API_KEY=<SEARCH_API_KEY> -e SEARCH_PROVIDER=<SEARCH_PROVIDER> -e CODEBASE_PATH=<CODEBASE_PATH> -e LOCAL_DOCS_PATH=<LOCAL_DOCS_PATH> -e CHROMADB_HOST=<CHROMADB_HOST> infimium npx -y infimium
```
Replace <…> with your own values. 2 more environment variables are in the server README

## When to use it
- locate a symbol from a task description instead of its name
- trace callers, callees and routes around a function
- hand off decisions and progress to the next agent session
- draft an edit plan grounded in code and graph context
- search local Markdown and PDF docs

## Example prompts
- Check that Infimium responds with `hello_infimium`
- Use `semantic_code_search` to find the price calculation logic
- Save a note: login validation rewritten, auth tests next

## 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
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
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
