feat(copilot): add Copilot memory plugin via MCP (#2842) - #3545
Open
now-ing wants to merge 1 commit into
Open
Conversation
now-ing
force-pushed
the
feat/copilot-plugin-2842-clean
branch
from
July 27, 2026 17:40
07cb3f1 to
d59c626
Compare
GitHub Copilot had no OpenViking integration. Research (RESEARCH.md, with sources) confirms Copilot supports MCP (GA) across VSCode/JetBrains/Xcode/ Cursor/Copilot CLI/GitHub.com, plus Agent Skills and project-level MCP config (.vscode/mcp.json, ~/.copilot/mcp-config.json, .github/mcp.json). So instead of a speculative Claude-style hook plugin, this ships the integration the way Copilot actually supports: an MCP server config + Agent Skill, reusing the shared OpenViking /mcp proxy. - servers/mcp-proxy.mjs: reuses the shared stdio MCP proxy → OpenViking /mcp. - configs/: ready-to-use MCP configs for VSCode (.vscode/mcp.json), Copilot CLI (~/.copilot/mcp-config.json), and GitHub.com (.github/mcp.json). - scripts/build-configs.mjs: renders a config for a given target from env / ovcli.conf; idempotent. - skills/openviking-memory/SKILL.md: Agent Skill teaching Copilot how/when to recall and store memory via the MCP tools. - setup-helper/install.sh: self-contained installer. - README / INSTALL / INSTALL-ZH / DESIGN / RESEARCH. RESEARCH.md documents the Copilot extension surface with sources and the reasoning for choosing MCP over hooks. DESIGN.md flags the points that need real-Copilot confirmation (e.g. exact MCP config field names per product version) and lists what changes if they differ. Tests: scripts/build-configs.test.mjs (node:test, 11 cases) cover config rendering for each target + idempotency + env/ovcli.conf resolution. 11 pass. Refs volcengine#2842
now-ing
force-pushed
the
feat/copilot-plugin-2842-clean
branch
from
July 29, 2026 14:36
d59c626 to
e9cc386
Compare
now-ing
marked this pull request as ready for review
July 29, 2026 16:21
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
Closes #2842.
GitHub Copilot had no OpenViking integration. Rather than mirror the Claude-style hook plugin (Copilot does not expose that surface), this ships the integration the way Copilot actually supports — MCP — based on researched findings in RESEARCH.md (with sources).
Research conclusion (sources in RESEARCH.md)
Copilot supports MCP (GA) across VSCode / JetBrains / Xcode / Eclipse / Cursor / Windsurf / Copilot CLI / GitHub Copilot app / GitHub.com (cloud agent + code review). Plus Agent Skills (open standard) and project-level MCP config (
.vscode/mcp.json,~/.copilot/mcp-config.json,.github/mcp.json). So the right shape is: an MCP server config pointing at OpenViking's/mcp, plus an Agent Skill teaching Copilot when/how to use the memory tools.What's in the box
servers/mcp-proxy.mjs— reuses the shared stdio MCP proxy → OpenViking/mcp(credentials from env /ovcli.conf).configs/— ready MCP configs for VSCode, Copilot CLI, and GitHub.com, plusscripts/build-configs.mjsto render a config for a target from env /ovcli.conf(idempotent).skills/openviking-memory/SKILL.md— Agent Skill: when torecall(before answering factual/preference questions) andstore(after durable facts).setup-helper/install.sh— self-contained installer.Honest status
DESIGN.md flags the points that need real-Copilot confirmation (e.g. exact MCP config field names per product version, since Copilot's MCP config schema has been evolving) and lists what changes if they differ. Opening as draft until a Copilot user confirms the configs load and the tools surface in agent mode. The MCP approach is well-supported per the research, so the risk is in config-field details, not the integration shape.
Tests
scripts/build-configs.test.mjs(node:test, 11 cases): config rendering for each of the three targets, idempotency, env /ovcli.confresolution. 11 pass.This contribution was developed with AI assistance.
Refs #2842