// config file
.vscode/mcp.json
Servers go under servers, not mcpServers. For every workspace, run MCP: Open User Configuration and add the same entry to your profile’s mcp.json.
For VS Code users
The agent in VS Code reads the files you attach and the ones it searches for. Maguyva indexes the whole repo and serves it over MCP, so the agent asks where a symbol lives and who calls it before it edits.
Free tier: 3 repos, 50K indexed lines, no card.
One servers entry in .vscode/mcp.json: a URL and an Authorization header. Four facts specific to VS Code.
// config file
Servers go under servers, not mcpServers. For every workspace, run MCP: Open User Configuration and add the same entry to your profile’s mcp.json.
// transport
VS Code connects to Maguyva’s endpoint over Streamable HTTP and falls back to SSE only when a server lacks it. Nothing runs locally.
// key
The header reads Bearer ${env:MAGUYVA_API_KEY}, which VS Code resolves from the environment it was started in, so the key stays out of the file you commit. Prefer a prompt? An input variable asks once and stores the key.
// trust
Servers in .vscode/mcp.json start without a separate prompt once you trust the workspace, and never start in Restricted Mode. Configure Tools in the chat input turns single tools on or off.
# .github/copilot-instructions.md
- Run npm test before you call a change done.
- Never edit generated files under src/gen/.VS Code reads project-wide instructions from .github/copilot-instructions.md or AGENTS.md, and targeted ones from .github/instructions/*.instructions.md files with an applyTo pattern. Use them for:
Instructions tell the agent how to work. They cannot tell it which of four thousand files import the type it is about to rename.
Three things the agent cannot learn from the files it has open.
The agent works from what you attach and what its searches return. The caller in another package that breaks after the change was never in either list.
Workspace search finds the string. It cannot tell a real call from a comment, a mock, or a method with the same name on another class.
Each file the agent opens to orient itself spends context it needs for the change. One ranked answer with file:line costs less than ten exploratory reads.
One servers entry gives the agent:
VS Code gives the agent your workspace.
Maguyva gives the agent a map of the repo.
Ask the map first, then edit.
// workflow 01
vscode agent> which tests exercise parseConfig? dependency_search("parseConfig", dependents) tests/config/parse.test.ts:12 tests/cli/flags.test.ts:88 → The agent runs both files after the edit, not the whole suite. [exit 0]
The answer names the two test files that reach the parser, so the agent checks the change where it can break.
// workflow 02
vscode agent> rename OrderStatus.PENDING to OrderStatus.QUEUED find_symbol("OrderStatus", references) 23 references across 9 files → The agent plans one pass over nine files. [exit 0]
The reference count arrives before the edit, not after the type checker fails.
Three steps. Free tier: 3 repos, 50K indexed lines, no card.
// step 01
Pick one you already know, so you can grade the answers.
// step 02
.vscode/mcp.json
{
"servers": {
"maguyva": {
"type": "http",
"url": "https://maguyva.tools/mcp",
"headers": {
"Authorization": "Bearer ${env:MAGUYVA_API_KEY}"
}
}
}
} // step 03
Set MAGUYVA_API_KEY in the environment you start VS Code from, then start the server from the code lens above its entry. Ask the agent one question whose answer you already know.