Two interns built an MCP (Model Context Protocol) server for Vespa, starting with a Python prototype using PyVespa and the MCP SDK, then rewrote it in Java for full container integration. The server enables LLMs to query Vespa applications using natural language through three main tools: schema retrieval, documentation search, and query execution. Key challenges included implementing custom request handlers, managing stateless communication across distributed nodes, and adapting to frequent MCP SDK updates. The final implementation runs as a Vespa component with HTTP transport, providing read-only access to applications both locally and in the cloud.
Table of contents
The Beginning: Learning Vespa and MCPFirst Milestone: The Python PrototypeThe Real Challenge: Container IntegrationSeeing It in ActionWhat’s NextLooking Back: Our Summer at Vespa.aiSort: