Skip to content

Search Symbols

search-symbols · Query · CorePlugin · Code discovery and navigation

Searches declarations by name, metadata name and optional semantic filters.

Availability: Built in and published in every operational mode.

Generated from Roslyn Workbench MCP 1.0.2 (1.0.2).

Behaviour annotations

Annotation Value
destructiveHint false
idempotentHint true
openWorldHint false
readOnlyHint true
title "Search Symbols"

Request

Property Type Required Description
query string No Source-name query.
metadataName string No
scope object | null No The optional scope selector.
kinds array | null No The included symbol kinds.
accessibilities array | null No The included accessibilities.
namespace string | null No The optional namespace filter.
symbolsLimit integer | null No Maximum number of results to return.
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.
warnings array No Non-fatal warnings the agent should consider.

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.
diagnostics array No Diagnostics that explain the failed invocation.
warnings array No Non-fatal warnings the agent should consider.

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.
diagnostics object Yes Diagnostics that explain the failed invocation.
reporting object No Error-reporting workflow available for an unhandled failure.

Bounded collections and continuation

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

  • $/oneOf/0/properties/data/properties/symbols

Continuations and required actions

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

  • $/oneOf/1/properties/continuation

Examples

Search a selected workspace with a limit

Workflow: Find and inspect a symbol safely, step 1.

Operational modes: inspection-only, transactional, autonomous-trusted.

Find matching symbols without returning an unbounded result set.

Expected outcome: At most 25 symbols are returned and hasMore indicates whether the query found additional matches.

{
  "query": "CustomerService",
  "symbolsLimit": 25,
  "workspace": {
    "alias": "sample"
  }
}

Representative response fragment:

{
  "ok": true,
  "data": {
    "symbols": {
      "items": [],
      "hasMore": true
    }
  }
}
Complete input schema
{
  "description": "Provide query, metadataName, or both.",
  "type": "object",
  "properties": {
    "query": {
      "description": "Source-name query.",
      "type": "string"
    },
    "metadataName": {
      "type": "string"
    },
    "scope": {
      "description": "The optional scope selector.",
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "Solution",
            "Project",
            "Document",
            "Projects"
          ],
          "default": "Solution"
        },
        "project": {
          "description": "Used only when kind is Project.",
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "projectId": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "path": {
              "description": "Workspace-relative path.",
              "type": "string"
            },
            "targetFramework": {
              "type": "string"
            }
          }
        },
        "document": {
          "description": "Used only when kind is Document.",
          "type": [
            "object",
            "null"
          ],
          "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"
            }
          }
        },
        "projects": {
          "description": "Used only when kind is Projects.",
          "type": [
            "array",
            "null"
          ],
          "items": {
            "description": "Provide projectId, name, path, targetFramework, or any combination.",
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "projectId": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "path": {
                "description": "Workspace-relative path.",
                "type": "string"
              },
              "targetFramework": {
                "type": "string"
              }
            }
          }
        }
      }
    },
    "kinds": {
      "description": "The included symbol kinds.",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "accessibilities": {
      "description": "The included accessibilities.",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "null"
        ]
      }
    },
    "namespace": {
      "description": "The optional namespace filter.",
      "type": [
        "string",
        "null"
      ]
    },
    "symbolsLimit": {
      "description": "Maximum number of results to return.",
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "maximum": 2147483647