{"name":"io.github.sralli/agendum","slug":"sralli-agendum","title":"Agendum","description":"AI agent memory: task tracking, scoped work packages, decisions, and cross-session continuity","url":"https://mcp.market/server/sralli-agendum","rating":null,"grade":"B","score":82,"certified":false,"status":"active","category":"productivity","tags":["productivity","ai"],"presence":{"score":14,"stars":6,"forks":0,"downloads_week":null,"last_push_at":"2026-04-13T14:14:53.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/sralli/agendum","website":null,"version":"0.3.4","remotes":[],"packages":[{"registryType":"pypi","identifier":"agendum","version":"0.3.4","transport":{"type":"stdio"}}],"tools":[{"name":"pm_add","description":"Add a new item to a project board. Supports type (dev/docs/ops/research/review/planning/personal/email), priority (critical/high/medium/low), tags, dependencies, acceptance criteria, key files, constraints, and notes. Use for ad-hoc tasks not from a plan file.","write_action":false,"price_micros":0,"input_schema":null},{"name":"pm_block","description":"Report a task as blocked with a reason. Updates the task status and logs the blocker. Use when a task cannot proceed due to external dependencies, missing information, or upstream blockers.","write_action":false,"price_micros":0,"input_schema":null},{"name":"pm_board","description":"View the project board with optional filters. Filter by status (pending/in_progress/blocked/done), tag, or type. Returns a markdown table of all matching items. Use to survey the full backlog or check status of specific categories.","write_action":false,"price_micros":0,"input_schema":null},{"name":"pm_consolidate","description":"Clean up memory corruption and near-duplicate learnings. Strips XML/tool-call fragments from memory scopes, finds near-duplicate learnings (same 50-char prefix) and marks extras as superseded, then rebuilds the search index. Call when pm_status reports corrupted entries or after large import operations.","write_action":false,"price_micros":0,"input_schema":null},{"name":"pm_done","description":"Report task completion. Records decisions, patterns, and learnings to project memory, logs files changed, and auto-unblocks dependent tasks. Pass decisions for architectural choices worth remembering, patterns for reusable conventions, and learnings for project-scoped insights. Set verified=True after running tests to mark as verified.","write_action":false,"price_micros":0,"input_schema":null},{"name":"pm_ingest","description":"Import tasks from a markdown plan file into the project board. Parses headings as task titles, extracts acceptance criteria, key files, and dependencies. Creates bounded board items with dependency tracking. Call after creating a project to populate the board from an existing plan.","write_action":false,"price_micros":0,"input_schema":null},{"name":"pm_init","description":"Initialize the agendum board directory. Call once per repository or home directory to set up project tracking. Creates .agendum/ with projects, learnings, and memory subdirectories. Returns confirmation. Next step: create a project with pm_project.","write_action":false,"price_micros":0,"input_schema":null},{"name":"pm_learn","description":"Record a learning. Pass 'project' for project-scoped learning, omit for global cross-project learning. Tagged insights enrich future work packages. Use for patterns, gotchas, or conventions. Examples: 'Clerk proxy.ts must be at app/ level' tagged 'auth,clerk,nextjs'. Provide comma-separated key entities, concepts, technologies, and file paths mentioned in the content as `topics` to enable graph-ba","write_action":false,"price_micros":0,"input_schema":null},{"name":"pm_memory","description":"Read, write, append, or search project memory. Scopes: 'decisions' (architectural choices), 'patterns' (conventions and gotchas), 'project' (general project knowledge), 'learnings' (cross-project insights). Use to persist or retrieve knowledge across sessions.","write_action":false,"price_micros":0,"input_schema":null},{"name":"pm_next","description":"Get the next scoped work package. Returns a bounded context packet with task details, acceptance criteria, relevant memory, dependency context, and project rules. Automatically marks the task as in-progress. Call at the start of a work session or after completing a task with pm_done.","write_action":false,"price_micros":0,"input_schema":null},{"name":"pm_project","description":"Create, list, or get projects. Actions: 'create' (requires name), 'list' (shows all projects), 'get' (shows project details with spec/plan excerpts). Call after pm_init to set up a project, or anytime to inspect existing projects.","write_action":true,"price_micros":0,"input_schema":null},{"name":"pm_search","description":"Search all agendum knowledge — memory, learnings, completed board items. Uses ranked full-text search with porter stemming (auth matches authentication, etc). Filter by source_type ('memory', 'learning', 'board_item') or project slug.","write_action":false,"price_micros":0,"input_schema":null},{"name":"pm_status","description":"Get a status overview for one or all projects. Shows item counts by status, recent progress, recent decisions, and suggested next task. Call at the start of a session to understand current state, or after completing work to see what's next.","write_action":false,"price_micros":0,"input_schema":null},{"name":"pm_supersede","description":"Soft-invalidate a learning by marking it superseded. The entry is excluded from all future searches. Pass entry_id (e.g. 'learning-003'), optional project slug for project-scoped learnings, and optional reason describing what superseded it.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":82,"grade":"B","scanned_at":"2026-09-27T22:34:45.577Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T22:34:45.579Z","components":{"code":{"score":25,"max":25,"notes":["23 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":8,"max":15,"notes":["last push 167 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"agendum","version":"0.3.4","found":true,"license":"MIT","dependencyCount":8,"publishedAt":"2026-04-13T14:15:11.311241Z","repositoryUrl":"https://github.com/sralli/agendum"}],"repo":{"found":true,"owner":"sralli","repo":"agendum","archived":false,"pushedAt":"2026-04-13T14:14:53Z","stars":6,"forks":0,"openIssues":2,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/36051274?v=4","ownerCreatedAt":"2018-02-01T19:20:42Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/36051274?v=4&s=128","source":"github"},"presence":{"stars":6,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-04-13T14:14:53.000Z","score":14}}}},"grade_history":[],"reviews":[]}