Skip to main content
Glama
droidasc-mcp

droidasc-mcp

by cnlnn

asc_close_dex_session

Closes an open DEX session after active queries finish, then removes its stored files.

Instructions

Close a DEX session; active queries finish before its stored files are removed.

Input Schema

NameRequiredDescriptionDefault
session_idYesImmutable open DEX session ID returned by an open tool

Output Schema

NameRequiredDescriptionDefault
codeNo
depthNo
edgesNo
indexNo
itemsNo
limitNo
nodesNo
totalNo
formatNo
groupsNo
moduleNo
offsetNo
sourceNo
statusYes
backendNo
messageNo
sourcesNo
apk_pathNo
coverageNo
has_moreNo
input_idNo
dex_entryNo
directionNo
max_edgesNo
max_nodesNo
span_unitNo
truncatedNo
apk_sha256No
class_nameNo
edge_countNo
input_kindNo
limit_unitNo
node_countNo
session_idNo
source_endNo
superclassNo
total_unitNo
type_matchNo
edge_countsNo
field_countNo
limitationsNo
method_nameNo
next_cursorNo
next_offsetNo
query_cacheNo
scan_errorsNo
access_flagsNo
has_manifestNo
method_countNo
source_startNo
stored_bytesNo
artifact_pathNo
dynamic_sitesNo
source_sha256No
type_relationNo
engine_versionNo
returned_sitesNo
artifact_sha256No
backend_versionNo
candidate_countNo
cleanup_pendingNo
page_limited_byNo
scanned_methodsNo
type_descriptorNo
definition_countNo
field_descriptorNo
idle_ttl_secondsNo
reference_formatNo
selected_modulesNo
unresolved_sitesNo
member_referencesNo
method_descriptorNo
truncation_reasonsNo
unresolved_matchesNo
reference_semanticsNo
response_byte_limitNo
methods_without_codeNo
reserved_index_bytesNo
runtime_completenessNo
scanned_instructionsNo
hierarchy_cycle_detectedNo
instruction_scan_completeNo
runtime_target_resolutionNo
unresolved_sites_truncatedNo
traversal_complete_within_depthNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed23 schema fields changedv0.2.5
    • addedOutput schema / $defs / DexRow / properties / target_index
      Added value: +{
      +  "title": "Target Index",
      +  "type": "integer"
      +}
    • addedOutput schema / $defs / ReferenceGroup
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "caller": {
      +      "title": "Caller",
      +      "type": "string"
      +    },
      +    "dex_entry": {
      +      "title": "Dex Entry",
      +      "type": "string"
      +    },
      +    "evidence": {
      +      "items": {
      +        "$ref": "#/$defs/DexRow"
      +      },
      +      "title": "Evidence",
      +      "type": "array"
      +    },
      +    "matches": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "title": "Matches",
      +      "type": "array"
      +    },
      +    "offset_unit": {
      +      "title": "Offset Unit",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "target_field": {
      +      "enum": [
      +        "callee",
      +        "field_descriptor",
      +        "value",
      +        "type_descriptor"
      +      ],
      +      "title": "Target Field",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "dex_entry",
      +    "caller",
      +    "target_field",
      +    "matches",
      +    "evidence"
      +  ],
      +  "title": "ReferenceGroup",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / Source / properties / container_sha256
      Added value: +{
      +  "title": "Container Sha256",
      +  "type": "string"
      +}
    • addedOutput schema / $defs / Source / properties / container_size_bytes
      Added value: +{
      +  "title": "Container Size Bytes",
      +  "type": "integer"
      +}
    • addedOutput schema / $defs / Source / properties / logical_header_offset
      Added value: +{
      +  "title": "Logical Header Offset",
      +  "type": "integer"
      +}
    • addedOutput schema / $defs / Source / properties / logical_size_bytes
      Added value: +{
      +  "title": "Logical Size Bytes",
      +  "type": "integer"
      +}
    • addedOutput schema / $defs / Source / properties / module
      Added value: +{
      +  "title": "Module",
      +  "type": "string"
      +}
    • addedOutput schema / $defs / Source / properties / normalization
      Added value: +{
      +  "title": "Normalization",
      +  "type": "string"
      +}
    • addedOutput schema / $defs / Source / properties / original_dex_version
      Added value: +{
      +  "title": "Original Dex Version",
      +  "type": "string"
      +}
    • addedOutput schema / $defs / Source / properties / snapshot_entry
      Added value: +{
      +  "title": "Snapshot Entry",
      +  "type": "string"
      +}
    • addedOutput schema / $defs / Source / properties / stored_size_bytes
      Added value: +{
      +  "title": "Stored Size Bytes",
      +  "type": "integer"
      +}
    • addedOutput schema / properties / groups
      Added value: +{
      +  "items": {
      +    "$ref": "#/$defs/ReferenceGroup"
      +  },
      +  "title": "Groups",
      +  "type": "array"
      +}
    • addedOutput schema / properties / limit_unit
      Added value: +{
      +  "const": "caller_groups",
      +  "title": "Limit Unit",
      +  "type": "string"
      +}
    • addedOutput schema / properties / module
      Added value: +{
      +  "title": "Module",
      +  "type": "string"
      +}
    • addedOutput schema / properties / next_cursor
      Added value: +{
      +  "title": "Next Cursor",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • removedOutput schema / properties / page_limited_by / const
      Removed value: -"response_bytes"
    • addedOutput schema / properties / page_limited_by / enum
      Added value: +[
      +  "response_bytes",
      +  "caller_groups"
      +]
    • addedOutput schema / properties / reference_format
      Added value: +{
      +  "const": "grouped",
      +  "title": "Reference Format",
      +  "type": "string"
      +}
    • addedOutput schema / properties / returned_sites
      Added value: +{
      +  "title": "Returned Sites",
      +  "type": "integer"
      +}
    • addedOutput schema / properties / selected_modules
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "title": "Selected Modules",
      +  "type": "array"
      +}
    • addedOutput schema / properties / total_unit
      Added value: +{
      +  "const": "reference_sites",
      +  "title": "Total Unit",
      +  "type": "string"
      +}
    • addedOutput schema / properties / type_match
      Added value: +{
      +  "enum": [
      +    "exact",
      +    "substring"
      +  ],
      +  "title": "Type Match",
      +  "type": "string"
      +}
    • addedOutput schema / properties / type_relation
      Added value: +{
      +  "title": "Type Relation",
      +  "type": "string"
      +}
  2. Changed18 schema fields changedv0.2.4
    • removedOutput schema / $defs / DexRow / properties / instruction_offset / anyOf
      Removed value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / $defs / DexRow / properties / instruction_offset / type
      Added value: +[
      +  "integer",
      +  "null"
      +]
    • removedOutput schema / $defs / DexRow / properties / offset_unit / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / $defs / DexRow / properties / offset_unit / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / DexRow / properties / target_dex_entry / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / $defs / DexRow / properties / target_dex_entry / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / GraphNode / properties / dex_entry / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / $defs / GraphNode / properties / dex_entry / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / $defs / GraphNode / properties / without_code / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / $defs / GraphNode / properties / without_code / type
      Added value: +[
      +  "boolean",
      +  "null"
      +]
    • addedOutput schema / $defs / QueryCache / properties / budget_bytes
      Added value: +{
      +  "title": "Budget Bytes",
      +  "type": "integer"
      +}
    • addedOutput schema / $defs / QueryCache / properties / stored_bytes
      Added value: +{
      +  "title": "Stored Bytes",
      +  "type": "integer"
      +}
    • removedOutput schema / properties / next_offset / anyOf
      Removed value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / next_offset / type
      Added value: +[
      +  "integer",
      +  "null"
      +]
    • addedOutput schema / properties / page_limited_by
      Added value: +{
      +  "const": "response_bytes",
      +  "title": "Page Limited By",
      +  "type": "string"
      +}
    • addedOutput schema / properties / response_byte_limit
      Added value: +{
      +  "title": "Response Byte Limit",
      +  "type": "integer"
      +}
    • removedOutput schema / properties / superclass / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / superclass / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  3. Addedv0.2.3

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false; the description adds real lifecycle semantics beyond that, namely that in-flight queries are allowed to finish before stored files are deleted. It stops short of stating idempotency or behavior when session_id is invalid or already closed.

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

Conciseness5/5

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

One compact clause pair with the action first and the completion guarantee second; no padding and nothing to trim.

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

Completeness4/5

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

With an output schema present, return values need not be explained, and the single param is covered by the schema. The remaining gap is error/edge-case behavior for an invalid or already-closed session, which slightly limits completeness.

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

Parameters3/5

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

Schema coverage is 100% and the single parameter is fully documented as an immutable session ID returned by an open tool. The description adds nothing further about the parameter, so the baseline 3 applies.

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 ('Close a DEX session') and the scope is unambiguous. An agent can distinguish it from asc_open_dex_session and asc_query_dex_session without opening any schema.

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

Usage Guidelines3/5

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

Usage is implied by the session lifecycle rather than stated: nothing explicitly says when to close versus when to leave a session open, nor whether closing is required before opening another. The sibling set makes the intent inferable but no alternatives or exclusions are named.

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