Weaviate MCP Server
Official Weaviate MCP server (Go) exposing two tools for inserting objects into and running hybrid search queries against a Weaviate vector database.
The Weaviate MCP Server is an official, Go-based reference implementation of a Model Context Protocol server that lets an AI agent push objects into a Weaviate vector database and retrieve them using Weaviate's hybrid search. It is published in the weaviate/mcp-server-weaviate GitHub repository alongside a small test client that demonstrates a round-trip insert-then-query workflow.
The server exposes two tools: weaviate-insert-one, which writes a single object with arbitrary properties into a target collection, and weaviate-query, which performs a hybrid (vector plus keyword) search and returns a chosen set of properties. Both default to a DefaultCollection if no collection name is supplied, and the client example in the repo shows the tools being used against a WorldMap collection with continent, country, and city fields.
The project is intentionally minimal. The current implementation hardcodes the Weaviate connection to http://localhost:8080 and the README does not yet document environment variables, authentication, or a Claude Desktop config block. A TODO: get config from env comment in the source indicates env-based configuration is planned. For production use against Weaviate Cloud or a secured cluster you will likely need to fork and modify the connection setup.
Tools
| Tool | Description |
|---|---|
weaviate-insert-one |
Insert a single object into a Weaviate collection. Falls back to the default collection if none is specified. |
weaviate-query |
Retrieve objects from Weaviate using hybrid search and return a chosen set of properties. |
Prerequisites
- Go toolchain (the server is written in Go)
- A running Weaviate instance reachable at
http://localhost:8080(the connection is currently hardcoded inweaviate.go) - An MCP-compatible client such as Claude Desktop or Cursor
Clone and build
git clone https://github.com/weaviate/mcp-server-weaviate.git
cd mcp-server-weaviate
make build
make build compiles the server binary into the client/ directory as mcp-server. A second target, make run-client, runs the bundled Go test client (client/client.go) which inserts a sample object into a WorldMap collection and then issues a hybrid query against it.
MCP client configuration
The README does not yet ship a Claude Desktop config snippet. The server speaks MCP over stdio, so a typical configuration pointing at the compiled binary looks like:
{
"mcpServers": {
"weaviate": {
"command": "/absolute/path/to/mcp-server-weaviate/client/mcp-server"
}
}
}
Notes
- The Weaviate host, scheme, and port are hardcoded to
localhost:8080over HTTP. To target Weaviate Cloud or a secured cluster you currently need to editweaviate.goand rebuild. - There is no built-in API key or OpenAI key handling in
main.goyet, despite aTODO: get all WeaviateConn config from envcomment. - For documentation lookups specifically (rather than data operations) Weaviate also ships a separate hosted Docs MCP server at
https://weaviate-docs.mcp.kapa.ai.
- Index structured records (people, places, products) into a local Weaviate collection from an agent conversation and immediately query them back with hybrid search.
- Prototype RAG workflows where the agent writes intermediate facts to a vector store and retrieves them later in the same session.
- Demo Weaviate hybrid search to stakeholders by letting them ask natural language questions like "What country is Valencia in?" against agent-inserted data.
- Build a quick semantic memory layer for an experimental agent without writing custom Weaviate client code.
- "Insert an object into the WorldMap collection with continent Europe, country Spain, city Valencia."
- "Query Weaviate for 'What country is Valencia in?' and return continent, country, and city."
- "Add three product records to the Products collection with name, category, and description fields."
- "Run a hybrid search for 'lightweight running shoes' and return the name and price properties."
- Official Weaviate-org repository, so the contract is closer to canonical than community forks.
- Tiny and easy to read: two tools, a single Go binary, and a working client example you can run end to end with
make run-client. - Covers the two operations that matter most for agent memory: write one object and hybrid-search the collection.
- Very limited surface area: only insert-one and query. No batch insert, no schema/collection management, no delete, no update.
- Connection settings (host, scheme, API key, OpenAI key) are hardcoded to
localhost:8080. There is aTODOto read them from environment variables but it is not implemented. - README is sparse: no documented config JSON, no environment variables, and request/response bodies are shown as empty
{}.
- sajal2692/mcp-weaviate: community FastMCP-based Python server for Weaviate, deployable with
uvx. - Weaviate Docs MCP Server: Weaviate's hosted MCP for searching documentation, not data, at
https://weaviate-docs.mcp.kapa.ai. - Other vector DB MCP servers such as the official Qdrant or Pinecone MCP servers if you are choosing a stack rather than committed to Weaviate.