{"id":"firstbatchxyz-mem-agent-mcp","name":"mem-agent-mcp","homepage":null,"repo_url":"https://github.com/firstbatchxyz/mem-agent-mcp","category":"ai-ml","subcategories":[],"tags":["mcp","memory","obsidian-style","rag","local-first","python","tool-integration","file-system","connectors","vllm","mlx","llm-clients"],"what_it_does":"mem-agent-mcp is a Python MCP (Model Context Protocol) server that connects an “obsidian-like” local Markdown memory store (user.md + entities/*.md) to LLM clients (e.g., Claude Desktop, Lm Studio, Claude Code) for memory retrieval and memory-related tool operations. It also documents memory import/connector workflows (chatgpt, notion, nuclino, github, google-docs) and ways to run the model backend locally (MLX on macOS or vLLM/OpenAI-compatible via LiteLLM proxy).","use_cases":["Connect an Obsidian-style local Markdown memory directory to an MCP-capable client","RAG-like memory Q&A over imported conversations and entities","Maintaining/updating personal or team memory from exports (ChatGPT/Notion/Nuclino)","Live memory augmentation from GitHub repositories and Google Docs via Drive APIs","Applying retrieval-time filters provided through the prompt (<filter> tags)","Using MCP over stdio or HTTP for different client environments"],"not_for":["Public multi-tenant production deployments without proper network isolation/authn/authz","Handling highly sensitive data without a threat model for local file access and logs","Environments that cannot run a local model backend or an OpenAI-compatible proxy","Use cases requiring a formal, documented REST/OpenAPI developer platform (this is primarily MCP/file-based)"],"best_when":"You want local-first private memory with an MCP client, and you can run/point to a local model server (MLX/vLLM or an OpenAI-compatible proxy).","avoid_when":"You need strict security boundaries for remote access or you cannot control tokens, local storage permissions, and logs; also avoid if you need standardized HTTP APIs beyond MCP.","alternatives":["Other MCP memory/tool servers (generic file+search MCP implementations)","Building a custom MCP server over your own vector store + document store","Using a managed memory/RAG service with explicit enterprise security controls","Standalone retrieval services (e.g., local search + reranking) without MCP"],"af_score":47.0,"security_score":40.5,"reliability_score":23.8,"package_type":"mcp_server","discovery_source":["github"],"priority":"high","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-03-30T13:26:20.246577+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":"stdio or localhost HTTP (README: MCP over HTTP at localhost:8081/mcp)","has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["Environment-variable configuration for model proxy/backend connectivity (VLLM_HOST/VLLM_PORT)","Connector tokens for GitHub (TOKEN)","Google Drive OAuth access tokens (ACCESS TOKEN / access token guidance)","Google Docs connector uses Drive API access token","Interactive authentication setup via memory wizard (tokens/scopes described)"],"oauth":false,"scopes":true,"notes":"No explicit MCP-auth mechanism is described in the README. Connector access relies on user-provided tokens (GitHub classic token; Google Drive OAuth scopes like drive.readonly). If MCP-over-HTTP is exposed (e.g., via ngrok), MCP itself appears to be unauthenticated unless the deployment adds external auth."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"Self-hosted/local model usage; costs depend on model/backend hardware or any OpenAI-compatible proxy you run (e.g., LiteLLM/OpenRouter). No hosted pricing described."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":47.0,"security_score":40.5,"reliability_score":23.8,"mcp_server_quality":70.0,"documentation_accuracy":55.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":55.0,"rate_limit_clarity":10.0,"tls_enforcement":40.0,"auth_strength":25.0,"scope_granularity":45.0,"dependency_hygiene":55.0,"secret_handling":45.0,"security_notes":"Strengths: local-first design with user-managed tokens; Google Drive scope guidance is explicit (drive.readonly), and GitHub token scopes are described (public_repo vs repo). Risks/unknowns: MCP server authentication/authorization is not documented; MCP over HTTP could be exposed without access control. Token handling and logging practices are not described; ensure tokens are not logged and that file permissions for the memory directory are restricted. TLS is only mentioned implicitly (HTTP endpoint example); no explicit 'HTTPS required' guidance is provided.","uptime_documented":0.0,"version_stability":35.0,"breaking_changes_history":30.0,"error_recovery":30.0,"idempotency_support":"false","idempotency_notes":null,"pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["MCP server functionality appears tied to local filesystem layout (memory/user.md and memory/entities/*.md); incorrect directory structure may break retrieval/tool behavior.","On ARM64 Linux, vLLM may not be installed by default; recommended path is OpenAI-compatible via LiteLLM proxy, which can surprise agents expecting a local vLLM binary.","Some workflows (filters, connectors) modify local .filters and memory content; lack of described idempotency means repeated runs could duplicate/overwrite depending on connector implementation.","If MCP-over-HTTP is publicly exposed (e.g., via ngrok), the README does not describe authentication/authorization safeguards for MCP endpoints."]}}