OpenCode Setup

Configure TGlider with OpenCode.

OpenCode

TGlider runs on Node.js 24 or newer. The recommended stdio configuration uses npx -y tglider@latest, so a separate global install is optional.
node --version
Create opencode.json in your project root. This local command setup uses stdio. OpenCode config files are merged, and project config overrides global defaults. OpenCode MCP docs: opencode.ai/docs/mcp-servers.
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "tglider": {
      "type": "local",
      "command": ["npx", "-y", "tglider@latest", "--workspace", "."],
      "enabled": true
    }
  }
}
If you prefer Streamable HTTP, start TGlider yourself and configure OpenCode as a remote MCP server at http://localhost:5002/mcp.
npm exec -- tglider --transport http --port 5002

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "tglider": {
      "type": "remote",
      "url": "http://localhost:5002/mcp",
      "enabled": true
    }
  }
}
Start a new OpenCode session and ask which TGlider tools are available. If you did not preload one with --workspace, load a JS/TS workspace with the load tool before using semantic tools.
Add --workspace <path> to the launch arguments in the configuration above so TGlider loads your repository root (a directory, not a project 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 workspace loaded." 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. Use a relative subdirectory for a smaller workspace.
npx -y tglider@latest --workspace .
# Add --no-watch to load without starting the file watcher.
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 TGlider, 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 TypeScript or JavaScript workspaces, prefer tglider mcp semantic tools before grep, rg, or find for code navigation and refactoring. Use TGlider for symbols, declarations, references, implementations, exports, package importers, project and dependency topology, diagnostics, callers, outgoing calls, impact analysis, and preview-first rename or refactor planning. Use shell text search only for non-code assets, files outside the loaded workspace, generated output, or after TGlider cannot load or cannot answer the question. Preload the workspace at startup with --workspace (or call load first); the load is a one-time background cost, so do not fall back to text search just because loading a large workspace seems slow.
↑/↓ NavigateEnter OpenSpace Expand