Skip to content
context-engine
Tools

jump

Resolve visible symbols to authoritative definitions.

Use jump to follow source identifiers to definitions in the workspace, installed dependencies, or the standard library. Because resolution starts from an occurrence in your source, a dependency jump lands in the version your project actually installs — the one your lockfile selected, not the latest release and not a remembered API.

Use when

  • You have a visible source occurrence and need its definition.
  • You need an API outline or implementation for a resolved target.

Do not use when

  • You know only a symbol name; use grep_definition.
  • You need the body of an already discovered handle; use extract.

Request

{"file":"/workspace/project/src/lib.rs","symbols":[["UserService",42],["McpError",67],["spawn_session",104]],"output_mode":"api"}

Batch related identifiers from the same file: each extra round trip costs a full agent turn, and one jump call resolves every symbol in the batch even when the definitions land in different files.

Parameters

FieldRequiredDefault / bounds
filesource formPath; file_path is accepted as an alias.
symbolssource formEntries are [symbol_name, line]; line is a 1-based integer.
handleshandle formRegistered handles; mutually exclusive with source fields.
output_modenoapi; union: api, implementation.
show_implementationsnofalse; enabling can be expensive for widely used traits/types.
workspace_rootnoSource form; only needed when multiple workspaces are active.

What it returns

Resolved definitions grouped by destination. api returns signatures, hierarchy, and declarations; implementation selects Code, falling back to Full, with inline type annotations. Missing outlines or code retain exact LSP-range fallbacks. Optional implementor/attached-implementation outlines are included when requested.

Example

Real output — jumping McpError from project code lands in the rmcp crate's source, in the local registry:

## ~/.cargo/registry/.../rmcp-3.1.2/src/model.rs

pub struct ErrorData {
    /// The error type that occurred (using standard JSON-RPC error codes)
    pub code: ErrorCode,
    /// A short description of the error. The message SHOULD be limited to a concise single sentence.
    pub message: Cow<'static, str>,
    /// Additional information about the error.
    pub data: Option<Value>,
}

The real fields of the version the lockfile resolved, read from its source — not from documentation and not from training data.

Common mistakes

  • Using a guessed line or symbol spelling that is not visible at that location.
  • Requesting implementation after api when one implementation request would suffice.
  • Enabling show_implementations for broad traits without needing the complete surface.
  • grep_definition finds definitions when no source occurrence is visible.
  • extract reads the body of an already resolved definition by handle.
  • hover returns the signature and documentation without navigating away.
  • show_usage walks the opposite direction: to consumers instead of the definition.