Modern GUI for vector database management with MCP integration
Working with vector databases through CLI tools or writing custom scripts gets old fast. You need to inspect embeddings, debug similarity searches, and manage collections, but most vector databases only ship with basic tooling. vectorpanel gives you a proper GUI for this work and integrates with the Model Context Protocol so you can connect to any MCP-compatible vector store without writing custom adapters.
graph TB
A[Electron App] --> B[React Frontend]
A --> C[Main Process]
C --> D[MCP Client]
D --> E[MCP Server - Pinecone]
D --> F[MCP Server - Weaviate]
D --> G[MCP Server - Qdrant]
D --> H[MCP Server - Custom]
B --> I[Vector Visualization]
B --> J[Query Builder]
B --> K[Collection Manager]
C --> L[Local Config Store]
npm install -g vectorpanel
Or download the latest release for your platform from the releases page.
// Start the application
vectorpanel
// Or connect to a specific MCP server on startup
vectorpanel --server weaviate --config ./weaviate-config.jsonOnce running, add a connection in the UI:
{
"name": "Production Vectors",
"type": "mcp",
"serverCommand": "npx",
"serverArgs": ["-y", "@modelcontextprotocol/server-qdrant"],
"env": {
"QDRANT_URL": "https://xyz.qdrant.io",
"QDRANT_API_KEY": "your-key-here"
}
}vectorpanel runs as an Electron app with a React frontend. The main process manages connections to MCP servers using the standard MCP client protocol. When you connect to a vector database, vectorpanel spawns the appropriate MCP server process and communicates over stdio.
The UI presents collections, lets you run similarity searches, and visualizes embeddings using dimensionality reduction (UMAP/t-SNE). Query results show both the vectors and their metadata in a split view. You can export results to JSON or CSV.
Because it uses MCP, adding support for a new vector database just means pointing to an MCP server implementation. No changes to vectorpanel itself.
Connections are stored in ~/.vectorpanel/connections.json. Each connection needs:
interface Connection {
name: string; // Display name
type: "mcp"; // Only MCP supported currently
serverCommand: string; // Command to start MCP server
serverArgs: string[]; // Arguments for the server
env?: Record<string, string>; // Environment variables
}Application preferences live in ~/.vectorpanel/config.json:
{
"theme": "dark",
"defaultDimReduction": "umap",
"maxResults": 100,
"autoConnect": ["Production Vectors"]
}Does this work with any vector database?
It works with any vector database that has an MCP server implementation. Most major ones do. Check the MCP registry or write your own server.
Can I use this without MCP?
Not currently. The whole architecture assumes MCP. If your database doesn't have an MCP server, you'll need to create one.
How do you visualize high-dimensional vectors?
We apply UMAP or t-SNE to reduce dimensions to 2D or 3D for plotting. This is approximate but useful for debugging cluster quality and finding outliers.
Does it support batch operations?
Yes. You can upload multiple vectors from CSV/JSON files and delete collections in bulk.
Is there a web version?
No. This is a desktop app. Running a web version would require hosting MCP servers server-side, which defeats the purpose of keeping credentials local.
MIT