infimium-agent

mcp
Guvenlik Denetimi
Uyari
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Uyari
  • fs module — File system access in package.json
  • process.env — Environment variable access in src/chroma.ts
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

Infimium helps agents find the right code, docs, and dependencies — before they edit. Local-first, open-source, MCP-compatible.

README.md

Infimium

Infimium

Private context layer for AI agents. Web search, local docs, semantic code search, dependency graph, memory, and planning from one MCP server on your machine.

npm version
MIT
GitHub stars

Why

Agents lose context when repos get big. They either read too much, burn tokens, or miss the real function because keyword search is not enough.

200,000 lines of code
Agent reads everything -> context blown + expensive
grep "price calculation" -> misses calcPropertyValue()

With Infimium, the agent asks targeted tools first:

tool: semantic_code_search
query: "price calculation logic"

-> services/property/calc.ts:142 · calcPropertyValue()
-> imported by: listing.ts, tax.ts, pdf-generator.ts, calc.test.ts

What Works Now

  • MCP server with 10 tools.
  • CLI for the same tools.
  • Local code/doc indexing with Ollama + ChromaDB.
  • Dependency graph from imports.
  • Auto-index while the MCP server runs.
  • Project memory across chats, agents, and IDEs.
  • Compact context handoff file at context/layer.md.
  • Setup checker with copy-paste fixes: npx infimium doctor.

Quick Start

Beginner path: install Docker, then run one command.

git clone https://github.com/infimium-ai/infimium-agent.git
cd infimium-agent
./scripts/setup.sh

This creates .env, starts ChromaDB/Ollama, pulls nomic-embed-text, indexes the repo, and prints MCP config.

Optional web search:

SEARCH_PROVIDER=tinyfish
SEARCH_API_KEY=your_tinyfish_key

No search key? Fine. Code search, docs search, dep graph, memory, context, fetch, shell, status, and doctor still work.

Connect To Cursor, Windsurf, Or Claude

Use the config printed by ./scripts/setup.sh, or paste this and change the path:

{
  "mcpServers": {
    "infimium": {
      "command": "npx",
      "args": ["infimium", "serve"],
      "env": {
        "CODEBASE_PATH": "/absolute/path/to/your/repo",
        "LOCAL_DOCS_PATH": "/absolute/path/to/your/repo/docs",
        "CHROMADB_HOST": "http://localhost:8000",
        "OLLAMA_HOST": "http://localhost:11434",
        "SHELL_ALLOWLIST": "ls,git,pwd,npm,npx"
      }
    }
  }
}

Restart your IDE after editing MCP config.

First prompt to test:

Use Infimium hello_infimium.
Use Infimium get_context before starting.
Use Infimium semantic_code_search to explain this repo.

If the agent is in a different workspace than the MCP server, ask it to pass project_path once. Infimium remembers that as the active project.

Tools

Tool Use
hello_infimium Health check. Returns hey-dude.
web_search Tinyfish web search. Requires SEARCH_API_KEY.
fetch_url Fetch a URL and extract readable Markdown/text.
query_local_docs Search indexed .md, .txt, .html, and .pdf docs.
semantic_code_search Search code by meaning using tree-sitter symbols + local embeddings.
dep_graph Find where a symbol is defined, who imports it, and what it imports.
shell Run allowlisted shell commands with timeout and output caps.
plan Build a grounded implementation plan from code search + dep graph context.
project_memory Save or resume task notes across chats and IDEs.
get_context Return compact repo context: task, memory, index health, git changes, touched files.

CLI

npx infimium doctor
npx infimium status
npx infimium index
npx infimium watch
npx infimium hello
npx infimium search "latest MCP registry news"
npx infimium fetch https://example.com
npx infimium code-search "context layer writer"
npx infimium docs-search "setup"
npx infimium dep-graph startServer
npx infimium plan --dry-run "add rate limiting"
npx infimium remember "Finished setup" --type progress --task "Launch prep"
npx infimium resume
npx infimium get-context

Check health:

npx infimium doctor

Expected shape:

1. ✅ Node/npm version
2. ✅ Ollama
3. ✅ Required embedding model
4. ✅ ChromaDB
5. ✅ Config/env
6. ✅ Index status
Summary: 6/6 checks passed

Manual Local Setup

Use this only if Docker setup fails.

npm install
cp .env.example .env
docker compose up -d chromadb
ollama serve
ollama pull nomic-embed-text
npm run build
npx infimium index
npx infimium doctor

Minimal .env:

SEARCH_PROVIDER=tinyfish
SEARCH_API_KEY=
LOCAL_DOCS_PATH=./docs
CODEBASE_PATH=.
SHELL_ALLOWLIST=ls,git,pwd,npm,npx
OLLAMA_HOST=http://localhost:11434
CHROMADB_HOST=http://localhost:8000
INFIMIUM_AUTO_INDEX=true

If Setup Fails

Paste this into Cursor, Claude Code, Codex, or any coding agent:

Set up Infimium in this repo.

Run ./scripts/setup.sh. If it fails, fix the missing dependency.
Make .env exist.
Start ChromaDB.
Start Ollama.
Pull nomic-embed-text.
Run npx infimium index.
Run npx infimium doctor and make all 6 checks pass.
Show me the MCP JSON for this machine.
Do not commit secrets.

How The Context Layer Works

Infimium indexes your repo into:

  • SQLite: index metadata, project memory, dependency graph.
  • ChromaDB: local vector search over docs and code symbols.
  • context/layer.md: compact JSON handoff for new agents.

When infimium serve is running, it refreshes context every 5 minutes and auto-indexes changed files. A fresh agent should call get_context first, then use semantic_code_search, dep_graph, and query_local_docs before editing.

Privacy

Self-hosted means your code index, embeddings, docs, dependency graph, and memory stay on your machine.

  • Embeddings run locally with Ollama.
  • ChromaDB and SQLite run locally.
  • Web search only sends the search query to your configured provider.
  • Telemetry is off unless configured in a future release.

Paid Hosted Glimpse

Self-host is free forever under MIT.

Hosted Infimium will focus on:

  • managed indexing for teams,
  • shared project memory,
  • larger repo indexing workers,
  • team dashboards for index health and tool usage.

Contributing

CONTRIBUTING.md

Adding a new language? Start there.

Yorumlar (0)

Sonuc bulunamadi