1. Conduid
  2. AI
  3. Hayhooks
MCP server · AI

Hayhooks

Easily deploy Haystack pipelines as REST APIs and MCP Tools.

Unclaimed Apache-2.0 last commit 6 months ago haystackmcpapi-restmcp-toolsllmmcp-serverapiai
85Excellent

Scored 3 hours ago · breakdown

About Hayhooks

Hayhooks is an MCP server published by deepset-ai in the AI category: easily deploy Haystack pipelines as REST APIs and MCP Tools. It has been installed 0 times through Conduid.

The repository has 137 stars and 34 forks, with the last commit 6 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.

Install

Install
npx hayhooks

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about Hayhooks

Powered by Claude · Grounded in docs

I know everything about Hayhooks. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v1.24.0v1.24.0 · 18 Aug 2026What's Changed test: add nightly tests with Haystack main branch; refactor v3 workflow by @anakin87 in https://github.com/deepset-ai/hayhooks/pull/254 chore: remove unused ty ignores by @anakin87 in…
v1.23.0v1.23.0 · 30 Jul 2026What's Changed feat: add coerce pipeline inputs util method by @sjrl in https://github.com/deepset-ai/hayhooks/pull/252 Full Changelog**: https://github.com/deepset-ai/hayhooks/compare/v1.22.0...v1.23.0
v1.22.0v1.22.0 · 10 Jul 2026This release adds **Haystack v3 support** while keeping compatibility with **Haystack v2**. A single Hayhooks version can now run against both Haystack major versions, including the async pipeline changes introduced in Haystack v3. 🚀…
v1.21.0v1.21.0 · 7 Jul 2026This release adds 🤝 **A2A protocol support** to Hayhooks. Chat-capable Haystack pipelines can now be exposed as discoverable A2A agents, so other agents can find them through agent cards and delegate work to them. Install and run: pip…
v1.20.0v1.20.0 · 9 Jun 2026This release makes the **tracing dashboard real-time**: pipeline runs now stream into the UI over Server-Sent Events instead of polling, with live in-flight indicators and a refreshed high-contrast theme. Start it as before: hayhooks run…

README

Hayhooks

Hayhooks makes it easy to deploy and serve Haystack Pipelines and Agents.

With Hayhooks, you can:

  • 📦 Deploy your Haystack pipelines and agents as REST APIs with maximum flexibility and minimal boilerplate code.
  • 🛠️ Expose your Haystack pipelines and agents over the MCP protocol, making them available as tools in AI dev environments like Cursor or Claude Desktop. Under the hood, Hayhooks runs as an MCP Server, exposing each pipeline and agent as an MCP Tool.
  • 💬 Integrate your Haystack pipelines and agents with Open WebUI as OpenAI-compatible chat completion backends with streaming support.
  • 🖥️ Embed a Chainlit chat UI directly in Hayhooks with pip install "hayhooks[chainlit]" and hayhooks run --with-chainlit -- zero-configuration frontend with streaming, pipeline selection, and custom UI widgets.
  • 🕹️ Control Hayhooks core API endpoints through chat - deploy, undeploy, list, or run Haystack pipelines and agents by chatting with Claude Desktop, Cursor, or any other MCP client.
  • 📈 Trace Hayhooks lifecycle actions with OpenTelemetry (pip install "hayhooks[tracing]") for deploy/run/undeploy visibility across REST and MCP, with a /dashboard UI via hayhooks run --with-tracing-dashboard (backed by a local live trace buffer).

PyPI - Version PyPI - Python Version Docker image release Tests

Documentation

📚 For detailed guides, examples, and API reference, check out our comprehensive documentation.

Quick Start

1. Install Hayhooks

# Install Hayhooks
pip install hayhooks

2. Start Hayhooks

hayhooks run

3. Create a simple agent

Create a minimal agent wrapper with streaming chat support and a simple HTTP POST API:

from typing import AsyncGenerator
from haystack.components.agents import Agent
from haystack.dataclasses import ChatMessage
from haystack.tools import Tool
from haystack.components.generators.chat import OpenAIChatGenerator
from hayhooks import BasePipelineWrapper, async_streaming_generator


# Define a Haystack Tool that provides weather information for a given location.
def weather_function(location):
    return f"The weather in {location} is sunny."

weather_tool = Tool(
    name="weather_tool",
    description="Provides weather information for a given location.",
    parameters={
        "type": "object",
        "properties": {"location": {"type": "string"}},
        "required": ["location"],
    },
    function=weather_function,
)

class PipelineWrapper(BasePipelineWrapper):
    def setup(self) -> None:
        self.agent = Agent(
            chat_generator=OpenAIChatGenerator(model="gpt-4o-mini"),
            system_prompt="You're a helpful agent",
            tools=[weather_tool],
        )

    # This will create a POST /my_agent/run endpoint
    # `question` will be the input argument and will be auto-validated by a Pydantic model
    async def run_api_async(self, question: str) -> str:
        result = await self.agent.run_async(messages=[ChatMessage.from_user(question)])
        return result["last_message"].text

    # This will create an OpenAI-compatible /chat/completions endpoint
    async def run_chat_completion_async(
        self, model: str, messages: list[dict], body: dict
    ) -> AsyncGenerator[str, None]:
        chat_messages = [
            ChatMessage.from_openai_dict_format(message) for message in messages
        ]

        return async_streaming_generator(
            pipeline=self.agent,
            pipeline_run_args={
                "messages": chat_messages,
            },
        )

Save as my_agent_dir/pipeline_wrapper.py.

4. Deploy it

hayhooks pipeline deploy-files -n my_agent ./my_agent_dir

5. Run it

Call the HTTP POST API (/my_agent/run):

curl -X POST http://localhost:1416/my_agent/run \
  -H 'Content-Type: application/json' \
  -d '{"question": "What can you do?"}'

Call the OpenAI-compatible chat completion API (streaming enabled):

curl -X POST http://localhost:1416/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "my_agent",
    "messages": [{"role": "user", "content": "What can you do?"}]
  }'

Or chat with it in the embedded Chainlit UI (hayhooks run --with-chainlit) or integrate it with Open WebUI!

Key Features

🚀 Easy Deployment

  • Deploy Haystack pipelines and agents as REST APIs with minimal setup
  • Support for both YAML-based and wrapper-based pipeline deployment
  • Automatic OpenAI-compatible endpoint generation

🌐 Multiple Integration Options

  • MCP Protocol: Expose pipelines as MCP tools for use in AI development environments
  • Chainlit UI: Embedded chat frontend with streaming, pipeline selection, and custom UI widgets
  • Open WebUI Integration: Use Hayhooks as a backend for Open WebUI with streaming support
  • OpenAI Compatibility: Seamless integration with OpenAI-compatible tools and frameworks

🔧 Developer Friendly

  • CLI for easy pipeline management
  • Flexible configuration options
  • Comprehensive logging and debugging support
  • OpenTelemetry-ready tracing hooks built on Haystack tracing APIs
  • Custom route and middleware support

📁 File Upload Support

  • Built-in support for handling file uploads in pipelines
  • Perfect for RAG systems and document processing

Next Steps

Community & Support

Hayhooks is actively maintained by the deepset team.

README mirrored from the source repository 3 hours ago. The original is authoritative.

Questions

About Hayhooks

How do I install Hayhooks?

Run npx hayhooks, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is Hayhooks safe to use with an AI agent?

Its trust score is 85 out of 100 (excellent). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Hayhooks still maintained?

Yes — the latest release is v1.24.0 (18 Aug 2026), and the last commit was 6 months ago. The repository has 137 stars and 0 open issues.