Skip to content

Analyze Data Flow

analyze-data-flow · Query · CorePlugin · Code analysis

Analyzes data flow for an exact expression, complete statement, or contiguous statement range.

Availability: Built in and published by default.

Generated from Roslyn Workbench MCP 0.1.0-beta.304 (0.1.0-beta.304).

Behaviour annotations

Annotation Value
destructiveHint false
idempotentHint true
openWorldHint false
readOnlyHint true
title "Analyze Data Flow"

Request

Property Type Required Description
location object Yes An exact expression, complete statement or contiguous statement range to analyze.
symbolsPerCategoryLimit integer | null No Maximum number of symbols to return in each data-flow category.
expectedSnapshot object | null No Echo the snapshot returned with the data or transaction state used to construct this request.
workspace object | null No Provide workspaceId, alias, path, or any combination.

Response

Success response

Property Type Required Description
ok boolean constant (true) Yes Whether the tool invocation succeeded.
data object | null Yes Tool-specific result payload.
snapshot object Yes Exact immutable workspace snapshot associated with the result, when available.

Error response

Property Type Required Description
ok boolean constant (false) Yes Whether the tool invocation succeeded.
error object Yes Structured error details when the invocation failed.
continuation oneOf No Action the agent should take before retrying or continuing.

Bounded collections and continuation

These response locations publish returned items with explicit bounds and continuation state:

  • $/oneOf/0/properties/data/properties/variablesDeclared
  • $/oneOf/0/properties/data/properties/readInside
  • $/oneOf/0/properties/data/properties/writtenInside
  • $/oneOf/0/properties/data/properties/dataFlowsIn
  • $/oneOf/0/properties/data/properties/dataFlowsOut
  • $/oneOf/0/properties/data/properties/captured

Continuations and required actions

A non-success response may include a structured continuation at the following schema location. Follow its tool call or user-action instruction instead of guessing how to retry:

  • $/oneOf/1/properties/continuation
Complete input schema
{
  "type": "object",
  "properties": {
    "location": {
      "description": "An exact expression, complete statement or contiguous statement range to analyze.",
      "type": "object",
      "properties": {
        "span": {
          "type": "object",
          "properties": {
            "document": {
              "description": "Provide exactly one of path or documentId.",
              "type": "object",
              "properties": {
                "project": {
                  "description": "Disambiguates documents with matching paths or IDs.",
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {
                    "projectId": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "path": {
                      "description": "Workspace-relative path.",
                      "type": "string"
                    },
                    "targetFramework": {
                      "type": "string"
                    }
                  }
                },
                "path": {
                  "description": "Workspace-relative path.",
                  "type": "string"
                },
                "documentId": {
                  "description": "Workspace-local document ID.",
                  "type": "string"
                }
              }
            },
            "range": {
              "description": "Zero-based UTF-16 range.",
              "type": "object",
              "properties": {
                "start": {
                  "description": "Zero-based UTF-16 offset.",
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 2147483647
                },
                "length": {
                  "description": "UTF-16 code-unit length.",
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 2147483647
                }
              }
            }
          },
          "required": [
            "document",
            "range"
          ]
        },
        "selection": {
          "type": "object",
          "properties": {
            "document": {
              "description": "Provide exactly one of path or documentId.",
              "type": "object",
              "properties": {
                "project": {
                  "description": "Disambiguates documents with matching paths or IDs.",
                  "$ref": "#/properties/location/properties/span/properties/document/properties/project"
                },
                "path": {
                  "description": "Workspace-relative path.",
                  "type": "string"
                },
                "documentId": {
                  "description": "Workspace-local document ID.",
                  "type": "string"
                }
              }
            },
            "selectedText"