octobrain 0.4.2

Standalone memory management system for AI context and conversation state
Documentation
{
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "name": "io.github.Muvon/octobrain",
  "description": "Persistent memory for AI assistants with semantic search and knowledge graph relationships.",
  "name_for_human": "Octobrain",
  "name_for_model": "octobrain",
  "version": "0.4.2",
  "repositories": [
    {
      "type": "github",
      "owner": "Muvon",
      "repo": "octobrain"
    }
  ],
  "homepage": "https://github.com/muvon/octobrain",
  "pricing": "free",
  "modes": {
    "stdio": {
      "command": "octobrain",
      "args": ["mcp"],
      "transport": {
        "type": "stdio"
      }
    }
  },
  "tools": [
    {
      "name": "memorize",
      "description": "Store important information, insights, or context in memory for future reference.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Short, descriptive title for the memory",
            "minLength": 5,
            "maxLength": 200
          },
          "content": {
            "type": "string",
            "description": "Detailed content to remember - explanations, code snippets, insights, decisions, etc.",
            "minLength": 10,
            "maxLength": 10000
          },
          "memory_type": {
            "type": "string",
            "description": "Category of memory for better organization",
            "enum": ["code", "architecture", "bug_fix", "feature", "documentation", "user_preference", "decision", "learning", "configuration", "testing", "performance", "security", "insight"],
            "default": "code"
          },
          "importance": {
            "type": "number",
            "description": "Importance score from 0.0 to 1.0 (higher = more important for retention)",
            "minimum": 0.0,
            "maximum": 1.0,
            "default": 0.5
          },
          "tags": {
            "type": "array",
            "description": "Optional tags for categorization and easier searching",
            "items": { "type": "string" },
            "maxItems": 10
          },
          "related_files": {
            "type": "array",
            "description": "Optional file paths related to this memory",
            "items": { "type": "string" },
            "maxItems": 20
          }
        },
        "required": ["title", "content"]
      }
    },
    {
      "name": "remember",
      "description": "Search and retrieve stored memories using semantic search. Find relevant past information, decisions, patterns, or context based on your query.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "oneOf": [
              {
                "type": "string",
                "description": "Single search query - use for specific searches. Express in human terms for semantic search",
                "minLength": 3,
                "maxLength": 500
              },
              {
                "type": "array",
                "description": "RECOMMENDED: Array of related search terms for comprehensive results.",
                "items": {
                  "type": "string",
                  "minLength": 3,
                  "maxLength": 500
                },
                "minItems": 1,
                "maxItems": 5
              }
            ],
            "description": "PREFER ARRAY OF RELATED TERMS for comprehensive search. Single string only for very specific searches."
          },
          "memory_types": {
            "type": "array",
            "description": "Optional filter by memory types",
            "items": {
              "type": "string",
              "enum": ["code", "architecture", "bug_fix", "feature", "documentation", "user_preference", "decision", "learning", "configuration", "testing", "performance", "security", "insight"]
            }
          },
          "tags": {
            "type": "array",
            "description": "Optional filter by tags",
            "items": { "type": "string" }
          },
          "related_files": {
            "type": "array",
            "description": "Optional filter by related files",
            "items": { "type": "string" }
          },
          "limit": {
            "type": "integer",
            "description": "Maximum number of memories to return",
            "minimum": 1,
            "maximum": 5,
            "default": 5
          },
          "max_tokens": {
            "type": "integer",
            "description": "Maximum tokens allowed in output before truncation (default: 2000, set to 0 for unlimited)",
            "minimum": 0,
            "default": 2000
          }
        },
        "required": ["query"]
      }
    },
    {
      "name": "forget",
      "description": "Permanently remove specific memories by ID or forget multiple memories matching certain criteria.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "memory_id": {
            "type": "string",
            "description": "Specific memory ID to forget (get this from remember results)"
          },
          "query": {
            "type": "string",
            "description": "Query to find memories to forget (alternative to memory_id)"
          },
          "memory_types": {
            "type": "array",
            "description": "Filter by memory types when using query",
            "items": {
              "type": "string",
              "enum": ["code", "architecture", "bug_fix", "feature", "documentation", "user_preference", "decision", "learning", "configuration", "testing", "performance", "security", "insight"]
            }
          },
          "tags": {
            "type": "array",
            "description": "Filter by tags when using query",
            "items": { "type": "string" }
          },
          "confirm": {
            "type": "boolean",
            "description": "Must be true to confirm deletion",
            "const": true
          }
        },
        "required": ["confirm"]
      }
    },
    {
      "name": "auto_link",
      "description": "Manually trigger automatic linking for a memory to find and connect related memories based on semantic similarity.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "memory_id": {
            "type": "string",
            "description": "Memory ID to auto-link with similar memories"
          }
        },
        "required": ["memory_id"]
      }
    },
    {
      "name": "memory_graph",
      "description": "Retrieve a memory graph showing a memory and all its connected memories through relationships. Enables multi-hop reasoning and context discovery.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "memory_id": {
            "type": "string",
            "description": "Root memory ID to build graph from"
          },
          "depth": {
            "type": "integer",
            "description": "Depth of graph traversal (1-3 recommended, higher = more memories)",
            "minimum": 1,
            "maximum": 5,
            "default": 2
          },
          "max_tokens": {
            "type": "integer",
            "description": "Maximum tokens allowed in output before truncation (default: 2000, set to 0 for unlimited)",
            "minimum": 0,
            "default": 2000
          }
        },
        "required": ["memory_id"]
      }
    }
  ],
  "categories": ["memory", "knowledge-management", "ai-assistant"],
  "tags": ["memory", "semantic-search", "knowledge-graph", "ai-assistant", "persistent-memory"]
}