Skip to main content
Glama

get_referenced_method_full_name_by_call_id

Retrieve the full method info referenced by a specific call ID using Joern MCP Server for precise code analysis and understanding.

Instructions

Get the method info by the call id which the call is referenced the method

@param id: The id of the call @return: The method info of the call

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
call_idYes

Implementation Reference

  • Handler function decorated with @joern_mcp.tool() that implements the tool by querying the Joern server remotely for the referenced method full name given a call ID and extracting the result.
    @joern_mcp.tool() def get_referenced_method_full_name_by_call_id(call_id:str) -> str: """Get the method info by the call id which the call is referenced the method @param id: The id of the call @return: The method info of the call """ response = joern_remote(f'get_referenced_method_full_name_by_call_id("{call_id}")') return extract_value(response)
  • server.py:96-106 (registration)
    Dynamically loads and executes server_tools.py, registering all tools defined there (including the handler) with the FastMCP server instance.
    def generate(): """Generate and execute additional server tools from server_tools.py file. This function reads the content of server_tools.py and executes it to add more functionality to the server. """ with open(GENERATED_PY, "r") as f: code = f.read() exec(compile(code, GENERATED_PY, "exec")) generate()
  • Helper function called by the tool handler to execute the Joern query remotely via HTTP POST.
    def joern_remote(query): """ Execute remote query and return results Parameters: query -- The query string to execute Returns: Returns the server response stdout content on success Returns None on failure, error message will be output to stderr """ data = {"query": query} headers = {'Content-Type': 'application/json'} try: response = requests.post( f'http://{server_endpoint}/query-sync', data=json.dumps(data), headers=headers, auth=basic_auth, timeout=timeout ) response.raise_for_status() result = response.json() return remove_ansi_escape_sequences(result.get('stdout', '')) except requests.exceptions.RequestException as e: sys.stderr.write(f"Request Error: {str(e)}\n") except json.JSONDecodeError: sys.stderr.write("Error: Invalid JSON response\n") return None
  • Helper function used by the tool handler to parse and extract the method full name from the Joern server response.
    def extract_value(input_str: str) -> str: """Extract value from a string based on its pattern. This function automatically selects the appropriate extraction method based on the input string format: * If contains 'Long =', uses extract_long_value * If contains triple quotes, uses extract_code_between_triple_quotes * If contains single quotes, uses extract_quoted_string Args: input_str (str): Input string containing a value to extract Returns: str: Extracted value based on the detected pattern """ if 'Long =' in input_str: return extract_long_value(input_str) elif 'String = """' in input_str: return extract_code_between_triple_quotes(input_str) elif 'String = "' in input_str: return extract_quoted_string(input_str) else: return input_str

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sfncat/mcp-joern'

If you have feedback or need assistance with the MCP directory API, please join our Discord server