Lific MCP server
Commit Nov 14, 2026Lets an AI client manage projects, issues, and plans through a local-first, SQLite-backed issue tracker.
Also known as VoidNullable/lific
- Stars
- 92
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- 2.11.1
- Last commit
- Nov 14, 2026
- License
- Apache-2.0
What is Lific MCP?
Lific lets an AI client manage projects, issues, and plans through a local-first, SQLite-backed issue tracker.
Summary generated from the project's README
About Lific MCP server
Lific provides a local-first issue tracking system designed specifically for developers managing multiple AI agents. It uses a single SQLite database to store project plans, issues, and pages, ensuring that work persists even after an AI session ends. The system is distributed as a single binary that includes a web UI and built-in backup capabilities, removing the need for complex setups like Docker or Postgres.
Users can connect various AI clients such as Claude Desktop, Cursor, Zed, and Windsurf using the lific connect command. The server offers 31 specialized MCP tools that allow agents to manage tasks, create nested plans, and link issues with specific blockers. While agents interact with the system via MCP, humans can manage the project through a local web interface at localhost:3456. This setup is ideal for individuals directing several autonomous tools rather than large teams requiring SSO or Gantt charts.
What you can do with it
- 1Resume interrupted agent workAn AI client can use the briefing tool to understand current project plans and identify which issues are currently workable.
- 2Maintain persistent project plansDevelopers can have agents create nested step plans that remain stored in the SQLite database across different sessions.
- 3Track agent task completionAn agent can close an issue by providing specific proof of work, such as passing test results, as a verification comment.
- 4Manage issue dependenciesAn AI can block a specific task by linking it to a person or a specific time window.
Written from the project's README. Every use case is checked against a quote from it.
Automated checks
Ran Nov 12, 2026Full report →Not verified yet. A server needs a score of 80, no serious finding, and enough data for us to check. How checks work · What to fix for more points
- Source repository linked and reachablePass
- Open source license (OSI)Pass
- Commit or release in the last yearPass
- Package name not close to a popular packageNot checked
- Remote endpoint uses HTTPSNot checked
- Destructive tools are labelledNot checked
- No hidden instructions to the modelPass
- No critical advisory in the package or its dependenciesNot checked
README
View on GitHubPlans and issues live on your server instead of in the context window, so work outlives the session. Agents use it over MCP; you use the web UI.
- 32 MCP tools in 6,159 tokens, about one long file read.
- One 25 to 32 MB binary with SQLite, the web UI and backups built in. No Docker, no Postgres.
lific connectwrites MCP config for 11 AI clients.- Identifiers like
APP-42, never UUIDs.
60-second setup
cargo install lific # or Homebrew / winget (below), or download a binary from Releases
lific init # config, database, admin account, background service on :3456
lific connect # MCP config for your AI clients
Restart your AI client. The web UI is at http://localhost:3456. lific doctor checks config, database, server and an MCP round trip, and exits nonzero if anything is broken.
brew install voidnullable/tap/lificreplacescargo installon macOS and Linux: a release binary in seconds, no Rust toolchain.winget install VoidNullable.lificdoes the same on Windows.lific init --herekeeps config and database in the current directory.lific init --no-serviceskips the background service; runlific startyourself.lific service status | restart | stop | uninstallmanages the service.
More: Installation · Quickstart
What your agent can do
| Call | What it does |
|---|---|
get_briefing(project="APP", since="last") |
Resume a project: the human queue across projects, what changed since your last briefing, plans and next steps, blocked and workable issues |
list_issues(project="APP", workable=true) |
Open issues whose blockers are all resolved |
list_issues(members=["me"]) |
Your active work across the projects you belong to |
create_plan / get_plan |
Nested step plans that survive the session; a step and its issue close together |
link_issues(target="APP-9", relation_type="blocks", user="ada") |
Block an issue on a person or a date window, not only another issue |
update_issue(assignees=["human"]) |
Mark work a person must do; agents take unassigned issues |
update_issue(status="done", evidence="cargo test: 412 passed") |
Close with the proof saved as a verification comment |
edit_issue / edit_page |
Change one string without resending the document |
get_activity(identifier="APP", since="2026-10-01") |
Who changed what while you were away |
Each AI tool connects as its own bot under your account. The history says "OpenCode closed APP-42", and you can revoke one tool without touching the others.
MCP tools
| Family | Tools |
|---|---|
| Issues | list_issues · get_issue · create_issue · update_issue · move_issue · bulk_update · edit_issue · get_board |
| Relations and waits | link_issues · unlink_issues |
| Pages | get_page · create_page · update_page · edit_page |
| Plans | create_plan · get_plan · edit_plan_step · update_plan_step |
| Comments | add_comment · list_comments · edit_comment · delete_comment |
| Attachments | upload_attachment · get_attachment · list_attachments |
| Search and history | get_briefing · search · get_activity |
| Structure | list_resources · manage_resource · delete |
| Export | export |
The 6,159 tokens are the tools/list definitions as compact JSON, counted with tiktoken's o200k_base. Parameters and output: MCP tools.
Connect your AI tools
lific connect supports opencode · claude-code · claude-desktop · cursor · vscode · codex · zed · gemini · windsurf · goose · crush.
lific connect # pick from the clients it finds
lific connect --client opencode --client cursor --yes # no prompts
lific connect --client claude-code --scope project # repo-local .mcp.json
lific connect --client zed --stdio # no server: direct SQLite over stdio
It merges into existing config, and leaves a file it can't parse alone and prints the snippet instead. OAuth sign-in from the client and lific login for headless machines also work: Connect agents.
Remote, over Streamable HTTP:
{
"lific": {
"type": "remote",
"url": "http://localhost:3456/mcp",
"headers": { "Authorization": "Bearer your-api-key" }
}
}
Local, over stdio with no server:
{
"lific": {
"type": "local",
"command": ["lific", "--db", "path/to/lific.db", "mcp"]
}
}
Create a key with lific key create --name my-key --user <you>. A stdio session without LIFIC_TOKEN acts as the instance operator.
CLI
lific issue list --project APP
lific issue create --project APP --title "Fix login bug" --priority high
lific issue update APP-42 --status done
lific search "authentication" --project APP
lific --backend http --url https://lific.example.com issue list --project APP # after lific login
The CLI reads the database directly, or a remote server with --backend http. Output is JSON when piped. lific agents-md adds a short Lific section to a repo's AGENTS.md. Full reference: CLI.
When Lific is the wrong tool
- You coordinate a large team and need SSO, sprints or Gantt charts. Use Linear or Plane.
- You want issues stored in the repo itself. Use a git-native tracker such as beads.
- You need several servers syncing with each other. One Lific instance is one SQLite file.
It's built for one person directing several agents.
Running it
Access. New installs check project membership on every call, reads included. Add people with lific member add --project APP --user sam --role maintainer. See Self-hosting.
Backups. Lific writes an archive every hour and keeps 24. For a one-off:
lific dump # database plus attachments, safe while running
lific restore lific_20260703_141500.tar.gz # stop the server first
Config. lific init writes lific.toml. Set server.public_url before exposing the server beyond localhost. See Configuration.
Docker. Optional; the binary needs nothing else.
docker build -t lific .
docker run -p 3456:3456 -v lific-data:/data \
-e LIFIC_INIT_ADMIN_NAME="Your Name" \
-e LIFIC_INIT_ADMIN_PASSWORD="a long password" \
lific
Both variables are required on first boot and ignored after it.
Upgrading. Read Upgrading before you skip versions.
Build from source
git clone https://github.com/VoidNullable/lific && cd lific
devenv allow && devenv shell
devenv tasks run lific:debug-build
CONTRIBUTING.md covers tests and release builds.
Community
Questions, bug reports and release announcements: Discord. Support questions get answered fastest in #support.
Contributing
Issues and PRs welcome. For anything large, open an issue first.
MCP Registry
Lific publishes server.json to the MCP Registry.
mcp-name: io.github.VoidNullable/lific
License
Lific MCP questions
How do I set up Lific with my AI client?
You can use the lific connect command, which writes MCP configuration for 11 different AI clients including Claude Desktop, Cursor, and VS Code.
Does Lific require Docker or a separate database server?
No, Lific is a single binary with SQLite, the web UI, and backups built in, requiring no Docker or Postgres.
How can I verify my Lific installation is working correctly?
You can run the lific doctor command to check your configuration, database, server, and an MCP round trip.