Skip to content

Add MemPalace as a shared MCP workflow#26102

Merged
pelikhan merged 4 commits intomainfrom
copilot/add-support-for-mempalace
Apr 13, 2026
Merged

Add MemPalace as a shared MCP workflow#26102
pelikhan merged 4 commits intomainfrom
copilot/add-support-for-mempalace

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 13, 2026

Adds MemPalace — a local ChromaDB-backed semantic memory system — as a shared MCP workflow importable by any agentic workflow.

Changes

  • shared/mcp/mempalace.md — new shared workflow that:

    • Installs mempalace==3.2.0 via pip in a pre-step
    • Configures a stdio MCP server (python -m mempalace.mcp_server) with the palace rooted at /tmp/gh-aw/cache-memory/palace
    • Enables all 19 tools across palace read/write, knowledge graph, navigation, and agent diary categories
    • Declares cache-memory: true so the ChromaDB palace persists across runs (palace is auto-created on first use)
  • daily-fact.md — updated to use MemPalace for variety enforcement across daily runs:

    • Step 0 (Load memory): queries mempalace_search (wing: daily-facts) before selecting a topic, so previously celebrated PRs, issues, releases, and contributors are excluded
    • Step 3 (Save memory): calls mempalace_add_drawer after posting, storing the cited identifier into one of five canonical rooms (pr, release, issue, contributor, pattern)

Usage

imports:
  - shared/mcp/mempalace.md

Override cache retention (default 7 days, max 90):

tools:
  cache-memory:
    retention-days: 30

Copilot AI and others added 2 commits April 13, 2026 22:52
@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot use mempalace in a daily agentic workflow (pick a good candidate, update prompt)

Copilot AI and others added 2 commits April 13, 2026 23:15
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 13, 2026

@copilot use mempalace in a daily agentic workflow (pick a good candidate, update prompt)

Updated daily-fact.md (commit 5f450f9) to import shared/mcp/mempalace.md.

Why daily-fact? The workflow explicitly requires variety — it must not repeat the same PR, issue, release, or contributor across daily runs. MemPalace is a natural fit: its semantic search prevents repetition and its structured wings/rooms provide typed categorization.

What changed in the prompt:

  • Step 0 (Load memory): calls mempalace_search with wing: "daily-facts" before gathering any activity. Any PR/issue/release/contributor found in the results is excluded from today's fact.
  • Step 3 (Save memory): calls mempalace_add_drawer after posting, storing the cited identifier into one of five canonical rooms (pr, release, issue, contributor, pattern).

The palace is backed by cache-memory so it persists across runs without any repository noise.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw (http block)
  • https://api.github.com/repos/actions/ai-inference/git/ref/tags/v1
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha -bool -buildtags /opt/hostedtoolcache/node/24.14.1/x64/bin/node -errorsas -ifaceassert -nilfunc /opt/hostedtoolcache/node/24.14.1/x64/bin/node /tmp�� inputs.version -tests /usr/bin/git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha Imports3623974117/001/noflag-a.md 3880601/b007/vet.cfg .cfg (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git agentic-observabgit .cfg 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git 999 HEAD 64/pkg/tool/linu--show-toplevel git (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v8
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha --show-toplevel (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v9
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha -unreachable=false /tmp/go-build3243880601/b136/vet.cfg 3880601/b300/vet.cfg (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha 3469538/b124/_pkg_.a /tmp/go-build3243880601/b121/vet.cfg 3469538/b124=> (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha 3469538/b368/_pkg_.a /tmp/go-build3243880601/b091/vet.cfg 3469538/b368=> logs/user.env b/gh-aw/pkg/workrev-parse n-dir/git /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/link -V=f�� 8gwz/uyCvMcYKvVTTd3SN8gwz (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha se 3469538/b367/vet.cfg /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha -unreachable=false /tmp/go-build3243880601/b003/vet.cfg /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha HEAD .cfg 64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v7
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha tmatter-with-nested-objects.md (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha --get-regexp --global x_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha --get-regexp --local x_amd64/vet (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v0.1.2
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq .object.sha -unreachable=false /tmp/go-build3243880601/b035/vet.cfg 3880601/b295/vet.cfg (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq .object.sha --noprofile .cfg 64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha HEAD .cfg 64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v0.47.4
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq .object.sha --show-toplevel -tests /usr/bin/git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha (http block)
  • https://api.github.com/repos/nonexistent/action/git/ref/tags/v999.999.999
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI requested a review from pelikhan April 13, 2026 23:20
@pelikhan pelikhan marked this pull request as ready for review April 13, 2026 23:48
Copilot AI review requested due to automatic review settings April 13, 2026 23:48
@pelikhan pelikhan merged commit 4fd4872 into main Apr 13, 2026
53 checks passed
@pelikhan pelikhan deleted the copilot/add-support-for-mempalace branch April 13, 2026 23:48
@github-actions github-actions bot mentioned this pull request Apr 13, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a reusable MemPalace MCP configuration intended to provide persistent, semantic “memory” across workflow runs, and wires it into the daily-fact workflow to avoid repeating previously-posted topics.

Changes:

  • Introduces a new shared MCP import (shared/mcp/mempalace.md) meant to configure and install MemPalace + enable cache-memory.
  • Updates daily-fact.md to query MemPalace before selecting a topic and record the chosen topic after posting.
  • Regenerates daily-fact.lock.yml to include MemPalace MCP server configuration, Python setup, and cache-memory persistence jobs/steps.
Show a summary per file
File Description
.github/workflows/shared/mcp/mempalace.md Adds a shared MCP server definition for MemPalace and enables cache-memory persistence.
.github/workflows/daily-fact.md Adds “load memory” and “save memory” instructions and imports the MemPalace shared config.
.github/workflows/daily-fact.lock.yml Lockfile regen reflecting the new import, MemPalace MCP server wiring, Python setup, and cache-memory persistence.

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comments suppressed due to low confidence (2)

.github/workflows/shared/mcp/mempalace.md:50

  • The pip install "mempalace==3.2.0" step runs in the workflow runner environment, but MCP stdio servers are executed in isolated containers via the gateway. This means the MemPalace package installed here won’t be available to the server process unless the server is also run in that same environment. Consider moving the installation into the MCP server container setup (e.g., using a purpose-built image or an entrypoint that installs dependencies) so the gateway-launched server can actually import mempalace.
steps:
  - name: Install MemPalace
    run: pip install "mempalace==3.2.0"

.github/workflows/daily-fact.lock.yml:773

  • The gateway JSON config for mempalace includes "type": "stdio" with a raw "command": "python". Per the MCP Gateway spec, stdio servers must be containerized and command is not supported; the gateway is likely to reject this config or fail to start the server. Update the underlying shared MCP config so this expands to a containerized server (container + entrypoint/entrypointArgs) instead of command.
              "type": "stdio",
              "command": "python",
              "args": [
  • Files reviewed: 3/3 changed files
  • Comments generated: 2

Comment on lines +19 to +26
mempalace:
type: stdio
command: "python"
args:
- "-m"
- "mempalace.mcp_server"
- "--palace"
- "/tmp/gh-aw/cache-memory/palace"
Comment on lines +736 to +737
[mcp_servers.mempalace]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants