Mcphub.nvim

by ravitemer

MCP Client 1,078 stars
  • ide

A powerful Neovim plugin for managing MCP (Model Context Protocol) servers

About

What is Mcphub.nvim?

Mcphub.nvim is an MCP (Model Context Protocol) client for Neovim that seamlessly integrates MCP servers into your editing workflow. It provides an intuitive interface for managing, testing, and using MCP servers with popular Neovim chat plugins, making it ideal for developers who want to leverage AI tools and external services directly from their editor.

How to use Mcphub.nvim?

Visit the documentation site for detailed installation and setup guides. Mcphub.nvim works with chat plugins like Avante.nvim, CodeCompanion.nvim, and CopilotChat.nvim, and supports MCP servers over Streamable-HTTP, SSE, and STDIO transports.

Key features of Mcphub.nvim

- Full MCP capabilities: Tools, Resources, Prompts with real-time change notifications
- Multiple transport protocols: Streamable-HTTP, SSE, and STDIO
- OAuth authentication (PKCE) and header-based API keys for remote servers
- Native chat integration with Avante.nvim, CodeCompanion.nvim, and CopilotChat.nvim
- Built-in marketplace for browsing and installing verified MCP servers
- Advanced: config file watching, multi-instance sync, Lua-native MCP servers, and dev-mode hot reload

Use cases of Mcphub.nvim

- Browse and install MCP servers directly from the built-in marketplace without leaving Neovim
- Use MCP tools to interact with external services (e.g., Figma) through a chat plugin like Avante.nvim
- Develop and test custom MCP servers

Details

Author
ravitemer
GitHub stars
1,078
Category
ide
Repository
ravitemer/mcphub.nvim

<div align="center" markdown="1">
<sup>Special thanks to:</sup>
<br>
<br>
<a href="https://www.warp.dev/mcp-hub-nvim">
<img alt="Warp sponsorship" src="https://github.com/user-attachments/assets/fae9c70d-51de-43fa-af65-c82228ba67f9">
</a>

The Intelligent Terminal

Run mcphub.nvim in Warp today<br>

</div>
<hr>

<div align="center" markdown="1">
<h1> <img width="28px" style="display:inline;" src="https://github.com/user-attachments/assets/5cdf9d69-3de7-458b-a670-5153a97c544a"/> MCP HUB</h1>

Lua
NixOS
License: MIT
Discord
</div>

MCP Hub is a MCP client for neovim that seamlessly integrates MCP (Model Context Protocol) servers into your editing workflow. It provides an intuitive interface for managing, testing, and using MCP servers with your favorite chat plugins.

Image

💜 Sponsors

<!-- sponsors --> <p align="center"> <a href="https://github.com/CryogenicPlanet"><img src="https://github.com/CryogenicPlanet.png" width="60px" alt="CryogenicPlanet" /></a> <a href="https://github.com/yingmanwumen"><img src="https://github.com/yingmanwumen.png" width="60px" alt="yingmanwumen" /></a> <a href="https://github.com/yetone"><img src="https://github.com/yetone.png" width="60px" alt="Yetone" /></a> <a href="https://github.com/omarcresp"><img src="https://github.com/omarcresp.png" width="60px" alt="omarcresp" /></a> <a href="https://github.com/petermoser"><img src="https://github.com/petermoser.png" width="60px" alt="petermoser" /></a> <a href="https://github.com/watsy0007"><img src="https://github.com/watsy0007.png" width="60px" alt="watsy0007" /></a> <a href="https://github.com/kohane27"><img src="https://github.com/kohane27.png" width="60px" alt="kohane27" /></a> <a href="https://github.com/copleykj"><img src="https://github.com/copleykj.png" width="60px" alt="Kelly Copley" /></a></p><!-- sponsors -->

<p align="center">
<b>Special thanks to:</b>
</p>
<p align="center">
<a href="https://dub.sh/composio-mcp" target="_blank"> <img src="https://composio.dev/wp-content/uploads/2025/01/Composio-logo-25.png" height="30px" alt="Composio.dev logo" /> </a>
</p>

✨ Features

| Category | Feature | Support | Details |
|----------|---------|---------|-------|
| Capabilities ||||
| | Tools | ✅ | Full support |
| | 🔔 Tool List Changed | ✅ | Real-time updates |
| | Resources | ✅ | Full support |
| | 🔔 Resource List Changed | ✅ | Real-time updates |
| | Resource Templates | ✅ | URI templates |
| | Prompts | ✅ | Full support |
| | 🔔 Prompts List Changed | ✅ | Real-time updates |
| | Roots | ❌ | Not supported |
| | Sampling | ❌ | Not supported |
| MCP Server Transports ||||
| | Streamable-HTTP | ✅ | Primary transport protocol for remote servers |
| | SSE | ✅ | Fallback transport for remote servers |
| | STDIO | ✅ | For local servers |
| Authentication for remote servers ||||
| | OAuth | ✅ | With PKCE flow |
| | Headers | ✅ | For API keys/tokens |
| Chat Integration ||||
| | Avante.nvim | ✅ | Tools, resources, resourceTemplates, prompts(as slash_commands) |
| | CodeCompanion.nvim | ✅ | Tools, resources, templates, prompts (as slash_commands), 🖼 image responses |
| | CopilotChat.nvim | ✅ | In-built support Draft |
| Marketplace ||||
| | Server Discovery | ✅ | Browse from verified MCP servers |
| | Installation | ✅ | Manual and auto install with AI |
| Advanced ||||
| | Smart File-watching | ✅ | Smart updates with config file watching |
| | Multi-instance | ✅ | All neovim instances stay in sync |
| | Shutdown-delay | ✅ | Can run as systemd service with configure delay before stopping the hub |
| | Lua Native MCP Servers | ✅ | Write once , use everywhere. Can write tools, resources, prompts directly in lua |
| | Dev Mode | ✅ | Hot reload MCP servers on file changes for development |

🎥 Demos

<div align="center">
<p>
<h4>MCP Hub + <a href="https://github.com/yetone/avante.nvim">Avante</a> + Figma </h4>
<video controls muted src="https://github.com/user-attachments/assets/e33fb5c3-7dbd-40b2-bec5-471a465c7f4d"></video>
</p>
</div>

🚀 Getting Started

Visit our documentation site for detailed guides and examples

👋 Get Help

- Check out the Troubleshooting guide
- Join our Discord server for discussions, help, and updates

:gift: Contributing

Please read the CONTRIBUTING.md guide.

🚧 TODO

- [x] Neovim MCP Server (kind of) with better editing, diffs, terminal integration etc (Ideas are welcome)
- [x] Enhanced help view with comprehensive documentation
- [x] MCP Resources as variables in chat plugins
- [x] MCP Prompts as slash commands in chat plugins
- [x] Enable LLM to start and stop MCP Servers dynamically
- [x] Support SSE transport
- [x] Support /slash_commands in avante
- [x] Support streamable-http transport
- [x] Support OAuth
- [x] Add types
- [x] Better Docs
- [ ] Add tests
- [ ] Support #variables in avante

👏 Acknowledgements

Thanks to:

- cline/mcp-marketplace for providing the marketplace api
- nui.nvim for inspiring our text highlighting utilities