Back to Home
joshuacook icon

motoko

by joshuacook

Overview

A personal knowledge management system that uses AI agents to manage structured data in local markdown files and external data lakes, alongside an interactive chat interface and automated maintenance.

Installation

Run Command
uv run --directory /path/to/motoko/batou batou

Environment Variables

  • ANTHROPIC_API_KEY
  • WORKSPACE_PATH
  • GOOGLE_APPLICATION_CREDENTIALS
  • WORKSPACES_ROOT

Security Notes

The Major agent's `fetch_image_as_base64` function takes arbitrary image URLs from user input, potentially leading to Server-Side Request Forgery (SSRF) if not adequately sanitized or restricted to trusted domains. Path traversal vulnerabilities exist in the Batou and Reports MCP servers, as `entity_id`, `report_type`, and `report_date` from user input are used directly to construct file paths (e.g., `f"{entity_id}.md"`, `f"{report_type}"`) without explicit sanitization against `..` or `/` characters. While Tachikoma's tools implement a `resolve_path` to prevent workspace escapes, Batou and Reports lack similar robust path validation. Ishikawa's `org_id` enforcement relies on an external `auth.py` and the MCP authentication context, whose security implementation is not fully visible and could be a point of failure if weak.

Similar Servers

Stats

Interest Score30
Security Score6
Cost ClassMedium
Avg Tokens2500
Stars1
Forks1
Last Update2026-01-18

Tags

Personal Knowledge ManagementAI AgentContext LakeMCP ServerFilesystem