lifeos-mcp
Provides read access to a LifeOS knowledge base, enabling OpenAI Codex agents to retrieve identity, preferences, skills, projects, wiki pages, rules, and perform full-text search.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@lifeos-mcpshow my current projects"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
LifeOS MCP
Give any AI agent read access to your LifeOS knowledge base — Claude Desktop, Claude Code, Cursor, ChatGPT, Codex, or any MCP-compatible client.
The server reads from ~/lifeos/ and surfaces everything through lifeos:// resource URIs and lifeos__* tool names.
Install
Once published (coming soon)
npx lifeos-mcpFrom source (now)
git clone https://github.com/bwats/lifeos-mcp
cd lifeos-mcp
npm install && npm run build
node bin/lifeos-mcp.jsGlobal install from source
cd ~/lifeos-mcp
npm install -g .
lifeos-mcp # starts the MCP server on stdioWhat it exposes
lifeos-mcp gives any MCP-compatible AI client direct read access to:
Surface | Path in ~/lifeos/ | Tool |
Identity |
|
|
Preferences |
|
|
Skills |
|
|
Projects |
|
|
Wiki |
|
|
Rules |
|
|
Any file | (path-safe) |
|
Search | (full-text) |
|
Modes
Invocation | What happens |
| Start MCP server on stdio (default) |
| Start MCP server on stdio (explicit) |
| List rituals in |
| Validate a ritual spec file |
| Render ritual to a target harness |
| Show all subcommands and options |
Configure MCP clients
Claude Desktop
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"lifeos": {
"command": "npx",
"args": ["lifeos-mcp"]
}
}
}Or from source:
{
"mcpServers": {
"lifeos": {
"command": "node",
"args": ["/Users/yourname/lifeos-mcp/bin/lifeos-mcp.js"]
}
}
}Cursor (settings.json)
{
"mcpServers": {
"lifeos": {
"command": "node",
"args": ["/Users/yourname/lifeos-mcp/bin/lifeos-mcp.js"]
}
}
}Claude Code (~/.claude/settings.json)
{
"mcpServers": {
"lifeos": {
"command": "node",
"args": ["/Users/yourname/lifeos-mcp/bin/lifeos-mcp.js"]
}
}
}OpenAI Codex (codex.json)
{
"mcpServers": {
"lifeos": {
"command": "node",
"args": ["/Users/yourname/lifeos-mcp/bin/lifeos-mcp.js"]
}
}
}Custom LifeOS path
Pass --lifeos-path or set LIFEOS_PATH env var:
{
"mcpServers": {
"lifeos": {
"command": "node",
"args": [
"/Users/yourname/lifeos-mcp/bin/lifeos-mcp.js",
"--lifeos-path", "/custom/path/to/lifeos"
]
}
}
}Environment variables
Variable | Default | Description |
|
| Absolute path to the LifeOS root directory |
Tools
Tool | Description |
| Check server health and LifeOS availability |
| Read |
| Read |
| List all skill directory names in |
| Read documentation for a named skill |
| List rule/guideline names from |
| Read a specific rule file |
| List project filenames from |
| Read a specific project definition |
| List all wiki page paths recursively |
| Read a wiki page by path |
| Full-text search across all LifeOS files |
| Read any file under |
| Propose a typed semantic edge between two knowledge nodes |
| Accept a proposed edge (write-opt-in required) |
| Reject a proposed edge (write-opt-in required) |
| List pending edge proposals (always read-only) |
Resources
URI | Description |
| LifeOS identity profile ( |
| User preferences ( |
| Skill documentation for |
| Project definition for |
| Wiki page at |
| System rule at |
All template resources support listing — clients can enumerate available resources.
CLI subcommands
# List all rituals with id, title, and trigger summary
lifeos-mcp list
# Validate a ritual spec (structural check)
lifeos-mcp validate ~/lifeos/cadence/rituals/morning-review.md
# Render a ritual to a harness
lifeos-mcp render ~/lifeos/cadence/rituals/morning-review.md --to openclaw
lifeos-mcp render ~/lifeos/cadence/rituals/morning-review.md --to claude-codeRenderer interface (pluggable)
Third-party renderers plug in at runtime via registerRenderer:
import { registerRenderer } from "lifeos-mcp/dist/renderers/index.js";
registerRenderer({
name: "my-harness",
async render(spec, body, ctx) {
return {
files: [{ path: "/out/job.json", content: JSON.stringify(spec) }],
summary: `Rendered ${spec.id} to my-harness`,
};
},
});Built-in renderers: openclaw (cron job JSON), claude-code (slash command + launchd plist).
Security
All file paths are validated to stay within the LifeOS root — no path traversal possible.
The server is read-only by default; write tools (
lifeos__propose_edge,lifeos__accept_edge,lifeos__reject_edge) require explicit opt-in via~/Library/Application Support/LifeOS/mcp-write-config.json.Only files under
~/lifeos/(orLIFEOS_PATH) are accessible.
Build
cd ~/lifeos-mcp
npm install
npm run build
# Output: dist/ + bin/lifeos-mcp.jsLicense
MIT
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/bwats/lifeos-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server