MCP Hub
Back to servers

lifeos-mcp

Provides MCP-compatible AI agents with read access to a LifeOS knowledge base, exposing identity, preferences, projects, wiki, skills, and rules via tools and resources.

glama
Updated
May 3, 2026

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-mcp

From source (now)

git clone https://github.com/bwats/lifeos-mcp
cd lifeos-mcp
npm install && npm run build
node bin/lifeos-mcp.js

Global install from source

cd ~/lifeos-mcp
npm install -g .
lifeos-mcp  # starts the MCP server on stdio

What it exposes

lifeos-mcp gives any MCP-compatible AI client direct read access to:

SurfacePath in ~/lifeos/Tool
Identityidentity.mdlifeos__get_identity
Preferencespreferences.mdlifeos__get_preferences
Skillsskills/*/lifeos__list_skills, lifeos__read_skill
Projectsprojects/*.mdlifeos__list_projects, lifeos__read_project
Wikiwiki/pages/**/*.mdlifeos__list_wiki_pages, lifeos__read_wiki_page
Rulessystem/*.mdlifeos__list_rules, lifeos__read_rule
Any file(path-safe)lifeos__read_file
Search(full-text)lifeos__search

Modes

InvocationWhat happens
lifeos-mcpStart MCP server on stdio (default)
lifeos-mcp --stdioStart MCP server on stdio (explicit)
lifeos-mcp listList rituals in ~/lifeos/cadence/rituals/
lifeos-mcp validate <ritual.md>Validate a ritual spec file
lifeos-mcp render <ritual.md> --to <harness>Render ritual to a target harness
lifeos-mcp --helpShow 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

VariableDefaultDescription
LIFEOS_PATH~/lifeosAbsolute path to the LifeOS root directory

Tools

ToolDescription
lifeos__healthCheck server health and LifeOS availability
lifeos__get_identityRead identity.md — frontmatter + body
lifeos__get_preferencesRead preferences.md — frontmatter + body
lifeos__list_skillsList all skill directory names in ~/lifeos/skills/
lifeos__read_skillRead documentation for a named skill
lifeos__list_rulesList rule/guideline names from ~/lifeos/system/
lifeos__read_ruleRead a specific rule file
lifeos__list_projectsList project filenames from ~/lifeos/projects/
lifeos__read_projectRead a specific project definition
lifeos__list_wiki_pagesList all wiki page paths recursively
lifeos__read_wiki_pageRead a wiki page by path
lifeos__searchFull-text search across all LifeOS files
lifeos__read_fileRead any file under ~/lifeos/ by relative path (path-traversal safe)
lifeos__propose_edgePropose a typed semantic edge between two knowledge nodes
lifeos__accept_edgeAccept a proposed edge (write-opt-in required)
lifeos__reject_edgeReject a proposed edge (write-opt-in required)
lifeos__read_pending_queueList pending edge proposals (always read-only)

Resources

URIDescription
lifeos://identityLifeOS identity profile (identity.md)
lifeos://preferencesUser preferences (preferences.md)
lifeos://skills/{name}Skill documentation for ~/lifeos/skills/{name}/
lifeos://projects/{name}Project definition for ~/lifeos/projects/{name}.md
lifeos://wiki/{+path}Wiki page at ~/lifeos/wiki/pages/{path}.md
lifeos://rules/{name}System rule at ~/lifeos/system/{name}.md

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-code

Renderer 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/ (or LIFEOS_PATH) are accessible.

Build

cd ~/lifeos-mcp
npm install
npm run build
# Output: dist/ + bin/lifeos-mcp.js

License

MIT

Reviews

No reviews yet

Sign in to write a review