
tooler_chat
与 Tooler Agent 交互,构建、打包和管理生成的服务器及代理的应用。
Repository Info
About This Server
与 Tooler Agent 交互,构建、打包和管理生成的服务器及代理的应用。
Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.
Documentation
Tooler Chat
Tooler Chat is an application for talking to the Tooler Agent, building, bundling and retrieving Tooler generated MCP Servers and Agents.
Features
- Chat with the Tooler Agent or any agent generated by Tooler
- Create, manage, and customize agents
- Store and organize MCP servers
- Associate MCP servers with agents as plugins
- Save and organize chat sessions
- User authentication and session management
- Advanced logging and debugging system with web interface
Tech Stack
Backend
- FastAPI: Modern, fast web framework for building APIs with Python
- SQLModel: ORM for working with SQL databases in Python, combining SQLAlchemy and Pydantic
- PostgreSQL: Robust, scalable database system
- Pydantic AI: Framework for working with AI models and agents
- JWT: Secure authentication using JSON Web Tokens
- Docker: Containerization for consistent deployment
- Advanced Structured Logging: Comprehensive logging system with rotation and filtering
Frontend
- React: JavaScript library for building user interfaces
- Material UI: React component library implementing Material Design
- Zustand: Lightweight state management
- Axios: HTTP client for API requests
- React Router: URL routing for React
- React Markdown: Markdown rendering for chat messages
Project Structure
tooler_chat/
├── backend/ # FastAPI backend
│ ├── app/
│ │ ├── api/ # API endpoints
│ │ ├── core/ # Core functionality
│ │ │ ├── logging/ # Advanced logging system
│ │ ├── db/ # Database configuration
│ │ ├── models/ # Database models
│ │ ├── schemas/ # Pydantic schemas
│ │ ├── services/ # Business logic
│ │ ├── tools/ # Tool implementations
│ │ └── main.py # FastAPI app entry point
│ ├── Dockerfile # Backend Docker configuration
│ └── requirements.txt # Python dependencies
├── frontend/ # React frontend
│ ├── public/ # Static files
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── contexts/ # State management
│ │ ├── pages/ # Page components
│ │ │ ├── Admin/ # Admin pages including LogViewer
│ │ ├── services/ # API services
│ │ ├── App.jsx # Main App component
│ │ └── index.jsx # Entry point
│ ├── Dockerfile # Frontend Docker configuration
│ └── package.json # JavaScript dependencies
├── docker/ # Docker configurations
├── docker-compose.yml # Docker Compose config
├── logs/ # Application logs (mounted volume)
├── docs/ # Documentation
│ └── LOGGING.md # Logging system documentation
├── .env.example # Example environment variables
└── README.md # Project documentation
Getting Started
Prerequisites
- Docker (required for containerized deployment)
- Docker Compose (optional - can run without it)
- Node.js (for local frontend development)
- Python 3.9+ (for local backend development)
Setup
- Clone the repository
git clone <repository-url>
cd tooler_chat
- Create a
.envfile based on the.env.example
cp .env.example .env
# Edit the .env file with your configuration
- Start the application using one of the following methods:
Using Docker Compose
./setup.sh # One-time setup
./run.sh # Start the application
Using Docker Only (No Docker Compose)
./docker-chmod.sh # Make scripts executable (one time only)
./docker-run.sh # Build and start containers
To stop the application when using Docker only:
./docker-stop.sh # Stop containers
To completely clean up all Docker resources:
./docker-clean.sh # Remove containers, images, and network
- Access the application at http://localhost:34140 (or the port specified in your .env file)
Port Configuration
The application uses environment variables to configure ports:
BACKEND_PORT: Port for the FastAPI backend API (default: 34130)FRONTEND_PORT: Port for the React frontend (default: 34140)
You can change these in your .env file to use different ports.
If you want to use Nginx on the host system as a reverse proxy, run:
./generate-nginx-config.sh
This will create an nginx-host.conf file that you can include in your system's Nginx configuration.
Logging Configuration
The application includes a comprehensive logging system that can be configured via environment variables:
LOG_LEVEL: Sets the logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)STRUCTURED_LOGS: Whether to use JSON structured logging (true/false)
Logs are stored in the logs/ directory with rotation policies. For more details, see the Logging Documentation.
Log Viewer
Admin users can access the log viewer interface at http://localhost:34140/admin/logs to browse, filter, and download log files.
Development
Backend Development
cd backend
pip install -r requirements.txt
uvicorn app.main:app --reload --port 34130
The API documentation will be available at http://localhost:34130/docs
Frontend Development
cd frontend
npm install
PORT=34140 npm start
The frontend development server will be available at http://localhost:34140
License
MIT License
Quick Start
Clone the repository
git clone https://github.com/newsbubbles/tooler_chatInstall dependencies
cd tooler_chat
npm installFollow the documentation
Check the repository's README.md file for specific installation and usage instructions.
Repository Details
Recommended MCP Servers
Discord MCP
Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.
Knit MCP
Connect AI agents to 200+ SaaS applications and automate workflows.
Apify MCP Server
Deploy and interact with Apify actors for web scraping and data extraction.
BrowserStack MCP
BrowserStack MCP Server for automated testing across multiple browsers.
Zapier MCP
A Zapier server that provides automation capabilities for various apps.