Skip to main content
Glama

Get Symbol Dependencies

get-symbol-dependencies
Read-onlyIdempotent

Lists direct dependencies, referenced types, and members in a resolved C# symbol signature to inspect outgoing relationships and supported operations.

Instructions

Lists distinct direct dependencies found in a resolved symbol signature and supported executable operations, including referenced types and members. Use this for outgoing relationships; use get-symbol-dependents to find source symbols that reference the selected symbol, or get-dependency-graph for relationships across a scope. Dependencies may include metadata symbols. Containing assembly names are included by default. Returns up to 100 dependencies by default; check dependencies.hasMore before treating the inventory as complete.

Input Schema

NameRequiredDescriptionDefault
symbolYesThe symbol selector.
workspaceNoProvide workspaceId, alias, path, or any combination.
expectedSnapshotNoEcho the snapshot returned with the data or transaction state used to construct this request.
dependenciesLimitNoMaximum number of results to return.
includeAssembliesNoWhether containing assembly names should be included with each dependency.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changedv1.0.5
    • addedInput schema / $defs
      Added value: +{
      +  "document": {
      +    "properties": {
      +      "documentId": {
      +        "description": "Workspace-local document ID.",
      +        "type": "string"
      +      },
      +      "path": {
      +        "description": "Workspace-relative path.",
      +        "type": "string"
      +      },
      +      "project": {
      +        "$ref": "#/$defs/project",
      +        "description": "Disambiguates documents with matching paths or IDs."
      +      }
      +    },
      +    "type": "object"
      +  },
      +  "project": {
      +    "properties": {
      +      "name": {
      +        "type": "string"
      +      },
      +      "path": {
      +        "description": "Workspace-relative path.",
      +        "type": "string"
      +      },
      +      "projectId": {
      +        "type": "string"
      +      },
      +      "targetFramework": {
      +        "type": "string"
      +      }
      +    },
      +    "type": [
      +      "object",
      +      "null"
      +    ]
      +  }
      +}
    • addedInput schema / properties / symbol / properties / location / properties / selection / properties / document / $ref
      Added value: +"#/$defs/document"
    • removedInput schema / properties / symbol / properties / location / properties / selection / properties / document / properties
      Removed value: -{
      -  "documentId": {
      -    "description": "Workspace-local document ID.",
      -    "type": "string"
      -  },
      -  "path": {
      -    "description": "Workspace-relative path.",
      -    "type": "string"
      -  },
      -  "project": {
      -    "$ref": "#/properties/symbol/properties/location/properties/span/properties/document/properties/project",
      -    "description": "Disambiguates documents with matching paths or IDs."
      -  }
      -}
    • removedInput schema / properties / symbol / properties / location / properties / selection / properties / document / type
      Removed value: -"object"
    • addedInput schema / properties / symbol / properties / location / properties / span / properties / document / $ref
      Added value: +"#/$defs/document"
    • removedInput schema / properties / symbol / properties / location / properties / span / properties / document / properties
      Removed value: -{
      -  "documentId": {
      -    "description": "Workspace-local document ID.",
      -    "type": "string"
      -  },
      -  "path": {
      -    "description": "Workspace-relative path.",
      -    "type": "string"
      -  },
      -  "project": {
      -    "description": "Disambiguates documents with matching paths or IDs.",
      -    "properties": {
      -      "name": {
      -        "type": "string"
      -      },
      -      "path": {
      -        "description": "Workspace-relative path.",
      -        "type": "string"
      -      },
      -      "projectId": {
      -        "type": "string"
      -      },
      -      "targetFramework": {
      -        "type": "string"
      -      }
      -    },
      -    "type": [
      -      "object",
      -      "null"
      -    ]
      -  }
      -}
    • removedInput schema / properties / symbol / properties / location / properties / span / properties / document / type
      Removed value: -"object"
    • addedInput schema / properties / symbol / properties / project / $ref
      Added value: +"#/$defs/project"
    • removedInput schema / properties / symbol / properties / project / properties
      Removed value: -{
      -  "name": {
      -    "type": "string"
      -  },
      -  "path": {
      -    "description": "Workspace-relative path.",
      -    "type": "string"
      -  },
      -  "projectId": {
      -    "type": "string"
      -  },
      -  "targetFramework": {
      -    "type": "string"
      -  }
      -}
    • removedInput schema / properties / symbol / properties / project / type
      Removed value: -[
      -  "object",
      -  "null"
      -]
  2. Changed1 schema field changedv1.0.4
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$defs": {
      +    "warningInfo": {
      +      "properties": {
      +        "code": {
      +          "description": "The stable machine-readable warning code.",
      +          "type": "string"
      +        },
      +        "message": {
      +          "description": "The human-readable warning message.",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "code",
      +        "message"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "oneOf": [
      +    {
      +      "properties": {
      +        "data": {
      +          "description": "Tool-specific result payload.",
      +          "properties": {
      +            "dependencies": {
      +              "description": "The returned direct dependencies.",
      +              "properties": {
      +                "hasMore": {
      +                  "description": "Whether additional items were available beyond this page.",
      +                  "type": "boolean"
      +                },
      +                "items": {
      +                  "description": "Items returned in this page.",
      +                  "items": {
      +                    "properties": {
      +                      "assemblyName": {
      +                        "description": "The containing assembly name when requested.",
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      },
      +                      "kind": {
      +                        "description": "The symbol kind for the dependency.",
      +                        "type": "string"
      +                      },
      +                      "symbol": {
      +                        "description": "The dependent symbol reference.",
      +                        "properties": {
      +                          "displayName": {
      +                            "description": "The display name of the symbol.",
      +                            "type": "string"
      +                          },
      +                          "documentationCommentId": {
      +                            "description": "The documentation comment identifier, when available.",
      +                            "type": [
      +                              "string",
      +                              "null"
      +                            ]
      +                          },
      +                          "kind": {
      +                            "description": "The symbol kind.",
      +                            "type": "string"
      +                          },
      +                          "location": {
      +                            "$ref": "#/properties/request/properties/value/properties/symbol/properties/location",
      +                            "description": "The optional source location of the symbol."
      +                          }
      +                        },
      +                        "required": [
      +                          "displayName",
      +                          "kind"
      +                        ],
      +                        "type": [
      +                          "object",
      +                          "null"
      +                        ]
      +                      }
      +                    },
      +                    "required": [
      +                      "kind"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": [
      +                    "array",
      +                    "null"
      +                  ]
      +                },
      +                "totalCount": {
      +                  "description": "Complete result count, when available without additional expensive work.",
      +                  "type": [
      +                    "integer",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "symbol": {
      +              "description": "The queried symbol.",
      +              "properties": {
      +                "displayName": {
      +                  "description": "The display name of the symbol.",
      +                  "type": "string"
      +                },
      +                "documentationCommentId": {
      +                  "description": "The documentation comment identifier, when available.",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "kind": {
      +                  "description": "The symbol kind.",
      +                  "type": "string"
      +                },
      +                "location": {
      +                  "description": "The optional source location of the symbol.",
      +                  "properties": {
      +                    "column": {
      +                      "description": "The one-based column number.",
      +                      "type": "integer"
      +                    },
      +                    "document": {
      +                      "description": "The resolved document.",
      +                      "properties": {
      +                        "documentId": {
      +                          "description": "The document identifier.",
      +                          "type": "string"
      +                        },
      +                        "path": {
      +                          "description": "The normalized document path.",
      +                          "type": "string"
      +                        },
      +                        "projectId": {
      +                          "description": "The owning project identifier.",
      +                          "type": "string"
      +                        }
      +                      },
      +                      "required": [
      +                        "documentId",
      +                        "path",
      +                        "projectId"
      +                      ],
      +                      "type": [
      +                        "object",
      +                        "null"
      +                      ]
      +                    },
      +                    "line": {
      +                      "description": "The one-based line number.",
      +                      "type": "integer"
      +                    },
      +                    "selector": {
      +                      "description": "The canonical selector that can resolve this source location again.",
      +                      "properties": {
      +                        "span": {
      +                          "properties": {
      +                            "document": {
      +                              "description": "Provide exactly one of path or documentId.",
      +                              "properties": {
      +                                "documentId": {
      +                                  "description": "Workspace-local document ID.",
      +                                  "type": [
      +                                    "string",
      +                                    "null"
      +                                  ]
      +                                },
      +                                "path": {
      +                                  "description": "Workspace-relative path.",
      +                                  "type": [
      +                                    "string",
      +                                    "null"
      +                                  ]
      +                                },
      +                                "project": {
      +                                  "description": "Disambiguates documents with matching paths or IDs.",
      +                                  "properties": {
      +                                    "name": {
      +                                      "type": [
      +                                        "string",
      +                                        "null"
      +                                      ]
      +                                    },
      +                                    "path": {
      +                                      "description": "Workspace-relative path.",
      +                                      "type": [
      +                                        "string",
      +                                        "null"
      +                                      ]
      +                                    },
      +                                    "projectId": {
      +                                      "type": [
      +                                        "string",
      +                                        "null"
      +                                      ]
      +                                    },
      +                                    "targetFramework": {
      +                                      "type": [
      +                                        "string",
      +                                        "null"
      +                                      ]
      +                                    }
      +                                  },
      +                                  "type": [
      +                                    "object",
      +                                    "null"
      +                                  ]
      +                                }
      +                              },
      +                              "type": "object"
      +                            },
      +                            "range": {
      +                              "description": "Zero-based UTF-16 range.",
      +                              "properties": {
      +                                "length": {
      +                                  "description": "UTF-16 code-unit length.",
      +                                  "maximum": 2147483647,
      +                                  "minimum": 0,
      +                                  "type": "integer"
      +                                },
      +                                "start": {
      +                                  "description": "Zero-based UTF-16 offset.",
      +                                  "maximum": 2147483647,
      +                                  "minimum": 0,
      +                                  "type": "integer"
      +                                }
      +                              },
      +                              "type": "object"
      +                            }
      +                          },
      +                          "required": [
      +                            "document",
      +                            "range"
      +                          ],
      +                          "type": "object"
      +                        }
      +                      },
      +                      "required": [
      +                        "span"
      +                      ],
      +                      "type": [
      +                        "object",
      +                        "null"
      +                      ]
      +                    },
      +                    "snapshot": {
      +                      "description": "The exact immutable workspace snapshot associated with this location.",
      +                      "properties": {
      +                        "snapshotId": {
      +                          "format": "uuid",
      +                          "type": "string"
      +                        },
      +                        "transactionRevision": {
      +                          "type": [
      +                            "integer",
      +                            "null"
      +                          ]
      +                        },
      +                        "workspaceEpoch": {
      +                          "type": "integer"
      +                        },
      +                        "workspaceId": {
      +                          "format": "uuid",
      +                          "type": "string"
      +                        }
      +                      },
      +                      "required": [
      +                        "workspaceId",
      +                        "workspaceEpoch",
      +                        "snapshotId",
      +                        "transactionRevision"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    "span": {
      +                      "description": "The resolved text span.",
      +                      "properties": {
      +                        "length": {
      +                          "description": "UTF-16 code-unit length.",
      +                          "maximum": 2147483647,
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        },
      +                        "start": {
      +                          "description": "Zero-based UTF-16 offset.",
      +                          "maximum": 2147483647,
      +                          "minimum": 0,
      +                          "type": "integer"
      +                        }
      +                      },
      +                      "type": [
      +                        "object",
      +                        "null"
      +                      ]
      +                    }
      +                  },
      +                  "required": [
      +                    "snapshot"
      +                  ],
      +                  "type": [
      +                    "object",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "displayName",
      +                "kind"
      +              ],
      +              "type": [
      +                "object",
      +                "null"
      +              ]
      +            }
      +          },
      +          "type": [
      +            "object",
      +            "null"
      +          ]
      +        },
      +        "ok": {
      +          "const": true,
      +          "description": "Whether the tool invocation succeeded."
      +        },
      +        "snapshot": {
      +          "description": "Exact immutable workspace snapshot associated with the result, when available.",
      +          "properties": {
      +            "snapshotId": {
      +              "format": "uuid",
      +              "type": "string"
      +            },
      +            "transactionRevision": {
      +              "type": [
      +                "integer",
      +                "null"
      +              ]
      +            },
      +            "workspaceEpoch": {
      +              "type": "integer"
      +            },
      +            "workspaceId": {
      +              "format": "uuid",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "workspaceId",
      +            "workspaceEpoch",
      +            "snapshotId",
      +            "transactionRevision"
      +          ],
      +          "type": "object"
      +        },
      +        "warnings": {
      +          "description": "Non-fatal warnings the agent should consider.",
      +          "items": {
      +            "$ref": "#/$defs/warningInfo"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "ok",
      +        "data",
      +        "snapshot"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "properties": {
      +        "continuation": {
      +          "description": "Action the agent should take before retrying or continuing.",
      +          "oneOf": [
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "instruction": {
      +                  "description": "Agent-facing instruction explaining how to continue.",
      +                  "minLength": 1,
      +                  "type": "string"
      +                },
      +                "kind": {
      +                  "const": "CallTool",
      +                  "description": "Action required before the original request can continue."
      +                },
      +                "tool": {
      +                  "description": "Tool to call before continuing the original request.",
      +                  "minLength": 1,
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "kind",
      +                "tool",
      +                "instruction"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "instruction": {
      +                  "description": "Agent-facing instruction explaining how to continue.",
      +                  "minLength": 1,
      +                  "type": "string"
      +                },
      +                "kind": {
      +                  "const": "ChooseTool",
      +                  "description": "Action required before the original request can continue."
      +                },
      +                "tools": {
      +                  "description": "Allowed tool choices from which the agent must select one.",
      +                  "items": {
      +                    "description": "Name of a tool the agent may choose.",
      +                    "minLength": 1,
      +                    "type": "string"
      +                  },
      +                  "minItems": 1,
      +                  "type": "array",
      +                  "uniqueItems": true
      +                }
      +              },
      +              "required": [
      +                "kind",
      +                "tools",
      +                "instruction"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "instruction": {
      +                  "description": "Agent-facing instruction explaining how to continue.",
      +                  "minLength": 1,
      +                  "type": "string"
      +                },
      +                "kind": {
      +                  "const": "RetryRequest",
      +                  "description": "Action required before the original request can continue."
      +                }
      +              },
      +              "required": [
      +                "kind",
      +                "instruction"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "instruction": {
      +                  "description": "Agent-facing instruction explaining how to continue.",
      +                  "minLength": 1,
      +                  "type": "string"
      +                },
      +                "kind": {
      +                  "const": "ReviseRequest",
      +                  "description": "Action required before the original request can continue."
      +                }
      +              },
      +              "required": [
      +                "kind",
      +                "instruction"
      +              ],
      +              "type": "object"
      +            },
      +            {
      +              "additionalProperties": false,
      +              "properties": {
      +                "instruction": {
      +                  "description": "Agent-facing instruction explaining how to continue.",
      +                  "minLength": 1,
      +                  "type": "string"
      +                },
      +                "kind": {
      +                  "const": "ResolveExternally",
      +                  "description": "Action required before the original request can continue."
      +                }
      +              },
      +              "required": [
      +                "kind",
      +                "instruction"
      +              ],
      +              "type": "object"
      +            }
      +          ]
      +        },
      +        "diagnostics": {
      +          "description": "Diagnostics that explain the failed invocation.",
      +          "items": {
      +            "properties": {
      +              "id": {
      +                "description": "The diagnostic identifier.",
      +                "type": "string"
      +              },
      +              "location": {
      +                "description": "The optional source location of the diagnostic.",
      +                "properties": {
      +                  "column": {
      +                    "description": "The one-based column number.",
      +                    "type": "integer"
      +                  },
      +                  "document": {
      +                    "description": "The resolved document.",
      +                    "properties": {
      +                      "documentId": {
      +                        "description": "The document identifier.",
      +                        "type": "string"
      +                      },
      +                      "path": {
      +                        "description": "The normalized document path.",
      +                        "type": "string"
      +                      },
      +                      "projectId": {
      +                        "description": "The owning project identifier.",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "documentId",
      +                      "path",
      +                      "projectId"
      +                    ],
      +                    "type": [
      +                      "object",
      +                      "null"
      +                    ]
      +                  },
      +                  "line": {
      +                    "description": "The one-based line number.",
      +                    "type": "integer"
      +                  },
      +                  "selector": {
      +                    "description": "The canonical selector that can resolve this source location again.",
      +                    "properties": {
      +                      "span": {
      +                        "properties": {
      +                          "document": {
      +                            "description": "Provide exactly one of path or documentId.",
      +                            "properties": {
      +                              "documentId": {
      +                                "description": "Workspace-local document ID.",
      +                                "type": [
      +                                  "string",
      +                                  "null"
      +                                ]
      +                              },
      +                              "path": {
      +                                "description": "Workspace-relative path.",
      +                                "type": [
      +                                  "string",
      +                                  "null"
      +                                ]
      +                              },
      +                              "project": {
      +                                "description": "Disambiguates documents with matching paths or IDs.",
      +                                "properties": {
      +                                  "name": {
      +                                    "type": [
      +                                      "string",
      +                                      "null"
      +                                    ]
      +                                  },
      +                                  "path": {
      +                                    "description": "Workspace-relative path.",
      +                                    "type": [
      +                                      "string",
      +                                      "null"
      +                                    ]
      +                                  },
      +                                  "projectId": {
      +                                    "type": [
      +                                      "string",
      +                                      "null"
      +                                    ]
      +                                  },
      +                                  "targetFramework": {
      +                                    "type": [
      +                                      "string",
      +                                      "null"
      +                                    ]
      +                                  }
      +                                },
      +                                "type": [
      +                                  "object",
      +                                  "null"
      +                                ]
      +                              }
      +                            },
      +                            "type": "object"
      +                          },
      +                          "range": {
      +                            "description": "Zero-based UTF-16 range.",
      +                            "properties": {
      +                              "length": {
      +                                "description": "UTF-16 code-unit length.",
      +                                "maximum": 2147483647,
      +                                "minimum": 0,
      +                                "type": "integer"
      +                              },
      +                              "start": {
      +                                "description": "Zero-based UTF-16 offset.",
      +                                "maximum": 2147483647,
      +                                "minimum": 0,
      +                                "type": "integer"
      +                              }
      +                            },
      +                            "type": "object"
      +                          }
      +                        },
      +                        "required": [
      +                          "document",
      +                          "range"
      +                        ],
      +                        "type": "object"
      +                      }
      +                    },
      +                    "required": [
      +                      "span"
      +                    ],
      +                    "type": [
      +                      "object",
      +                      "null"
      +                    ]
      +                  },
      +                  "snapshot": {
      +                    "description": "The exact immutable workspace snapshot associated with this location.",
      +                    "properties": {
      +                      "snapshotId": {
      +                        "format": "uuid",
      +                        "type": "string"
      +                      },
      +                      "transactionRevision": {
      +                        "type": [
      +                          "integer",
      +                          "null"
      +                        ]
      +                      },
      +                      "workspaceEpoch": {
      +                        "type": "integer"
      +                      },
      +                      "workspaceId": {
      +                        "format": "uuid",
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "workspaceId",
      +                      "workspaceEpoch",
      +                      "snapshotId",
      +                      "transactionRevision"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "span": {
      +                    "description": "The resolved text span.",
      +                    "properties": {
      +                      "length": {
      +                        "description": "UTF-16 code-unit length.",
      +                        "maximum": 2147483647,
      +                        "minimum": 0,
      +                        "type": "integer"
      +                      },
      +                      "start": {
      +                        "description": "Zero-based UTF-16 offset.",
      +                        "maximum": 2147483647,
      +                        "minimum": 0,
      +                        "type": "integer"
      +                      }
      +                    },
      +                    "type": [
      +                      "object",
      +                      "null"
      +                    ]
      +                  }
      +                },
      +                "required": [
      +                  "snapshot"
      +                ],
      +                "type": [
      +                  "object",
      +                  "null"
      +                ]
      +              },
      +              "message": {
      +                "description": "The diagnostic message.",
      +                "type": "string"
      +              },
      +              "severity": {
      +                "description": "The diagnostic severity.",
      +                "enum": [
      +                  "Hidden",
      +                  "Info",
      +                  "Warning",
      +                  "Error"
      +                ],
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "id",
      +              "message"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "error": {
      +          "description": "Structured error details when the invocation failed.",
      +          "properties": {
      +            "code": {
      +              "description": "Stable machine-readable error code.",
      +              "type": "string"
      +            },
      +            "correlationId": {
      +              "description": "Correlation identifier for matching the failure to server-side diagnostics, when available.",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "message": {
      +              "description": "Human-readable explanation of the failure.",
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "code",
      +            "message"
      +          ],
      +          "type": "object"
      +        },
      +        "ok": {
      +          "const": false,
      +          "description": "Whether the tool invocation succeeded."
      +        },
      +        "warnings": {
      +          "description": "Non-fatal warnings the agent should consider.",
      +          "items": {
      +            "$ref": "#/$defs/warningInfo"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "ok",
      +        "error"
      +      ],
      +      "type": "object"
      +    },
      +    {
      +      "properties": {
      +        "diagnostics": {
      +          "description": "Diagnostics that explain the failed invocation.",
      +          "properties": {
      +            "detailsAvailable": {
      +              "const": true
      +            },
      +            "detailsTool": {
      +              "const": "get-error-details"
      +            }
      +          },
      +          "required": [
      +            "detailsAvailable",
      +            "detailsTool"
      +          ],
      +          "type": "object"
      +        },
      +        "error": {
      +          "description": "Structured error details when the invocation failed.",
      +          "properties": {
      +            "code": {
      +              "const": "UnhandledException"
      +            },
      +            "correlationId": {
      +              "format": "uuid",
      +              "type": "string"
      +            },
      +            "message": {
      +              "const": "Tool execution failed."
      +            }
      +          },
      +          "required": [
      +            "code",
      +            "message",
      +            "correlationId"
      +          ],
      +          "type": "object"
      +        },
      +        "ok": {
      +          "const": false,
      +          "description": "Whether the tool invocation succeeded."
      +        },
      +        "reporting": {
      +          "description": "Error-reporting workflow available for an unhandled failure.",
      +          "properties": {
      +            "canPrepare": {
      +              "type": "boolean"
      +            },
      +            "prepareTool": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "state": {
      +              "enum": [
      +                "Available",
      +                "AlwaysApproved",
      +                "DisabledByConfiguration",
      +                "ApprovalUnavailable"
      +              ],
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "state"
      +          ],
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "ok",
      +        "error",
      +        "diagnostics"
      +      ],
      +      "type": "object"
      +    }
      +  ],
      +  "type": "object"
      +}
  3. First observedv1.0.2

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/closed-world, so safety is covered; the description adds real behavioral context beyond that: default page cap of 100, the 'check dependencies.hasMore before treating the inventory as complete' completeness caveat, and assemblies being included by default. It does not discuss cost, latency, or what happens for unresolved symbols, keeping it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the definition, then routing, then behavioral caveats — a sensible information order with no filler. It runs five sentences and mixes return-shape and caveat concerns; slightly tighter phrasing would read better, but every sentence carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described; given that, the description covers what an agent still needs: scope (direct, outgoing), alternatives, metadata inclusion, assembly inclusion, and pagination completeness. Nothing required to invoke or interpret the call correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3; the description still adds meaning the schema lacks, notably that includeAssemblies defaults to on and that results are capped at 100 unless a limit is set. It does not help with the heavier selector semantics (span vs selection, expectedSnapshot), but those are fully documented in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Lists distinct direct dependencies') and scopes it to a resolved symbol signature and supported executable operations. It names the exact siblings it must be distinguished from (get-symbol-dependents, get-dependency-graph) and clarifies that metadata symbols may appear, so an agent knows precisely what inventory it gets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use this for outgoing relationships' and then routes the agent to the correct alternative for the reverse direction (get-symbol-dependents) and for cross-scope traversal (get-dependency-graph). Both the when and the when-not are present with the selecting condition stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.