$git clone https://github.com/open-webui/openapi-serversThis repository provides reference OpenAPI Tool Server implementations making it easy and secure for developers to integrate external tooling and data sources into LLM agents and workflows. Designed for maximum ease of use and minimal learning curve, these implementations utilize
| 1 | # 🌟 OpenAPI Tool Servers |
| 2 | |
| 3 | This repository provides reference OpenAPI Tool Server implementations making it easy and secure for developers to integrate external tooling and data sources into LLM agents and workflows. Designed for maximum ease of use and minimal learning curve, these implementations utilize the widely adopted and battle-tested [OpenAPI specification](https://www.openapis.org/) as the standard protocol. |
| 4 | |
| 5 | By leveraging OpenAPI, we eliminate the need for a proprietary or unfamiliar communication protocol, ensuring you can quickly and confidently build or integrate servers. This means less time spent figuring out custom interfaces and more time building powerful tools that enhance your AI applications. |
| 6 | |
| 7 | ## ☝️ Why OpenAPI? |
| 8 | |
| 9 | - **Established Standard**: OpenAPI is a widely used, production-proven API standard backed by thousands of tools, companies, and communities. |
| 10 | |
| 11 | - **No Reinventing the Wheel**: No additional documentation or proprietary spec confusion. If you build REST APIs or use OpenAPI today, you're already set. |
| 12 | |
| 13 | - **Easy Integration & Hosting**: Deploy your tool servers externally or locally without vendor lock-in or complex configurations. |
| 14 | |
| 15 | - **Strong Security Focus**: Built around HTTP/REST APIs, OpenAPI inherently supports widely used, secure communication methods including HTTPS and well-proven authentication standards (OAuth, JWT, API Keys). |
| 16 | |
| 17 | - **Future-Friendly & Stable**: Unlike less mature or experimental protocols, OpenAPI promises reliability, stability, and long-term community support. |
| 18 | |
| 19 | ## 🚀 Quickstart |
| 20 | |
| 21 | Get started quickly with our reference FastAPI-based implementations provided in the `servers/` directory. (You can adapt these examples into your preferred stack as needed, such as using [FastAPI](https://fastapi.tiangolo.com/), [FastOpenAPI](https://github.com/mr-fatalyst/fastopenapi) or any other OpenAPI-compatible library): |
| 22 | |
| 23 | ```bash |
| 24 | git clone https://github.com/open-webui/openapi-servers |
| 25 | cd openapi-servers |
| 26 | |
| 27 | # Example: Installing dependencies for a specific server 'filesystem' |
| 28 | cd servers/filesystem |
| 29 | pip install -r requirements.txt |
| 30 | uvicorn main:app --host 0.0.0.0 --reload |
| 31 | ``` |
| 32 | |
| 33 | Or using Docker: |
| 34 | |
| 35 | ```bash |
| 36 | cd servers/filesystem |
| 37 | docker compose up |
| 38 | ``` |
| 39 | |
| 40 | Now, simply point your OpenAPI-compatible clients or AI agents to your local or publicly deployed URL—no configuration headaches, no complicated transports. |
| 41 | |
| 42 | ## 📂 Server Reference Implementations |
| 43 | |
| 44 | Reference implementations provided in this repository demonstrate common use-cases clearly and simply: |
| 45 | |
| 46 | - [**Filesystem Access**](servers/filesystem) - Manage local file operations safely with configurable restrictions. |
| 47 | - [**Git Server**](servers/git) - Expose Git repositories for searching, reading, and possibly writing via controlled API endpoints. |
| 48 | - [**Memory & Knowledge Graph**](servers/memory) - Persistent memory management and semantic knowledge querying using popular and reliable storage techniques. |
| 49 | - [**Weather Server**](servers/weather) - Provide current weather conditions and forecasts from trusted public APIs. |
| 50 | - [**Get User Info Server**](servers/get-user-info) - Access and return enriched user profile information from authentication providers or internal systems. |
| 51 | - [**SQL Chat Server**](servers/sql) - Connect to SQL databases and automatically generate, execute, and optimize queries based on your database schema and natural language input. Enables chat-based data exploration, leveraging external Retrieval-Augmented Generation (RAG) for advanced query assistance. |
| 52 | - [**External RAG Tool Server**](servers/external-rag) - Connect and execute your own Retrieval-Augmented Generation (RAG) pipelines as callable API tools. Easily integrate custom or third-party RAG flows, providing structured access and modular composition for knowledge-intensive applications. |
| 53 | |
| 54 | (More examples and reference implementations will be actively developed and continually updated.) |
| 55 | |
| 56 | > [!IMPORTANT] |
| 57 | > 💡 Contribute Your Server! |
| 58 | > |
| 59 | > We strongly encourage the community to contribute |