`resolveDiscoveredConfig` does not read workspace `.mcp.json` — `includeWorkspaceSources` never set
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 72/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Calme
- Stack technique
- javascript
- Domaine
- cli
Piste de recherche
Commencez par resolveDiscoveredConfig() et suivez son appel à jv(), en utilisant la reproduction fournie de workingDirectory et de workspace .mcp.json. Vérifiez que la découverte de la configuration inclut les sources du workspace, puis réexécutez le scénario de session du SDK et confirmez que le time MCP server est chargé depuis .mcp.json.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
When the SDK creates a session with enableConfigDiscovery: true and a workingDirectory, the CLI's resolveDiscoveredConfig() calls the internal MCP config loader (jv()) without passing includeWorkspaceSources: true. That parameter defaults to false, so the workspace .mcp.json is never read — even though the intent of enableConfigDiscovery is clearly to discover it.
Version
@github/copilot v1.0.41-0 (commit 3f18c2c)
Steps to reproduce
- Place a valid
.mcp.jsonin a working directory:{ "mcpServers": { "time": { "command": "uvx", "args": ["mcp-server-time"] } } } - Create a session via the SDK with
enableConfigDiscovery: trueandworkingDirectorypointing to that directory. - Observe that no MCP servers from
.mcp.jsonare discovered.
Expected behaviour
The MCP servers defined in the workspace .mcp.json should be discovered and loaded into the session.
Actual behaviour
The CLI logs:
Loaded MCP config from installed plugins: 0 server(s):
No MCP config loaded from ODR (ODR unavailable or returned no usable servers)
No workspace .mcp.json is read. The flag triggers config resolution, but the resolution skips the workspace source.
Root cause
In resolveDiscoveredConfig(), the call to jv() omits includeWorkspaceSources:
async resolveDiscoveredConfig(e) {
if (!e.enableConfigDiscovery) return {};
let r = e.workingDirectory || process.cwd();
// ...
let c = await jv({
cwd: r,
repoRoot: l,
settings: this.options.settings,
installedPlugins: s
// ← missing: includeWorkspaceSources: true
});
}
Inside jv(), the parameter defaults to false. When false, the function skips the code path that reads .mcp.json from the working directory:
async function jv(t = {}) {
let { includeWorkspaceSources: s = false } = t;
// ...
if (!s) d = { ...c }; // ← only copies global config
else {
// reads .mcp.json from cwd/repoRoot — this path is never taken
}
}
Suggested fix
Pass includeWorkspaceSources: true in the jv() call within resolveDiscoveredConfig():
let c = await jv({
cwd: r,
repoRoot: l,
settings: this.options.settings,
installedPlugins: s,
includeWorkspaceSources: true // ← add this
});
- Langage dominant
- Shell
- Étoiles
- 11.2k
- Forks
- 1.9k
- Merge moyen
- 14 h 16 min
- PR mergées (30 j)
- 6
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de github/copilot-cli
-
triage
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
github/copilot-cli#4848 ·
-
area:agents area:mcp
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
github/copilot-cli#4729 ·
-
area:sessions
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
github/copilot-cli#4712 ·
-
triage
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
github/copilot-cli#4638 ·
-
Expose large_output_file_path on TaskShellProgress so clients can read complete shell-task output Ouvertearea:tools
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
github/copilot-cli#4630 · 1 commentaire ·
Toutes les issues de github/copilot-cli
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 90/100
danielmiessler/LifeOS#2218 ·
-
docs(agents): strengthen the no-backslash-escaped-backticks rule with an issue-creation example Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
-
technical-debt
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
ll7/robot_sf_ll7#9560 ·
-
Update ghgrab to 2.1.0 Ouvertepackage-update
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
oSoWoSo/vOid_Community_repOsitory#148 · 1 commentaire ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100