About KIAgent
KIAgent is a desktop app and open-source core for indexing personal mail, documents, chats, and notes on the user's machine. It serves the local corpus to AI assistants and emphasizes keeping ingestion and processing on-device.
Key features
- 01Ingest mail, documents, chats, and notes
- 02Store indexed data in SQLite
- 03Process data locally with llama.cpp
- 04Extend sources through permission-gated plugins
- 05Provide HTTP and stdio MCP transports
Use cases
- 01Search personal documents through an AI assistant
- 02Bring data from supported services and local folders into one corpus
MCP support
Exposes the local SQLite corpus to AI assistants through an in-app HTTP MCP server and a standalone stdio entry point.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://{subdomain}.localkiagent.com/mcpclaude mcp add --transport http com-localkiagent-kiagent https://{subdomain}.localkiagent.com/mcp{"mcpServers":{"com-localkiagent-kiagent":{"type":"http","url":"https://{subdomain}.localkiagent.com/mcp"}}}Open in Cursor{"servers":{"com-localkiagent-kiagent":{"type":"http","url":"https://{subdomain}.localkiagent.com/mcp"}}}Open in VS Code{"mcpServers":{"com-localkiagent-kiagent":{"type":"http","url":"https://{subdomain}.localkiagent.com/mcp"}}}{"mcpServers":{"com-localkiagent-kiagent":{"serverUrl":"https://{subdomain}.localkiagent.com/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project README
KIAgent
Your personal AI brain — local, open source, speaks MCP.
Website · Download · Architecture docs
Everyone is building the company a brain — a knowledge layer that ingests everything an organization knows, so AI can answer and act with real context. KIAgent is that layer for you personally. A company brain lives in someone else's cloud and belongs to your employer; your personal AI brain runs on your own machine, works with whatever AI you choose, and is yours forever.
Concretely, KIAgent is a desktop app that ingests your personal data — mail, documents, chats, notes — on your own machine, stores it in a local database, and serves it to AI assistants over MCP. Everything stays on your computer: ingestion, parsing, OCR and vision all run locally — with on-device inference powered by llama.cpp — so your AI assistant can know your world without your data ever leaving your machine.
At its core, KIAgent is a platform: a small set of host capabilities (MCP, database, local LLM, filesystem, web access) wired together by an ingestion engine, plus a plugin/extension system that lets sandboxed connectors use those capabilities to bring in new data sources.
flowchart TB
GMAIL(["Gmail"])
DRIVE(["Drive"])
SLACK(["Slack"])
NOTION(["Notion"])
MORE(["…"])
PLUGINS["Plugins / extensions"]
WEB["Web"]
LLM["Local LLM"]
FS["Filesystem"]
DB[("DB")]
MCP["MCP"]
GMAIL --> PLUGINS
DRIVE --> PLUGINS
SLACK --> PLUGINS
NOTION --> PLUGINS
MORE --> PLUGINS
PLUGINS <--> WEB
PLUGINS <--> LLM
PLUGINS <--> FS
PLUGINS <--> DB
DB --> MCP
classDef service fill:#e8f0fe,stroke:#4285f4,color:#1a3c78
classDef core fill:#e6f4ea,stroke:#34a853,color:#1e4620
classDef hub fill:#fce8e6,stroke:#ea4335,color:#7a1c14,stroke-width:2px
class GMAIL,DRIVE,SLACK,NOTION,MORE service
class WEB,LLM,FS,DB,MCP core
class PLUGINS hub
Plugins sit at the center: each one connects to a third-party service (Gmail, Drive, Slack, Notion, ...) or the local filesystem, pulls your data in, uses the local LLM to process it, and lands it in the database — which MCP then serves to AI assistants. Access is mediated and permission-gated; plugins never touch these capabilities directly.
This repo: kiagent-core
This repository is the MIT-licensed core that KIAgent is built from, in the same spirit as VS Code and Code-OSS:
- kiagent-core (this repo) — the open-source core.
npm run package:ossproduces an unbrandedkiagent-corebuild you can run and redistribute under the MIT license. - KIAgent — the branded, signed product built from this core and distributed at localkiagent.com/download.
OAuth-backed sources (Gmail, Microsoft) read client credentials from the environment at build time — see .env.example / CI secrets. Forks and OSS builds supply their own OAuth client IDs.
Main components
- Ingestion engine (
src/main/core/engine) — pulls batches from sources on a cadence, converts raw items (mail, PDFs, images) into indexed documents, and commits them to the store. Built-in sources live insrc/main/sources(Gmail, IMAP, Microsoft 365, local folders). - Database (
src/main/core/store,src/main/db) — a SQLite corpus (better-sqlite3) holding documents, metadata and search indexes, written by the app and read by the MCP processes. - MCP server (
src/main/core/mcp,src/main/mcp) — exposes the corpus to AI assistants over two transports sharing one tool registry: an HTTP server inside the app, and a standalone stdio entry point that clients like Claude Desktop spawn directly. - Local LLM (
src/main/providers/local-llm,src/main/providers/apple-vision) — on-device inference via a bundled llama.cpp server (backend auto-detection, curated model tiers) plus native OCR/vision helpers for scanned documents and images. - Filesystem — local-folder ingestion, model storage, temp workspaces for conversion workers (
src/main/workers,src/main/converter). - Web — outbound HTTP for source APIs, OAuth flows (
src/main/auth,src/main/platform/oauth-providers.ts), and marketplace downloads. - Plugin / extension system (
src/main/platform,src/main/marketplace) — connectors run in isolated host processes with a manifest-declared, permission-gated view of the platform (sources, auth, storage, network). A GitHub-backed marketplace handles discovery, install and updates. A second, privileged tier lets a product build ship first-party extensions inside the app package itself — seedocs/architecture/extension-platform.mdfor the full model, including the bundled/unsafe.mainProcesstier andproduct.json. - Renderer (
src/renderer) — the React UI: source setup, marketplace, MCP connection status, settings and logs.
Developing
npm install
npm start # run in development (hot reload)
Other useful scripts:
npm test # jest test suites
npm run lint # eslint + prettier
npm run typecheck # tsc, no emit
npm run package # build a distributable
npm run package:oss # build an unbranded kiagent-core distributable
npm run vendor:inference # fetch llama.cpp server + build vision helper
Repository layout
src/main Electron main process: engine, store, MCP, platform, sources, providers
src/renderer React UI (screens: Sources, Marketplace, Connection, Settings)
src/shared Contracts and UI primitives shared across processes
concept/ Types-only blueprint for the core redesign
docs/ Design specs and implementation plans
native/ Native helper sources (vision/OCR)
scripts/ Build and vendoring scripts
MCP directories
KIAgent is published on the official MCP registry as com.localkiagent/kiagent (see server.json) and listed on Glama:
Acknowledgements
KIAgent's on-device inference is powered by llama.cpp, created by Georgi Gerganov and maintained by the ggml-org community (MIT license). The app bundles prebuilt llama-server binaries from the official llama.cpp releases (npm run vendor:inference fetches them at build time). Running capable models privately on consumer hardware is only practical because of their work — thank you.
License
MIT — see LICENSE.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.