Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| COGMEMAI_API_KEY | Yes | Your API key (starts with cm_) | |
| COGMEMAI_API_URL | No | Custom API URL (default: hifriendbot.com) | hifriendbot.com |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| save_memory | Store a developer memory (fact, preference, decision, architecture detail). Memories persist across all Claude Code sessions and are available in future conversations. |
| recall_memories | Search stored memories using semantic search. Returns memories ranked by relevance, importance, and recency. Use this to find relevant context from past sessions. |
| extract_memories | Extract memories from a conversation exchange using AI. Send the developer message and assistant response, and the server identifies facts worth remembering (architecture decisions, preferences, bug fixes, etc.). |
| get_project_context | Load top memories for the current project plus relevant global memories. Use at the start of a session to get full context from previous sessions. Optionally pass context to get memories most relevant to your current task. |
| list_memories | List stored memories with optional filters by type, category, scope, or project. |
| delete_memory | Delete a specific memory by its ID. This is permanent. |
| update_memory | Update an existing memory's content, importance, or scope. |
| bulk_delete | Delete multiple memories at once by their IDs. Maximum 100 IDs per call. This is permanent. |
| bulk_update | Update multiple memories at once. Each item needs a memory_id and fields to update. Maximum 50 items per call. |
| get_usage | Get current usage statistics — memory count, extractions this month, tier info, projects. |
| export_memories | Export all memories as JSON. Use this to back up memories or transfer them to another project. |
| import_memories | Bulk import memories from a JSON array. Each memory needs at minimum a content field. Deduplication is applied automatically. |
| ingest_document | Extract memories from a document by splitting it into chunks and processing each one. Great for onboarding — feed in READMEs, architecture docs, or API specs to quickly build project context. |
| save_session_summary | Save a summary of the current coding session. Captures what was accomplished, decisions made, and next steps. Stored as a session_summary memory for future reference. |
| list_tags | List all tags in use across your memories, with counts. Use this to see what threads/groups exist and find related memories by tag. |
| link_memories | Connect two related memories with a named relationship. Use this to build a knowledge graph — e.g., linking a bug fix to the architecture decision that caused it, or connecting a preference to the pattern it led to. |
| get_memory_links | View all memories linked to a specific memory. Returns the relationship type and full memory details for each connection. Use this to explore the knowledge graph around a memory. |
| get_memory_versions | View the edit history of a memory. Shows all previous versions with timestamps and what changed. Useful for understanding how a decision or fact evolved over time. |
| get_analytics | Get a memory health dashboard with insights: most recalled memories, never-recalled memories, stale memories, growth trends, and breakdowns by type and category. Use this to identify cleanup opportunities and understand memory usage patterns. |
| promote_memory | Promote a project-scoped memory to global scope so it applies across all projects. Use this when you discover a preference or pattern that should be universal — e.g., "user prefers tabs over spaces" or "always use Bun instead of npm". |
| consolidate_memories | Consolidate related memories into fewer, richer memories. Finds clusters of memories sharing the same subject (3+ memories required), then uses AI to synthesize each cluster into 1-2 comprehensive facts. Originals are archived (not deleted) with full version history. Use dry_run=true to preview without making changes. Great for cleaning up memory clutter after many sessions. |
| save_task | Create a task that persists across sessions. Tasks are tracked with status (pending, in_progress, done, blocked) and priority (high, medium, low). Use this to maintain continuity on multi-session work. |
| get_tasks | Get tasks for the current project. Returns tasks filtered by status — defaults to showing pending and in_progress tasks. Use at session start to pick up where you left off. |
| update_task | Update a task's status, title, description, or priority. Use this to mark tasks as in_progress, done, or blocked as you work. |
| save_correction | Save a correction pattern — what went wrong and what the right approach is. These are surfaced automatically when similar situations arise in future sessions, helping avoid repeated mistakes. |
| set_reminder | Set a reminder that surfaces automatically at the start of your next session. Use for follow-ups, things to check, or deferred work. Reminders auto-archive after being shown. |
| get_stale_memories | Find memories that may be outdated based on age and access patterns. Returns memories that haven't been recalled or updated recently, so you can review, update, or delete them. |
| get_file_changes | Show what files changed since your last session. Compares the current git state to a snapshot saved when your previous session ended. Helps you understand what happened between sessions. |
| feedback_memory | Signal whether a recalled memory was useful or irrelevant. Helps improve future recall quality over time. Use after recalling memories to indicate which were helpful vs noise. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |