Skip to main content

Multi-Agent Chatbot SDK - Build customizable multi-agent chatbots with ease

Project description

MACSDK - Multi-Agent Chatbot SDK

A comprehensive SDK for building customizable multi-agent chatbots with RAG support, web interfaces, and reusable API tools.

Features

  • 🏗️ Scaffolding CLI: Generate chatbot and agent projects with a single command
  • 🤖 Intelligent Supervisor: Automatic routing and orchestration of specialist agents
  • 📚 RAG Agent: Built-in retrieval-augmented generation for documentation queries
  • 🌐 Web Interface: FastAPI + WebSocket server with real-time streaming
  • 🔧 API Tools: Reusable tools for REST APIs with JSONPath extraction
  • 🔄 Streaming: Real-time progress updates for CLI and web interfaces

Quick Start

Installation

pip install macsdk
# or with uv
uv add macsdk

Create a Chatbot

# Basic chatbot
macsdk new chatbot my-assistant --display-name "My Assistant"

# With RAG support for documentation queries
macsdk new chatbot my-assistant --with-rag

cd my-assistant
uv sync

Create an Agent

macsdk new agent infra-agent --description "Monitors infrastructure services"

Run Your Chatbot

# Show available commands
my-assistant

# Start CLI chat
my-assistant chat

# Start web interface
my-assistant web

# List registered agents
my-assistant agents

# Show configuration
my-assistant info

Run Your Agent (standalone)

# Show available commands
my-agent

# Start interactive chat
my-agent chat

# List tools
my-agent tools

Configuration

Environment Variables (.env)

GOOGLE_API_KEY=your_key_here

YAML Configuration (config.yml)

# LLM settings
llm_model: gemini-2.5-flash
llm_temperature: 0.3

# RAG sources (if --with-rag)
rag:
  enabled: true
  sources:
    - name: "My Docs"
      url: "https://docs.example.com/"
      tags: ["docs", "api"]

Examples

The examples/ directory contains working examples:

  • api-agent: REST API interactions with JSONPlaceholder
  • devops-chatbot: Multi-agent chatbot with RAG and API tools

Development

git clone https://github.com/juanje/macsdk
cd macsdk
uv sync

# Run tests
uv run pytest

# Type checking & linting
uv run mypy src/
uv run ruff check .

License

MIT

🤖 AI Tools Disclaimer

This project was developed with the assistance of artificial intelligence tools:

Tools used:

  • Cursor: Code editor with AI capabilities
  • Claude-4.5-Opus: Anthropic's language model

Division of responsibilities:

Human (Juanje Ojeda):

  • 🎯 Specification of objectives and requirements
  • 📋 Definition of project's architecture
  • 🔍 Critical review of code and documentation
  • ✅ Final validation of concepts and approaches

AI (Cursor + Claude-4.5-Opus):

  • 🔧 Code prototyping and implementation
  • 📝 Generation of examples and test cases
  • 🐛 Debugging and error resolution
  • 📚 Documentation writing

Collaboration philosophy: AI tools served as a highly capable technical assistant, while all design decisions and project directions were defined and validated by the human.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

macsdk-0.1.1.tar.gz (65.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

macsdk-0.1.1-py3-none-any.whl (93.4 kB view details)

Uploaded Python 3

File details

Details for the file macsdk-0.1.1.tar.gz.

File metadata

  • Download URL: macsdk-0.1.1.tar.gz
  • Upload date:
  • Size: 65.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for macsdk-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e97a99b088d420011a0ffafead2210b69087b9e48d468ac24117a5edb6b8d4ce
MD5 e36e6c963a9dce0cdb520b2ff0a0f869
BLAKE2b-256 53b7f30c18681b98944473cfcbf7322b25c3567b7b957cf8760eb756b80c38a4

See more details on using hashes here.

File details

Details for the file macsdk-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: macsdk-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 93.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for macsdk-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 60c4fa9f66a07fda87d82e385a59c8124c14fab3fa0a7fd1a6476c87fc8582e1
MD5 6e45582a0c26f3e335869d97f30df2bd
BLAKE2b-256 c44b0922f83a760d46ebb0c0ce13e1fa8518e2a5ba6a17690fdb22230381ddad

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page