Pi Setup

Configure Glider with Pi coding agent.

Pi

Prerequisite: .NET 10 SDK must be installed before running dotnet tool install --global glider.
dotnet tool install --global glider
Pi starts stdio MCP servers through the configured command. Make sure glider is available on PATH.
# bash/zsh
export PATH="$PATH:$HOME/.dotnet/tools"
which glider
Pi uses the pi-mcp-adapter extension for MCP. Pi packages execute code, so review package source and trust before installing.
pi install npm:pi-mcp-adapter
Create .mcp.json in your project. Pi reads this shared project config automatically and keeps servers lazy by default, so Glider starts when the agent actually uses it. Pi MCP adapter docs: pi.dev/packages/pi-mcp-adapter.
{
  "mcpServers": {
    "glider": {
      "command": "glider",
      "args": ["--default-timeout", "30m"]
    }
  }
}
Use ~/.config/mcp/mcp.json for user-global shared MCP servers. Use .pi/mcp.json or ~/.pi/agent/mcp.json when you want Pi-specific project or user overrides.
If you prefer Streamable HTTP, start Glider yourself and configure Pi with http://localhost:5001/mcp. The adapter keeps servers lazy by default for either transport.
glider --transport http --default-timeout 30m

{
  "mcpServers": {
    "glider": {
      "url": "http://localhost:5001/mcp"
    }
  }
}
Pi keeps MCP tools behind one proxy tool by default to save context. If you want selected Glider tools exposed directly, add directTools with the original MCP tool names.
{
  "mcpServers": {
    "glider": {
      "command": "glider",
      "args": ["--default-timeout", "30m"],
      "directTools": [
        "load",
        "find_code",
        "get_diagnostics",
        "find_references",
        "analyze_change_impact"
      ]
    }
  }
}
Restart Pi after installing the adapter, open the MCP panel, and search for Glider tools.
pi
# Run: /mcp
# Ask: "Search MCP tools for glider diagnostics references."
Add --solution <path> to the launch arguments in the configuration above so Glider loads your solution or project (a .sln, .slnx, or .csproj file) at startup, instead of waiting for the agent to call load. With it set, server_status shows the workspace as loaded — or, on a large workspace, still loading in the background under workspaceLoading — from the first message, so the agent can wait for that load to finish instead of stopping with a "No solution loaded. Use load first." message and reaching for text search. Put the flag after -- for claude mcp add, add it to the args array in JSON and Codex TOML configs, or to the single command array for OpenCode. For worktrees, prefer a relative path and launch the server from the selected worktree root. Relative paths use the server launch directory, not the config file directory. An absolute path intentionally pins one checkout.
# From the selected worktree root; replace src/App.slnx with your solution path.
glider --solution src/App.slnx --default-timeout 30m
# Add --workspace <dir> to watch a different root, or --no-watch to disable file watching.
Use a project-local config: Claude Code .mcp.json, Codex .codex/config.toml (trusted projects), Cursor .cursor/mcp.json, or VS Code .vscode/mcp.json. Include portable config files in version control, or copy local config files into each worktree. Git does not copy ignored files. Use absolute paths only when you intentionally want one fixed checkout, such as a global Claude Desktop configuration.

Open the client at the selected worktree root. Relative server arguments use the server launch directory, not the config file directory. Project scope alone does not guarantee that directory. If the client starts elsewhere, configure its MCP working directory or use a Git-root launcher.

Run git rev-parse --show-toplevel in the client terminal, then ask server_status for the server workspace. Confirm that the loaded solution or workspace belongs to that worktree before you query or change code. For a wrong root, explicitly load the intended workspace or restart the server with the correct path.

An existing HTTP server keeps its own workspace when the client changes directories. Use separate servers and ports for simultaneous worktrees.
git rev-parse --show-toplevel
After connecting Glider, add this product-specific instruction to your MCP client system prompt or project instructions so the agent chooses the right tool surface first.
When working in C#/.NET workspaces, prefer glider mcp semantic tools for symbol identity, code relationships, diagnostics, dependencies, impact analysis, and preview-first refactors. Use Scout for repository retrieval and raw text questions. Use the .NET CLI for build and test commands. Preload the solution with --solution, or call load before semantic queries.
↑/↓ NavigateEnter OpenSpace Expand