New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

glider

Package Overview
Dependencies
Maintainers
1
Versions
139
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

glider

Compiler-backed C#/.NET code intelligence for coding agents. Explore symbols and call graphs, inspect diagnostics, analyze complexity, dependencies, and impact, and safely edit and refactor solutions through MCP.

nugetNuGet
Version
11.1.0
Version published
Total downloads
138K
Maintainers
1
Created
Source

Glider - Semantic C# MCP Server

Glider gives coding agents compiler-backed C#/.NET navigation, diagnostics, analysis, and refactoring through MCP. Find definitions, references, calls, compiler errors, and safe refactors across a solution.

Install

Prerequisite: .NET 10 SDK.

dotnet tool install --global glider

If install fails, run dotnet --version first. If dotnet is missing or below 10, install .NET 10 from: https://dotnet.microsoft.com/download/dotnet/10.0

Capabilities

  • Solution/project lifecycle: load, sync, reload, unload
  • Discovery and inspection: find_code, search_symbols, resolve_symbol, get_symbol_info, get_symbol_at_position
  • References and hierarchy: find_references, find_overrides, find_implementations, get_type_hierarchy, find_callers
  • Diagnostics and code search: get_diagnostics, diagnostic_hotspots, semantic_query, search_text
  • Refactoring and edits: rename_symbol, move_type, move_member, add_member, add_type, replace_member, replace_range, organize_usings, format_document, write_file

replace_member selects one declaration by symbolKey and verifies expectedText before a write. Read get_symbol_info.replacementSpans and the corresponding file window first. Span ends are exclusive. Use applyChanges=false for a preview. memberCode replaces the declaration without its outer trivia. The tool checks compiler diagnostics in the replacement and preserves surrounding source bytes. failOnErrors=true refuses compiler errors or incomplete linked-target coverage. Callers remain unchanged. Apply awaits sync across all linked targets without a full reload. A failed sync returns success=false and applied=true. A refresh failure reports the completed disk write; sync the file instead of repeating the edit.

  • Dependency and impact analysis: analyze_change_impact, get_cascade_impact, get_project_graph, find_package_usages
  • Batch execution: batch

For general code navigation, find_code is the recommended first tool to try. The full tool reference lives at https://glidermcp.com/glider/tools.

Exact source ranges

Use replace_range for expressions, comments, imports, directives, or adjacent declarations in an existing loaded C# file. Read a bounded get_file_contents window with includeRawContent=true. Use rawContent for exact whitespace and line endings. The raw field includes the last returned line terminator. Request a smaller window if rawContentAvailable is false. Positions use one-based lines and UTF-16 columns. The start is inclusive and the end is exclusive. For int x = 1;, select line 1, column 9 through line 1, column 10 to replace 1. Supply nonempty expectedText and exact replacementText; empty replacement text deletes the range. Use applyChanges=false to preview. Empty ranges and boundaries inside CRLF or surrogate pairs are refused. The tool preserves encoding, BOM, and bytes outside the range. It does not format source or update callers. failOnErrors=true refuses any error in the edited documents, including existing errors, or incomplete linked-target checks. Check project diagnostics after imports, declarations, signatures, or directives change; other files are outside these checks. Apply awaits one named-file sync for every linked document. It does not reload the solution. Never repeat a completed or uncertain write. Inspect the disk outcome and sync the file if the workspace update fails.

Search Scope

search_text searches all loaded project documents, including additional files and analyzer configuration files. Files outside the loaded projects are excluded.

Use Scout for repository-wide search, fuzzy filenames, code structure, and optional semantic search.

Run Modes

Stdio (default)

glider

HTTP

glider --transport http

Default HTTP MCP endpoint: http://localhost:5001/mcp

Useful flags:

glider --default-timeout 30m
glider --build-host netframework
glider --msbuild-path "C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin"
glider --port 8080
glider --solution "C:\repos\app\src\App.sln"
glider --solution "C:\repos\app\src\App.sln" --workspace "C:\repos\app"
glider --solution "C:\repos\app\src\App.sln" --no-watch
glider --verbose
glider --help
glider --version

Flag reference

  • --default-timeout — supports ms, s, and m suffixes. Use 0 to disable the server-side timeout.

  • --build-host — accepts auto, netframework, and netcore. It selects the build-host family for project evaluation.

  • --msbuild-path — uses a specific MSBuild installation for project evaluation.

  • --solution — loads a .sln, .slnx, or .csproj automatically at startup, so agents don't need to call the load tool first.

    • The load runs in the background: the server answers MCP requests immediately, and a failed load leaves the server alive so you can retry load.
    • While it runs, server_status reports progress under workspaceLoading, with an ETA from this workspace's previous load time.
    • Relative paths resolve against the launch directory; prefer absolute paths in shared configs.
  • --workspace — sets the root directory that the file watcher monitors for auto-sync.

    • When omitted, Glider watches the git repository root of the loaded file. Outside a repository, it watches the file's own directory. This helps when the solution sits in a subfolder and related code lives in sibling folders.
    • In a large monorepo, this wide root also detects edits to unrelated files, and each edit can trigger a workspace refresh. Pass --workspace with a narrower directory, or --no-watch, if the refreshes become too frequent.
    • The workspace still loads if the watcher cannot start, for example when the OS reaches its inotify limit. Glider disables auto-sync and reports the reason in the load result's fileWatcher.error.
  • --no-watch — disables the file watcher and auto-sync for the startup load. Do not combine it with --workspace.

Configure Your MCP Client

Use installation and host-specific setup guides on the website:

Version Expiration

Each Glider version expires 1 month after release date.

dotnet tool update --global glider

Troubleshooting

  • If glider is not found after install, ensure ~/.dotnet/tools is on PATH.
  • If load fails with MSBuild initialization errors, rerun with --verbose and inspect returned diagnostics.
  • For legacy .NET Framework solutions on Windows, retry with --build-host netframework when auto selects an incompatible build host.
  • If the host kind is correct but the toolset is wrong, use --msbuild-path to select the required MSBuild installation.
  • On Windows, prefer a stable Visual Studio install for legacy .NET Framework solutions.

License

All non-commercial use and work on open-source projects are free with no time limit. Commercial use is free until paid plans become available. The full terms are in the LICENSE file inside this package.

Keywords

mcp

FAQs

Package last updated on 11 Sep 2026

Related posts