mcphub.nvim
MCP ServerFree** A Neovim plugin that provides a UI and api to interact with MCP servers.
Capabilities12 decomposed
mcp server lifecycle management with dual-architecture orchestration
Medium confidenceManages both local STDIO-based MCP servers and remote HTTP/SSE servers through a central MCPHub.Hub class that orchestrates an external Node.js service (mcp-hub) while maintaining Lua-native server support within Neovim. Implements process spawning, health monitoring, graceful shutdown, and real-time state synchronization across multiple Neovim instances using event-driven architecture.
Dual-architecture design supporting both native Lua-based MCP servers running in-process and external Node.js servers, with unified lifecycle management through a central Hub class that abstracts away the complexity of managing heterogeneous server types
More flexible than standalone MCP clients because it supports native Lua servers alongside traditional MCP servers, reducing external dependencies while maintaining full protocol compatibility
chat plugin integration with context-aware tool/resource injection
Medium confidenceProvides plugin-specific adapters that transform MCP tools, resources, and prompts into native formats for Avante.nvim, CodeCompanion.nvim, and CopilotChat.nvim. Uses an extension system that maps MCP capabilities to plugin-specific APIs (e.g., @{mcp} mentions for CodeCompanion, use_mcp_tool functions for Avante) with real-time synchronization of available tools and granular auto-approval mechanisms.
Implements plugin-specific adapter patterns that normalize MCP capabilities into heterogeneous chat plugin APIs, with configurable auto-approval at function, server, and global levels rather than binary all-or-nothing approval
More sophisticated than direct MCP client libraries because it abstracts plugin-specific API differences and provides granular approval control, allowing teams to use different chat plugins without reconfiguring MCP servers
prompt template management and variable substitution
Medium confidenceManages MCP prompt templates with support for variable substitution and context-aware rendering. Implements a system for defining reusable prompts with placeholders that are filled from tool outputs, editor state, or user input. Supports prompt composition (combining multiple prompts) and conditional rendering based on context. Integrates with CodeCompanion.nvim for slash-command based prompt invocation.
Integrates MCP prompt templates with CodeCompanion.nvim's slash-command system, allowing prompts to be invoked directly from chat without manual copying or formatting
More integrated than external prompt management because prompts are defined in MCP servers and invoked through chat plugins, reducing context switching and enabling dynamic prompt generation
error handling and recovery with detailed diagnostics
Medium confidenceImplements comprehensive error handling for server startup failures, connection errors, tool execution failures, and configuration issues. Provides detailed error messages with diagnostic information (logs, stack traces, version mismatches) that help developers identify and resolve problems. Includes automatic recovery mechanisms like connection retries with exponential backoff and graceful degradation when servers become unavailable.
Provides detailed diagnostic information including version mismatches, configuration errors, and connection failures with automatic recovery mechanisms that attempt to restore functionality without user intervention
More helpful than generic error messages because it includes diagnostic context (versions, logs, stack traces) and attempts automatic recovery, reducing time spent debugging configuration issues
native lua-based mcp server creation and execution
Medium confidenceEnables developers to write MCP servers directly in Lua that execute within the Neovim process without external dependencies. Servers are defined using Lua tables with tool and resource definitions, eliminating the need for separate Node.js processes while maintaining full MCP protocol compliance. Integrates with Neovim's Lua runtime for direct access to editor state and plugin APIs.
Eliminates external service requirements by running MCP servers as Lua code within Neovim's process, with direct access to editor state and plugin APIs through Neovim's Lua API, enabling tight integration impossible with external servers
Simpler deployment than Node.js-based MCP servers for Neovim-specific use cases because it requires no external process management, version compatibility checking, or inter-process communication overhead
interactive mcp server marketplace discovery and installation
Medium confidenceProvides a Neovim UI for browsing, searching, and installing MCP servers from a centralized marketplace. Implements a marketplace view that displays server metadata (description, author, tags), handles dependency resolution, and manages installation into the local configuration. Uses HTTP requests to fetch marketplace data and file I/O to persist configurations.
Integrates marketplace discovery directly into Neovim's UI rather than requiring external browser/CLI tools, with automatic configuration generation that abstracts away manual TOML/YAML editing
More discoverable than raw GitHub searches or documentation because it provides curated metadata, compatibility information, and one-click installation within the editor
real-time multi-instance state synchronization via event system
Medium confidenceMaintains consistent MCP server state across multiple Neovim instances using an event-driven architecture where the external mcp-hub service broadcasts state changes to all connected clients. Implements event subscriptions for server status, tool availability, and resource updates with automatic reconnection and conflict resolution. Uses WebSocket or HTTP polling for real-time updates.
Implements a distributed event system where the external mcp-hub service acts as a message broker, broadcasting state changes to all connected Neovim instances rather than each instance polling independently
More efficient than polling-based approaches because it uses push-based event delivery, reducing latency and network overhead while maintaining eventual consistency across distributed Neovim instances
configuration-driven server setup with validation and versioning
Medium confidenceManages MCP server configuration through TOML/YAML files with strict schema validation and version compatibility checking. Implements a configuration system that validates server definitions against a schema, checks Node.js and plugin version compatibility (currently enforcing mcp-hub 4.1.0+ and plugin 5.13.0+), and provides clear error messages for misconfigurations. Supports environment variable substitution and inheritance patterns.
Implements strict version validation that enforces exact version matching between plugin and mcp-hub service rather than allowing semver ranges, ensuring reproducible configurations but requiring explicit upgrades
More reliable than ad-hoc configuration because it validates all settings before server startup and enforces version compatibility, preventing silent failures from mismatched components
interactive ui for server management and tool testing
Medium confidenceProvides a Neovim-native UI (using Lua-based UI components) for viewing server status, testing tools interactively, browsing available resources, and configuring auto-approval policies. Implements a main view showing all servers with status indicators, a marketplace view for discovery, and tool testing interfaces that allow developers to invoke tools with custom parameters and inspect responses without leaving the editor.
Integrates tool testing directly into Neovim's UI rather than requiring separate CLI or web tools, allowing developers to test MCP servers without context switching while maintaining full access to editor state
More integrated than external testing tools because it runs within Neovim and can leverage editor context, but less feature-rich than dedicated MCP debugging tools
granular auto-approval with function-based policy evaluation
Medium confidenceImplements a flexible auto-approval system that supports approval decisions at multiple levels: global (all tools), per-server, and per-tool. Supports custom Lua functions for dynamic approval logic that can inspect tool names, parameters, and context before deciding whether to auto-approve, require manual approval, or deny execution. Integrates with chat plugins' approval mechanisms to provide consistent behavior across different interfaces.
Supports function-based dynamic approval policies evaluated at runtime rather than static configuration, allowing approval decisions to depend on tool parameters, context, and custom business logic
More flexible than binary approve/deny settings because it allows per-tool and per-server policies with custom Lua functions, enabling fine-grained control over which tools can execute automatically
asynchronous tool execution with streaming response handling
Medium confidenceExecutes MCP tools asynchronously without blocking the Neovim UI, with support for streaming responses that are progressively rendered as data arrives. Implements callback-based execution patterns that integrate with Neovim's event loop, allowing long-running tools to provide incremental results. Handles tool timeouts, cancellation, and error recovery gracefully.
Integrates with Neovim's event loop to provide non-blocking tool execution with streaming response support, allowing UI responsiveness while tools execute and progressively render results
More responsive than synchronous tool execution because it doesn't block the editor UI and supports streaming results, but requires MCP servers to implement streaming support
resource access and embedding with uri-based retrieval
Medium confidenceProvides mechanisms for accessing MCP resources through URI-based retrieval, with support for embedding resources directly into chat contexts. Implements resource caching to avoid redundant fetches, URI validation, and content type detection. Resources can be text, binary, or structured data, with automatic formatting for different chat plugin contexts (e.g., markdown for Avante, structured references for CodeCompanion).
Implements URI-based resource retrieval with plugin-specific formatting that automatically adapts resource presentation to different chat plugin contexts rather than requiring manual formatting
More flexible than hardcoded resource access because it supports arbitrary URIs and plugin-specific formatting, allowing resources to be referenced consistently across different chat interfaces
Capabilities are decomposed by AI analysis. Each maps to specific user intents and improves with match feedback.
Related Artifactssharing capabilities
Artifacts that share capabilities with mcphub.nvim, ranked by overlap. Discovered automatically through the match graph.
mcphub.nvim
An MCP client for Neovim that seamlessly integrates MCP servers into your editing workflow with an intuitive interface for managing, testing, and using MCP servers with your favorite chat plugins.
mcp.natoma.ai
** – A Hosted MCP Platform to discover, install, manage and deploy MCP servers by **[Natoma Labs](https://www.natoma.ai)**
decocms
Deco CMS — Self-hostable MCP Gateway for managing AI connections and tools
@orval/mcp
[](https://badge.fury.io/js/orval) [](https://opensource.org/licenses/MIT) [**
MCP CLI Client
** - A CLI host application that enables Large Language Models (LLMs) to interact with external tools through the Model Context Protocol (MCP).
Best For
- ✓Neovim users integrating MCP tools into their workflow
- ✓Teams running multiple MCP servers across different machines
- ✓Developers building MCP-aware chat integrations
- ✓Neovim users combining MCP servers with AI chat plugins
- ✓Teams standardizing on CodeCompanion or Avante for AI-assisted development
- ✓Developers building custom MCP servers for chat integration
- ✓Teams standardizing on prompt templates for AI tasks
- ✓Developers building MCP servers with prompt resources
Known Limitations
- ⚠Requires external Node.js mcp-hub service (version 4.1.0+) for non-native servers
- ⚠STDIO servers must be properly configured with stdin/stdout communication
- ⚠No built-in persistence of server state across Neovim restarts without external storage
- ⚠Multi-instance synchronization depends on event system reliability
- ⚠Each chat plugin has different capability support (e.g., CopilotChat lacks resource access)
- ⚠Auto-approval granularity varies by plugin (CodeCompanion supports per-tool, CopilotChat only global)
Requirements
Input / Output
UnfragileRank
UnfragileRank is computed from adoption signals, documentation quality, ecosystem connectivity, match graph feedback, and freshness. No artifact can pay for a higher rank.
About
** A Neovim plugin that provides a UI and api to interact with MCP servers.
Categories
Alternatives to mcphub.nvim
Are you the builder of mcphub.nvim?
Claim this artifact to get a verified badge, access match analytics, see which intents users search for, and manage your listing.
Get the weekly brief
New tools, rising stars, and what's actually worth your time. No spam.
Data Sources
Looking for something else?
Search →