Catalyst Builder
Tools for creating and validating Catalyst Knowledge Packs.
Installation
pip install catalyst-builder
What are Knowledge Packs?
Knowledge Packs are YAML configurations that define tools for integrating with external systems through the MCP (Model Context Protocol).
What's New in v1.1.0
LLM-Optimized Knowledge Packs - New optional features to improve AI tool discovery and usage:
- Smart Tool Metadata - Display names, usage hints, complexity levels
- Parameter Constraints - Min/max values, examples, validation patterns
- Tool Prerequisites - Define safe tool usage sequences
- External Transforms - Reference Python/JS files for better maintainability
All features are 100% backward compatible - existing packs continue to work unchanged!
See the LLM Optimization Guide for details.
Pack Structure
# pack.yaml
metadata:
name: "my_integration"
version: "1.0.0"
description: "Integration with external API"
connection:
type: "rest"
base_url: "${API_URL}"
auth:
method: "bearer"
token: "${API_TOKEN}"
tools:
list_items:
type: "list"
description: "Get list of items"
endpoint: "/items"
method: "GET"
Supported Integration Types
- REST API - HTTP/HTTPS API integrations
- Database - SQL and NoSQL database connections
- File System - Local files, S3, Azure Blob, Google Cloud Storage
- SSH - Remote system access
- Message Queue - RabbitMQ, Kafka, Redis Pub/Sub
Tool Types
list- Get arrays of datadetails- Get specific resource detailsquery- Run database queriessearch- Search with parametersexecute- Run commands or scripts
Parameters
Define parameters for dynamic tools:
tools:
search_users:
type: "query"
sql: "SELECT * FROM users WHERE created_at > {since_date}"
parameters:
- name: "since_date"
type: "string"
required: true
Data Transformation
Transform responses with jq, Python, JavaScript, or templates:
tools:
process_data:
type: "query"
sql: "SELECT id, name, status FROM users"
transform:
type: "jq"
expression: '.[] | {id, name, active: .status == "active"}'
Validation
python -c "from catalyst_pack_schemas.validator import PackValidator; print(PackValidator().validate_pack('path/to/pack'))"
Environment Variables
Use environment variables for sensitive data:
connection:
host: "${DB_HOST}"
auth:
username: "${DB_USER}"
password: "${DB_PASSWORD}"
Dependencies
Optional dependencies for specific integrations:
# Database connections
pip install asyncpg # PostgreSQL
pip install aiomysql # MySQL
pip install aiosqlite # SQLite
pip install motor # MongoDB
pip install redis # Redis
# Cloud storage
pip install aioboto3 # AWS S3
pip install google-cloud-storage # Google Cloud
pip install azure-storage-blob # Azure Blob
# Other integrations
pip install aio-pika # RabbitMQ
pip install aiokafka # Apache Kafka
pip install asyncssh # SSH connections
Documentation
- Integration Types - Detailed integration patterns
- Pack Structure - Pack organization guide
- Pack Development - Creation guide
- Security - Security patterns
Examples
See examples/ directory for sample packs demonstrating various integration patterns.
Metadata
Release files for catalyst-builder 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| catalyst_builder-1.1.0.tar.gz | 28.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| catalyst_builder-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 59.6 kB
Release files / catalyst_builder-1.1.0.tar.gz
| Download URL | catalyst_builder-1.1.0.tar.gz |
|---|---|
| Size | 28.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e4299e0ad19737479f02c4ff44112a5472f2b6f2dc3348e3e3172a7d792a27e1
|
|
BLAKE2b-256 checksum How to use checksums |
adfc8ba453dd35c9d30d9bfc5f3b4ccc5571c8f68c21df39645db6909f675e2f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.13
|
Release files / catalyst_builder-1.1.0-py3-none-any.whl
| Download URL | catalyst_builder-1.1.0-py3-none-any.whl |
|---|---|
| Size | 30.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
52bf5158e0997ff2e0a0957b71270d7f4459de175d308e9df58b286602dfcedc
|
|
BLAKE2b-256 checksum How to use checksums |
26a823136382d5062bfcab0e3eca403d7964bd08ccf9ba42c4139b1d65e0ee37
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.13
|