github analyzed 0e2a7ce

tlemmons/junto-memory

github

Persistent shared memory and coordination MCP server for multi-agent AI workflows. The memory component of the Junto system. MongoDB + ChromaDB. Production-tested with 6+ agents over 500+ sessions.

maintainer
tlemmons
license
MIT
first seen
2026-06-04
last seen
2026-06-16
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 39 tools
transport stdio · streamable-http · http counts 39 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • memory_acknowledge_message

    Mark a message as received (shortcut for status update).

  • memory_add_backlog_item

    Add a task, feature request, or tech debt item to the backlog.

  • memory_admin

    Manage API keys and view audit logs. Actions: create_key, revoke_key, list_keys, audit_log, auth_status. Requires owner role when auth is enabled.

  • memory_archive_by_tag

    Bulk archive all documents matching a tag (e.g., end-of-version cleanup).

  • memory_become_librarian

    Get a prompt and unenriched functions to run local enrichment on your machine.

  • memory_change_status

    Change a document's status: active, deprecated, superseded, archived. Preserves history.

  • memory_checklist

    Shared checklists for launch readiness, deploy steps, etc. Actions: create, get, add, check, delete, list.

  • memory_complete_backlog_item

    Mark a backlog item as done or won't-do, with optional resolution notes.

  • memory_db

    Read-only queries against registered external databases. Actions: list, schema, query. SQL injection protection built in.

  • memory_define_spec

    Create or update a versioned spec with owner-only enforcement. Supports semver and history.

  • memory_end_session

    Record a summary, files modified, and handoff notes. Releases all locks. Call this when done.

  • memory_enrich_function

    Add deep analysis to a function ref: signature, parameters, side effects, complexity. For librarian use.

  • memory_find_function

    Search for functions by purpose or name. Check before implementing to avoid duplication.

  • memory_get_agent_status

    Get heartbeat status of agents. Flags agents stale after 5 minutes.

  • memory_get_by_id

    Retrieve a specific document by its exact ID.

  • memory_get_enrichment_queue

    View functions awaiting librarian enrichment.

  • memory_get_locks

    View current file locks with stale detection (inactive > 30 min).

  • memory_get_messages

    Get pending messages for your agent. Scoped by project.

  • memory_get_spec

    Retrieve a spec by name, optionally at a specific historical version.

  • memory_guidelines

    Manage behavioral rules that all agents receive at session start. Actions: list, set, delete, get. Update once, every agent on every machine picks it up.

  • memory_heartbeat

    Send a heartbeat with your current status (idle, busy, error). Enables stale detection.

  • memory_list_agents

    Discover registered agents across projects with roles and last activity.

  • memory_list_backlog

    List backlog items with filters: project, status, priority, assignee, milestone.

  • memory_list_projects

    List all projects with document counts. No session required.

  • memory_list_specs

    List all specs with optional version history and type filtering.

  • memory_lock_files

    Atomically lock files for exclusive editing. Supports directory locks. Auto-releases on session end.

  • memory_project

    Manage projects and agents. Actions: create, get, list, delete, add_agent, remove_agent, update_agent.

  • memory_query

    Search the knowledge base by natural language. Returns relevant docs with relevance scores.

  • memory_record_learning

    Quick shortcut to record a learning, gotcha, or technique for other agents.

  • memory_register_function

    Register a function reference with name, file, purpose, and optional gotchas. Triggers librarian enrichment.

  • memory_restore_by_tag

    Bulk restore previously archived documents by tag.

  • memory_search_global

    Search across all projects and shared collections at once.

  • memory_send_message

    Send a message to another agent. Supports categories (task, question, blocker, etc.) and threading.

  • memory_start_session

    Register a session and receive context: recent learnings, active agents, file locks, pending signals. Call this first.

  • memory_store

    Store a new document (architecture, API spec, code snippet, interface contract, etc.).

  • memory_unlock_files

    Release specific file locks or all locks held by your session.

  • memory_update_backlog_item

    Update a backlog item's status, priority, assignee, or description.

  • memory_update_message_status

    Track message lifecycle: pending, delivered, received, completed, failed.

  • memory_update_work

    Update your current work status and files touched. Enables overlap detection and dependency signaling.

skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 0e2a7ce · analyzer v18 · 1h ago

skills & prompt files 1

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

