Skip to main content
Glama
auspham

Copilot Memory MCP

by auspham

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
COPILOT_MEMORY_DBNoCustom database location. By default, memories are stored in ~/.copilot-memory/memory.db.~/.copilot-memory/memory.db
COPILOT_MEMORY_MAX_MONITORNoMaximum monitoring duration in seconds. Default is 1 hour (3600).3600

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
save_memoryA

Save a piece of knowledge to persistent memory.

Call this when you learn something worth remembering:
- User preferences or corrections
- Bug fixes and their root causes
- Project conventions or patterns
- Environment details (OS, tools, versions)
- Code snippets that solved tricky problems
- Decisions and their reasoning

Args:
    content: What to remember. Be specific and concise.
    category: One of: preference, lesson, fix, context, convention, environment, snippet, general
    tags: Comma-separated tags for easier recall (e.g. "python,debugging,asyncio")
recall_memoriesA

Search and recall past memories.

Call this at the START of every session to load relevant context,
and whenever you need to remember something from the past.

Args:
    query: Search keywords (uses full-text search). Leave empty to get recent memories.
    category: Filter by category (preference, lesson, fix, context, convention, environment, snippet, general). Leave empty for all.
    limit: Max memories to return (default 20).
update_memoryA

Update an existing memory.

Use when a previous memory is outdated or needs correction.

Args:
    memory_id: The ID of the memory to update.
    content: New content (leave empty to keep existing).
    category: New category (leave empty to keep existing).
    tags: New tags (leave empty to keep existing).
forget_memoryB

Delete a memory that's no longer relevant.

Args:
    memory_id: The ID of the memory to delete.
memory_statsA

Get statistics about stored memories.

Call this to understand what's in your knowledge base.

monitor_commandA

Run a shell command repeatedly and collect output over time.

USE THIS instead of running commands in a loop yourself — it handles
the polling so you don't burn through your iteration limit.

Examples:
    - Monitor a build: command="kubectl get pods", stop_pattern="Running"
    - Watch a deploy: command="curl -s http://localhost:8080/health", stop_pattern="ok"
    - Track a job: command="squeue -u $USER", stop_pattern="", stop_on_change=true
    - Wait for completion: command="cat /tmp/job.status", stop_pattern="DONE"

Args:
    command: Shell command to run each interval.
    interval_seconds: Seconds between each run (default 10, min 2).
    timeout_seconds: Max total seconds to monitor (default 300 = 5 min, max 3600).
    stop_pattern: Regex pattern — stop early when output matches this. Leave empty to run until timeout.
    stop_on_change: Stop when output changes from the first run.
    stop_on_exit_code: Stop when command returns this exit code (default -999 = disabled).
    max_snapshots: Max number of output snapshots to keep (default 50). Older ones are dropped.
watch_fileA

Watch a file for changes or a specific pattern.

Useful for monitoring log files, build outputs, job status files.

Examples:
    - Watch a log: path="/var/log/app.log", pattern="ERROR|FATAL"
    - Wait for file: path="/tmp/job_done.flag", pattern=""
    - Tail a build log: path="build.log", pattern="BUILD SUCCESS|BUILD FAILURE"

Args:
    path: File path to watch.
    pattern: Regex pattern to stop on when found in the file. Leave empty to stop on any change.
    timeout_seconds: Max seconds to watch (default 300, max 3600).
    interval_seconds: Seconds between checks (default 5, min 2).
    tail_lines: Number of lines from end of file to return (default 50).
poll_urlA

Poll a URL repeatedly until it returns expected status/content.

Useful for waiting on deployments, health checks, APIs.

Examples:
    - Health check: url="http://localhost:8080/health", expected_body_pattern="healthy"
    - Wait for deploy: url="https://myapp.com/version", expected_body_pattern="v2.1"
    - Wait for service: url="http://localhost:3000", expected_status=200

Args:
    url: URL to poll.
    method: HTTP method (default GET).
    headers: Headers as "Key: Value" lines, newline-separated. Optional.
    expected_status: Stop when this HTTP status is returned (default 200).
    expected_body_pattern: Regex pattern — stop when response body matches. Leave empty to only check status.
    timeout_seconds: Max seconds to poll (default 300, max 3600).
    interval_seconds: Seconds between requests (default 10, min 2).
run_long_commandA

Run a long-running shell command and capture its full output.

Unlike monitor_command (which re-runs a command repeatedly), this runs
ONE command and streams its output until it finishes or times out.

Use for: builds, installs, database migrations, test suites, any single
command that takes a while.

Examples:
    - Build: command="npm run build", timeout_seconds=300
    - Tests: command="pytest -v", stop_pattern="FAILED|passed"
    - Install: command="apt install -y nginx", timeout_seconds=120

Args:
    command: Shell command to run.
    timeout_seconds: Max seconds to wait (default 600 = 10 min, max 3600).
    tail_lines: Number of output lines to return from the end (default 100).
    stream_check_interval: Seconds between progress checks (default 5).
    stop_pattern: Regex — kill the process early if output matches this.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/auspham/copilot-memory-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server