MUCGPT is a system that enables users to interact with a large language model (LLM) through a web interface. This interaction is facilitated by an agentic system that can access several tools. To get a feel for it, take a look at our demo frontend.
Roles and rights management is facilitated by access to an OpenID Connect provider.
Users can create their own assistants and share them within the organization. A personal assistant is a configuration of the MUCGPT agent, particularly the activated tools and system prompts.
See the open issues for a full list of proposed features (and known issues).
- Node.js 22+
- Git
- Python 3.13
- uv
- Docker
Please check the Getting Started documentation for detailed instructions on configuration, LDAP, SSO, MCP setup, and running the application.
%%{init:
{
"theme": "base",
"themeVariables": {
"primaryColor": "#F8B6B8",
"primaryTextColor": "#222222",
"primaryBorderColor": "#F6A6A6",
"lineColor": "#FFE5B4",
"secondaryColor": "#B6E2D3",
"tertiaryColor": "#FFFFFF",
"background": "#FFF8F0",
"fontSize": "20px",
"fontFamily": "Inter, Segoe UI, Trebuchet MS, Verdana, Arial, sans-serif"
}
}
}%%
timeline
title 🚀 MUCGPT Roadmap (24.11.2025)
section 🎉 Open Source
2024-06 : 🟢 Open Source : Public release for everyone!
section 🖥️ UI & Experience
2024-07 : 💾 Chat History : Save chats in your browser
2024-08 : ⚙️ LLM Config : Tune the LLM to your needs
2024-09 : 🗣️ Easy Language : Simplify any text
section 🤖 Custom Assistants
2025-01 : 🛠️ Build Assistants : Create your own helpers
section 🌐 MUCGPT 2.0: Agent Mode
2025-07 : 🧩 Microservices : API-Gateway, Core, Assistant-Service
2025-12 : ☁️ Share Assistants : Share & use tools (Summarize, Brainstorm, Simple Language)
2025-12 : 🛡️ MCP Tools : Connect MCP tools
section 💡 Knowledge and document processing
2026: 📃 Chat with your documents
2026: 📂 Shared Knowledge Base: Access shared information in chat and assistants (reuse F13 components)
section 🪚 Additional tools
2026: 🔍 Websearch: Search the Web
2026: ...
MUCGPT uses a modern microservices architecture optimized for scalability and maintainability:
- Frontend: User interface layer built with React
- API Gateway: Entry point for all client requests
- Core Service: LLM agent orchestration and tool integration
- Assistant Service: Configuration management for assistants
- PostgreSQL: Database for persistence
- Keycloak: Authentication and user management
The architecture of MUCGPT is structured into these primary components: the frontend, the core service for handling tools and the communication with the LLM, and the assistant service. Additionally, it features an API Gateway, a database, and integrates Single Sign-On (SSO) for authentication.
The frontend is based on a template from Microsoft Azure and is implemented using React, Typescript and Javascript.
The framework used to implement the backends (the core- and the assistant service) of MUCGPT is called FastAPI. It is a modern, fast (high-performance), web framework for building APIs with Python based on standard Python type hints. The core service uses LangGraph to connect to LLMs.
Each service provides specialized functionality:
-
Core Service: Manages LLM interactions and orchestrates tools. It uses LangGraph to create an agent architecture that can process user requests, call appropriate tools, and generate responses.
-
Assistant Service: Manages the creation, modification, and sharing of assistant configurations. These configurations define which tools are available to an agent and what system prompts guide their behavior.
-
Migration Service: Handles database migrations for the Assistant Service, ensuring schema updates are applied consistently.
-
Document Parsing: Extracts text and structure from uploaded documents for the Core Service. Currently, only Kreuzberg is supported as the parsing backend.
The API Gateway is developed in Java based on the Spring Cloud Gateway, providing robust routing, security, and scalability for all services. IT@M distributes the gateway as a container image: ghcr.io/it-at-m/refarch/refarch-gateway. For detailed documentation, see the gateway documentation.
Authentication is managed using Keycloak, a robust open-source identity and access management solution. Keycloak handles user authentication, authorization, and user management for the MUCGPT platform, enabling secure Single Sign-On (SSO) across all services. For more details on customizing authentication or extending user management, refer to the Keycloak Migration Framework documentation.
Langfuse is an open-source LLM observability platform that supports agent tracing and prompt management. It is optional in MUCGPT.
For more information, see the MUCGPT Features documentation.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please open an issue with the tag "enhancement", fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Open an issue with the tag "enhancement"
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
More about this in the CODE_OF_CONDUCT file.
Distributed under the MIT License. See LICENSE file for more information.
Please note that MUCGPT uses Kreuzberg as an optional dependency for document parsing. Kreuzberg is distributed under the Elastic License v2.0 (ELv2), which deviates from the MIT license used for the rest of this project.
it@M - [email protected]