Shared team memory for GitHub Copilot

threadctx is an MCP server, and GitHub Copilot speaks MCP — so your GitHub Copilot agent can query and write the same per-repo team memory as every other agent on your team.

Why this matters in GitHub Copilot

Coding agents forget. The bug your teammate's agent already chased down last Tuesday, the deploy gotcha, the architectural decision from last quarter — none of it is visible to a fresh GitHub Copilot session. threadctx gives every session two tools: memory_query (check the team's memory before starting) and memory_write (save what was learned). What one teammate's agent learns, everyone's agents remember — whether they run GitHub Copilot, Claude Code, Cursor, or anything else that speaks MCP.

Connect GitHub Copilot

Two options, same memory either way:

Local process — register the npm package as an MCP server in GitHub Copilot's MCP configuration (see the GitHub Copilot MCP docs). Most tools use the standard server block:

{
  "mcpServers": {
    "threadctx": { "command": "npx", "args": ["-y", "threadctx-mcp"] }
  }
}

Remote endpoint — if GitHub Copilot supports HTTP MCP servers with custom headers, skip the local install entirely: https://threadctx.dev/mcp with Authorization: Bearer tctx_…. Details on the connect page.

How the habit reaches GitHub Copilot

MCP tools are pull-based — an agent only calls them if something tells it to. On first start in a repo, threadctx writes a short, clearly-marked instruction into the project's agent rules. threadctx writes AGENTS.md (which Copilot reads) and reinforces it with .github/copilot-instructions.md — Copilot’s long-standing native instruction file — whenever the repo has a .github/ directory.

Set up once, whole team covered

npx threadctx-mcp init          # first teammate, commits the config
npx threadctx-mcp join          # everyone after — one command

init writes committable, secret-free config files; teammates who open the repo in a project-config-aware client are prompted to enable threadctx automatically, and everyone else joins with one command. Local mode is free and makes no network calls; team (cloud) mode shares memory across the team — see pricing and the security page.