Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
STATS_DB_PATHNoPath where the DuckDB database for statistics will be storedtext_editor_stats.duckdb
PROTECTED_PATHSNoComma-separated list of file patterns or absolute paths that will be denied access
MAX_SELECT_LINESNoMaximum number of lines that can be edited in a single operation50
DUCKDB_USAGE_STATSNoControls whether usage statistics are collected in a DuckDB database0
ENABLE_JS_SYNTAX_CHECKNoEnable/disable JavaScript and JSX syntax checking1
FAIL_ON_JS_SYNTAX_ERRORNoWhen enabled, JavaScript/JSX syntax errors will automatically cancel the overwrite operation0
FAIL_ON_PYTHON_SYNTAX_ERRORNoWhen enabled, Python syntax errors will automatically cancel the overwrite operation1

Capabilities

Server capabilities have not been inspected yet.

Tools

Functions exposed to the LLM to take actions

NameDescription
set_fileA

Set the current file to work with.

This is always the first step in the workflow. You must set a file before you can use other tools like read, select etc.

skimA

Read text from the current file, truncated to the first SKIM_MAX_LINES lines.

Returns: dict: lines, total_lines, max_select_lines

readA

Read lines from the current file from start line to end line, returning them in a dictionary like {"lines":[[1,"text on first line"],[2,"text on second line"]]}. This makes it easier to find the precise lines to select for editing.

Args: start (int, optional): Start line number end (int, optional): End line number

Returns: dict: lines, start_line, end_line

selectC

Select lines from for subsequent overwrite operation.

Args: start (int): Start line number (1-based) end (int): End line number (1-based)

Returns: dict: status, lines, start, end, id, line_count, message

overwriteB

Overwrite the selected lines with new text. Amount of new lines can differ from the original selection

Args: new_lines (dict): Example: {"lines":["line one", "second line"]}

Returns: dict: Diff preview showing the proposed changes, and any syntax errors for JS or Python

confirmC

Confirm action

cancelD

Cancel action

delete_fileC

Delete current file

new_fileA

Creates a new file.

After creating new file, the first line is automatically selected for editing. Automatically creates parent directories if they don't exist.

Args: filepath (str): Path of the new file Returns: dict: Status message with selection info

find_lineA

Find lines that match provided text in the current file.

Args: search_text (str): Text to search for in the file

Returns: dict: Matching lines with their line numbers, and full text

listdirD-
find_functionA

Find a function or method definition in a Python or JS/JSX file. Uses AST parsers.

Args: function_name (str): Name of the function or method to find

Returns: dict: function lines with their line numbers, start_line, and end_line

set_python_pathB

Set it before running tests so the project is correctly recognized

run_testsB

Run pytest tests using the specified Python virtual environment.

Args: test_path (str, optional): Directory or file path containing tests to run test_name (str, optional): Specific test function/method to run verbose (bool, optional): Run tests in verbose mode collect_only (bool, optional): Only collect tests without executing them

Returns: dict: Test execution results including returncode, output, and execution time

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/danielpodrazka/editor-mcp'

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