load

[solution]

Loads a C# solution (.sln/.slnx) or project (.csproj) for analysis. Optionally enables automatic file watching when workingDirectory is provided.

Try this tool in Playground.

Parameters

NameTypeRequiredDescription
pathstringYesAbsolute path to .sln, .slnx, or .csproj file to load.
workingDirectorystringNoOptional working directory to watch for file changes. When provided, enables automatic sync of changed files.
includeProjectsbooleanNoInclude detailed project information in response. Default is false.
timeout_msnumberNoTimeout in milliseconds (10 minutes). Use 0 to disable. Default is 600000.

Examples

Load a solution

Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "load",
    "arguments": {
      "path": "/Users/dev/MyProject/MyProject.sln"
    }
  }
}
Response
{
  "success": true,
  "data": {
    "loadedPath": "/Users/dev/MyProject/MyProject.sln",
    "loadedKind": "solution",
    "projectCount": 2,
    "projects": [
      {
        "name": "MyProject",
        "filePath": "/Users/dev/MyProject/MyProject.csproj",
        "documentCount": 42
      }
    ],
    "fileWatcher": {
      "enabled": true,
      "watchedDirectory": "/Users/dev/MyProject"
    },
    "cache": {
      "cacheStatus": "valid",
      "revision": 1,
      "lastRefreshUtc": "2026-01-23T21:06:33.123Z",
      "loadedKind": "solution",
      "loadedPath": "/Users/dev/MyProject/MyProject.sln"
    }
  },
  "meta": {
    "durationMs": 123,
    "cancelled": false,
    "timedOut": false,
    "timeoutMs": 600000
  },
  "error": null
}

Load with file watching

Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "load",
    "arguments": {
      "path": "/Users/dev/MyProject/MyProject.sln",
      "workingDirectory": "/Users/dev/MyProject",
      "includeProjects": true
    }
  }
}
Response
{
  "success": true,
  "data": {
    "loadedPath": "/Users/dev/MyProject/MyProject.sln",
    "loadedKind": "solution",
    "projectCount": 2,
    "projects": [
      {
        "name": "MyProject",
        "filePath": "/Users/dev/MyProject/MyProject.csproj",
        "documentCount": 42
      }
    ],
    "fileWatcher": {
      "enabled": true,
      "watchedDirectory": "/Users/dev/MyProject"
    },
    "cache": {
      "cacheStatus": "valid",
      "revision": 1,
      "lastRefreshUtc": "2026-01-23T21:06:33.123Z",
      "loadedKind": "solution",
      "loadedPath": "/Users/dev/MyProject/MyProject.sln"
    }
  },
  "meta": {
    "durationMs": 123,
    "cancelled": false,
    "timedOut": false,
    "timeoutMs": 600000
  },
  "error": null
}

Load a standalone project

Request
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "load",
    "arguments": {
      "path": "/Users/dev/MyProject/MyProject.csproj"
    }
  }
}
Response
{
  "success": true,
  "data": {
    "loadedPath": "/Users/dev/MyProject/MyProject.sln",
    "loadedKind": "solution",
    "projectCount": 2,
    "projects": [
      {
        "name": "MyProject",
        "filePath": "/Users/dev/MyProject/MyProject.csproj",
        "documentCount": 42
      }
    ],
    "fileWatcher": {
      "enabled": true,
      "watchedDirectory": "/Users/dev/MyProject"
    },
    "cache": {
      "cacheStatus": "valid",
      "revision": 1,
      "lastRefreshUtc": "2026-01-23T21:06:33.123Z",
      "loadedKind": "solution",
      "loadedPath": "/Users/dev/MyProject/MyProject.sln"
    }
  },
  "meta": {
    "durationMs": 123,
    "cancelled": false,
    "timedOut": false,
    "timeoutMs": 600000
  },
  "error": null
}

Response Notes

Returns projects and cache metadata for the loaded solution/project