github / github/app

Dynamic MCP Tool Loading to Reduce Context Window Consumption

Open
#1,398 3 comments 4 reactions 0 assignees View on GitHub
Requests and ideas
Dominant language
No language data
Stars
2.1k
Forks
153
PR merge metrics
No merged PRs in 30d

Description

### Feature summary

Currently, all MCP tool definitions from all connected servers are included in the context window on every turn, regardless of whether they are relevant to the current task

### What problem are you trying to solve?

---

### Problem

All MCP tool definitions from all connected servers are included in the context window on every turn, regardless of whether they are relevant to the current task. In environments with multiple MCP servers, this can result in **hundreds of tool schemas consuming tens of thousands of tokens** before any conversation content is processed.

This means:
- Significantly reduced capacity for actual code, diffs, file content, and conversation history
- Earlier context truncation in long sessions
- Wasted tokens on tools that will never be invoked in a given session
- Degraded quality on complex tasks that need deep context

---

### Proposed solution

### Proposed Solution

Provide mechanisms to selectively load/unload MCP tools to minimize context window usage:

1. **Per-session tool profiles** — Allow users to define named profiles (e.g., "code-review", "incident-triage", "deployment") that only load relevant MCP servers/tools.

2. **Lazy/on-demand tool loading** — Only include a tool's full schema in context when it's first needed. Use a lightweight tool registry (name + one-line description) for discovery, expanding the full schema only when invoked.

3. **Session-scoped enable/disable** — A command to toggle MCP servers on/off mid-session without restarting.

4. **Task-based auto-selection** — Intelligently infer which MCP servers are relevant based on the user's first message and only load those.

5. **Tool grouping within servers** — Allow disabling subsets of a server's tools rather than all-or-nothing per server.

### Impact

- Frees significant context capacity for actual work content
- Improves response quality on context-heavy tasks (large code reviews, multi-file changes)
- Reduces latency (fewer tokens to process per turn)
- Better user control over their tool environment

### Workflow impact

_No response_

### Installation context

_No response_

### Additional context

_No response_

Contributor guide

Open the contributing guide

Research direction

The issue names no files, tests, or entry points. Start by locating the existing MCP tool registration and context assembly, then narrow the proposal to one mechanism with explicit acceptance criteria for context-window usage and session behavior.

Written by the indexing model from the issue text.

Assessment

Domain
ai, desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.