Skip to main content
Glama
wrale

mcp-server-tree-sitter

by wrale

get_node_types

Retrieve detailed descriptions of node types for a specified programming language, enabling structured code analysis and context management using tree-sitter.

Instructions

Get descriptions of common node types for a language.

Args: language: Language name Returns: Dictionary of node types and descriptions

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
languageYes

Implementation Reference

  • MCP tool handler and registration for 'get_node_types'. This decorated function defines the tool's input (language: str) and output (Dict[str, str]), and delegates execution to describe_node_types.
    @mcp_server.tool() def get_node_types(language: str) -> Dict[str, str]: """Get descriptions of common node types for a language. Args: language: Language name Returns: Dictionary of node types and descriptions """ from ..tools.query_builder import describe_node_types return describe_node_types(language)
  • Core implementation providing hardcoded descriptions of common Tree-sitter node types for supported languages (Python, JavaScript).
    def describe_node_types(language: str) -> Dict[str, str]: """ Get descriptions of common node types for a language. Args: language: Language identifier Returns: Dictionary of node type -> description """ # This would ideally be generated from tree-sitter grammar definitions descriptions = { "python": { "module": "The root node of a Python file", "function_definition": "A function definition with name and params", # Shortened for line length "class_definition": "A class definition with name and body", "import_statement": "An import statement", "import_from_statement": "A from ... import ... statement", "assignment": "An assignment statement", "call": "A function call with function name and arguments", "identifier": "An identifier (name)", "string": "A string literal", "integer": "An integer literal", "float": "A floating-point literal", "block": "A block of code (indented statements)", "if_statement": "An if statement with condition and body", "for_statement": "A for loop with target, iterable, and body", "while_statement": "A while loop with condition and body", }, "javascript": { "program": "The root node of a JavaScript file", "function_declaration": "A function declaration with name and params", "arrow_function": "An arrow function with parameters and body", "class_declaration": "A class declaration with name and body", "import_statement": "An import statement", "export_statement": "An export statement", "variable_declaration": "A variable declaration", "call_expression": "A function call with function and arguments", "identifier": "An identifier (name)", "string": "A string literal", "number": "A numeric literal", "statement_block": "A block of statements", "if_statement": "An if statement with condition and consequence", "for_statement": "A for loop", "while_statement": "A while loop with condition and body", }, # Add more languages... } return descriptions.get(language, {})

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/wrale/mcp-server-tree-sitter'

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