nvim-mcp 0.7.2

MCP server for Neovim
Documentation
local params_raw = ...
local params = vim.json.decode(params_raw)

local start_line = params.start_line
local end_line = params.end_line

if params.buffer_id ~= nil then
    local lines = vim.api.nvim_buf_get_lines(params.buffer_id, start_line, end_line, false)
    return vim.json.encode({ result = table.concat(lines, "\n") })
else
    local lines = vim.fn.readfile(params.file_path)
    local result = {}

    if end_line < 0 then
        end_line = #lines + 1 + end_line
    end

    for i = start_line, math.min(end_line, #lines) do
        result[#result + 1] = lines[i]
    end

    return vim.json.encode({ result = table.concat(result, "\n") })
end