MCP Haystack Demo logo

MCP Haystack Demo

by oryx1729

A Haystack integration connecting to MCP servers with a focus on Google Maps API integration. It implements MCPServer, a Haystack Toolset that connects to remote MCP servers and dynamically loads available tools.

View on GitHub

Last updated: N/A

What is MCP Haystack Demo?

This project is a Haystack Toolset called MCPServer that connects to remote MCP (Model Context Protocol) servers. It enables dynamic discovery and loading of available tools from these servers, specifically focusing on Google Maps API integration.

How to use MCP Haystack Demo?

To use this integration, you need to install the dependencies using uv. Then, you can run the Google Maps MCP server using the provided Docker command, ensuring you have a Google Maps API key. Finally, connect to the server using the provided Python code snippet, creating an SSEServerInfo object, an MCPServer instance, and using a ToolInvoker to interact with the tools.

Key features of MCP Haystack Demo

  • Connects to remote MCP servers using SSE

  • Dynamically discovers and loads available tools

  • Seamless integration with Haystack pipelines

  • Google Maps API integration

Use cases of MCP Haystack Demo

  • Integrating Google Maps functionalities into Haystack pipelines

  • Dynamically extending Haystack pipelines with tools from MCP servers

  • Building applications that leverage both Haystack and Google Maps API

  • Creating location-aware applications using Haystack and MCP

FAQ from MCP Haystack Demo

What is MCP?

MCP likely refers to Model Context Protocol, a protocol for interacting with models and tools.

What is Haystack?

Haystack is a framework for building search and question answering systems.

How do I get a Google Maps API key?

You can obtain a Google Maps API key from the Google Cloud Console.

What is SSE?

SSE stands for Server-Sent Events, a server push technology enabling real-time data streaming.

Where can I find the demo notebook?

The README mentions a demo notebook but doesn't specify its location within the repository.