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 weather-agent --description "Fetches weather data"

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.0.tar.gz (65.6 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.0-py3-none-any.whl (93.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: macsdk-0.1.0.tar.gz
  • Upload date:
  • Size: 65.6 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.0.tar.gz
Algorithm Hash digest
SHA256 4273e7023e319f0065902e394fac84a66e0113b14833947300b95e4a6e866a10
MD5 158f093413317ce4fe1647c75f4e0768
BLAKE2b-256 d705330b8b0564895d343f2d8a7638282f50785920f9802f95c1232880cf5466

See more details on using hashes here.

File details

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

File metadata

  • Download URL: macsdk-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 93.3 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7e0b7e219c79fcf3eecd4719dc9fbce48c6365076428139d9e114d826fd3acf6
MD5 70183da448587eff21a1def7a1384cce
BLAKE2b-256 6ae3ac8c8a7246df8d231ea38e03b875cfa49d1bb4457068f8efc6e409464daa

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