filesystem 6

  • fs tlemmons-junto-memory-0e2a7ce/contrib/orchestrator/claude-spawn.py :22 from pathlib import Path
  • fs tlemmons-junto-memory-0e2a7ce/contrib/ui/app.py :269 stdout=open("/tmp/dispatcher.log", "w"),
  • fs tlemmons-junto-memory-0e2a7ce/librarian.py :25 from pathlib import Path
  • fs tlemmons-junto-memory-0e2a7ce/src/shared_memory/__main__.py :9 from pathlib import Path
  • fs tlemmons-junto-memory-0e2a7ce/src/shared_memory/sync_engine.py :78 from pathlib import Path
  • fs tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/messaging.py :320 pending_action_open — pending ACTION msgs with obligation open (or a

shell / exec 5

  • shell tlemmons-junto-memory-0e2a7ce/contrib/orchestrator/brain.py :18 import subprocess
  • shell tlemmons-junto-memory-0e2a7ce/contrib/orchestrator/claude-spawn.py :18 import subprocess
  • shell tlemmons-junto-memory-0e2a7ce/contrib/orchestrator/dispatcher.py :21 import subprocess
  • shell tlemmons-junto-memory-0e2a7ce/contrib/ui/app.py :10 import subprocess
  • shell tlemmons-junto-memory-0e2a7ce/contrib/ui/tmux-proxy.py :11 import subprocess

network 4

  • net tlemmons-junto-memory-0e2a7ce/contrib/orchestrator/dispatcher.py :26 import requests
  • net tlemmons-junto-memory-0e2a7ce/librarian.py :28 import httpx
  • net tlemmons-junto-memory-0e2a7ce/src/shared_memory/push_control.py :1232 import httpx # lazy import — only needed on the rare hard-trip path
  • net tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/functions.py :41 import httpx

secrets 1

  • secrets tlemmons-junto-memory-0e2a7ce/src/shared_memory/sync_engine.py :548 p.add_argument("--primary-key", default=os.environ.get("JUNTO_SYNC_PRIMARY_KEY"))

database 8

  • db tlemmons-junto-memory-0e2a7ce/contrib/migrate_normalize_projects.py :17 from pymongo import MongoClient
  • db tlemmons-junto-memory-0e2a7ce/contrib/orchestrator/brain.py :23 from pymongo import MongoClient
  • db tlemmons-junto-memory-0e2a7ce/contrib/orchestrator/dispatcher.py :30 from pymongo import MongoClient
  • db tlemmons-junto-memory-0e2a7ce/contrib/ui/app.py :19 from pymongo import MongoClient
  • db tlemmons-junto-memory-0e2a7ce/src/shared_memory/clients.py :9 from pymongo import MongoClient
  • db tlemmons-junto-memory-0e2a7ce/src/shared_memory/op_log.py :27 from pymongo import ASCENDING, ReturnDocument
  • db tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/messaging.py :15 from pymongo import ReturnDocument
  • db tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/sync.py :43 from pymongo.errors import DuplicateKeyError

tool registrations 57

  • memory_admin tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/admin.py :21
  • memory_set_autopilot tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/autopilot.py :59
  • memory_pause_autopilot tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/autopilot.py :138
  • memory_autopilot_status tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/autopilot.py :202
  • memory_autopilot_count tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/autopilot.py :259
  • memory_autopilot_digest tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/autopilot.py :323
  • memory_autopilot_check_budget tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/autopilot.py :391
  • memory_add_backlog_item tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/backlog.py :25
  • memory_list_backlog tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/backlog.py :145
  • memory_update_backlog_item tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/backlog.py :311
  • memory_complete_backlog_item tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/backlog.py :459
  • memory_batch_backlog tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/backlog.py :551
  • memory_checklist tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/checklists.py :14
  • memory_db tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/database.py :175
  • memory_health tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/diagnostics.py :21
  • memory_register_function tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/functions.py :55
  • memory_find_function tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/functions.py :251
  • memory_get_enrichment_queue tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/functions.py :390
  • memory_become_librarian tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/functions.py :426
  • memory_enrich_function tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/functions.py :583
  • memory_guidelines tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/guidelines.py :50
  • memory_update_work tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/lifecycle.py :22
  • memory_change_status tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/lifecycle.py :139
  • memory_archive_by_tag tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/lifecycle.py :229
  • memory_restore_by_tag tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/lifecycle.py :350
  • memory_lock_files tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/locking.py :20
  • memory_unlock_files tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/locking.py :127
  • memory_get_locks tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/locking.py :183
  • memory_send_message tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/messaging.py :595
  • memory_get_messages tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/messaging.py :1023
  • memory_update_message_status tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/messaging.py :1348
  • memory_claim_message tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/messaging.py :1442
  • memory_acknowledge_message tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/messaging.py :1553
  • memory_heartbeat tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/messaging.py :1571
  • memory_get_agent_status tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/messaging.py :1627
  • memory_list_agents tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/messaging.py :1675
  • memory_project tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/projects.py :66
  • memory_list_alerts tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/push_control_api.py :24
  • memory_get_emission_stats tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/push_control_api.py :82
  • memory_query tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/query.py :48
  • memory_get_by_id tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/query.py :302
  • memory_get_active_work tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/query.py :386
  • memory_set_reminder tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/scheduler.py :72
  • memory_cancel_reminder tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/scheduler.py :205
  • memory_list_reminders tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/scheduler.py :247
  • memory_search_global tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/search.py :15
  • memory_list_projects tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/search.py :104
  • memory_start_session tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/sessions.py :106
  • memory_end_session tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/sessions.py :634
  • memory_define_spec tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/specs.py :27
  • memory_get_spec tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/specs.py :339
  • memory_list_specs tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/specs.py :465
  • memory_standup tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/standup.py :49
  • memory_store tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/storage.py :28
  • memory_record_learning tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/storage.py :249
  • memory_sync_pull tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/sync.py :156
  • memory_sync_push tlemmons-junto-memory-0e2a7ce/src/shared_memory/tools/sync.py :1125

declared dependencies 6

  • pymssql@>=2.2.0
  • anthropic@*
  • httpx@*
  • pytest@>=8.0
  • pytest-asyncio@>=0.23
  • ruff@>=0.4.0