return {
	"ravitemer/mcphub.nvim",
	dependencies = {
		"nvim-lua/plenary.nvim",
	},
	cmd = "MCPHub",
	build = "bundled_build.lua", -- Bundles mcp-hub locally
	config = function()
		vim.notify = require("notify")
		require("mcphub").setup({
			use_bundled_binary = true, -- Use local binary
			port = 37373, -- Port for MCP Hub Express API
			config = vim.fn.expand("~/.config/mcphub/servers.json"), -- Config file path
			native_servers = {}, -- add your native servers here
			auto_approve = true,
			extensions = {
				avante = {},
				codecompanion = {
					show_result_in_chat = true, -- Show tool results in chat
					make_vars = true, -- Create chat variables from resources
					make_slash_commands = true, -- make /slash_commands from MCP server prompts
				},
			},

			-- UI configuration
			ui = {
				window = {
					width = 0.8, -- Window width (0-1 ratio)
					height = 0.8, -- Window height (0-1 ratio)
					border = "rounded", -- Window border style
					relative = "editor", -- Window positioning
					zindex = 50, -- Window stack order
				},
			},

			-- Event callbacks
			on_ready = function(hub) end, -- Called when hub is ready
			on_error = function(err)
				vim.notify(err, "ERROR")
			end, -- Called on errors

			-- Logging configuration
			log = {
				level = vim.log.levels.WARN, -- Minimum log level
				to_file = false, -- Enable file logging
				file_path = nil, -- Custom log file path
				prefix = "MCPHub", -- Log message prefix
			},
		})
	end,
}