Skip to content

rowboatlabs/rowboat

Repository files navigation

ui

Let AI build multi-agent workflows for you in minutes

  • Start from an idea -> copilot builds your multi-agent workflows
    • E.g. "Build me an assistant for a food delivery company to handle delivery status and missing items. Include the necessary tools."
  • 🌐 Connect MCP servers
    • Add the MCP servers in settings -> import the tools into Rowboat.
  • 📞 Integrate into your app using the HTTP API or Python SDK
    • Grab the project ID and generated API key from settings and use the API.

Powered by OpenAI's Agents SDK, Rowboat is the fastest way to build multi-agents!

Quick start

  1. Set your OpenAI key

    export OPENAI_API_KEY=your-openai-api-key
  2. Clone the repository and start Rowboat docker

    git clone [email protected]:rowboatlabs/rowboat.git
    cd rowboat
    docker-compose up --build
  3. Access the app at http://localhost:3000.

Demo

Create a multi-agent assistant with MCP tools by chatting with Rowboat

Screenshot 2025-04-23 at 00 25 31

Integrate with Rowboat agents

There are 2 ways to integrate with the agents you create in Rowboat

  1. HTTP API

    curl --location 'http://localhost:3000/api/v1/<PROJECT_ID>/chat' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer <API_KEY>' \
    --data '{
        "messages": [
            {
                "role": "user",
                "content": "tell me the weather in london in metric units"
            }
        ],
        "state": null
    }'
  2. Python SDK You can use the included Python SDK to interact with the Agents

    pip install rowboat
    

    See SDK Docs for details. Here is a quick example:

    from rowboat import Client, StatefulChat
    from rowboat.schema import UserMessage, SystemMessage
    
    # Initialize the client
    client = Client(
        host="http://localhost:3000",
        project_id="<PROJECT_ID>",
        api_key="<API_KEY>"
    )
    
    # Create a stateful chat session (recommended)
    chat = StatefulChat(client)
    response = chat.run("What's the weather in London?")
    print(response)
    
    # Or use the low-level client API
    messages = [
        SystemMessage(role='system', content="You are a helpful assistant"),
        UserMessage(role='user', content="Hello, how are you?")
    ]
    
    # Get response
    response = client.chat(messages=messages)
    print(response.messages[-1].content)

Refer to Docs to learn how to start building agents with Rowboat.