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
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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