{"id":27063759,"url":"https://github.com/open-webui/openapi-servers","last_synced_at":"2025-04-05T16:20:56.017Z","repository":{"id":284885031,"uuid":"955792346","full_name":"open-webui/openapi-servers","owner":"open-webui","description":"OpenAPI Tool Servers","archived":false,"fork":false,"pushed_at":"2025-04-05T08:24:49.000Z","size":41,"stargazers_count":199,"open_issues_count":1,"forks_count":19,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-05T09:25:22.514Z","etag":null,"topics":["ai","mcp","openapi"],"latest_commit_sha":null,"homepage":"https://docs.openwebui.com/openapi-servers/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/open-webui.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-27T07:52:09.000Z","updated_at":"2025-04-05T08:58:12.000Z","dependencies_parsed_at":"2025-03-28T09:28:47.253Z","dependency_job_id":"9c9dcfae-1d5f-4c84-8543-6e1e09fd16f0","html_url":"https://github.com/open-webui/openapi-servers","commit_stats":null,"previous_names":["open-webui/openapi-server","open-webui/openapi-servers"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-webui%2Fopenapi-servers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-webui%2Fopenapi-servers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-webui%2Fopenapi-servers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-webui%2Fopenapi-servers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/open-webui","download_url":"https://codeload.github.com/open-webui/openapi-servers/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247362535,"owners_count":20926797,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","mcp","openapi"],"created_at":"2025-04-05T16:20:55.500Z","updated_at":"2025-04-05T16:20:55.996Z","avatar_url":"https://github.com/open-webui.png","language":"Python","funding_links":[],"categories":["📚 Projects (1974 total)","Python","MCP Utilities \u0026 Tools"],"sub_categories":["MCP Servers","Gateways"],"readme":"# 🌟 OpenAPI Tool Servers\n\nThis 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.\n\nBy 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.\n\n## ☝️ Why OpenAPI?\n\n- **Established Standard**: OpenAPI is a widely used, production-proven API standard backed by thousands of tools, companies, and communities.\n\n- **No Reinventing the Wheel**: No additional documentation or proprietary spec confusion. If you build REST APIs or use OpenAPI today, you're already set.\n\n- **Easy Integration \u0026 Hosting**: Deploy your tool servers externally or locally without vendor lock-in or complex configurations.\n\n- **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).\n\n- **Future-Friendly \u0026 Stable**: Unlike less mature or experimental protocols, OpenAPI promises reliability, stability, and long-term community support.\n\n## 🚀 Quickstart\n\nGet 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):\n\n```bash\ngit clone https://github.com/open-webui/openapi-servers\ncd openapi-servers\n\n# Example: Installing dependencies for a specific server 'filesystem'\ncd servers/filesystem\npip install -r requirements.txt\nuvicorn main:app --host 0.0.0.0 --reload\n```\n\nOr using Docker:\n\n```bash\ncd servers/filesystem\ndocker compose up\n```\n\nNow, simply point your OpenAPI-compatible clients or AI agents to your local or publicly deployed URL—no configuration headaches, no complicated transports.\n\n## 📂 Server Examples\n\nReference implementations provided in this repository demonstrate common use-cases clearly and simply:\n\n- **Filesystem Access** _(servers/filesystem)_ - Manage local file operations safely with configurable restrictions.\n- **Git Server** _(servers/git)_ - Expose Git repositories for searching, reading, and possibly writing via controlled API endpoints.\n- **WIP: Database Server** _(servers/database)_ - Query and inspect database schemas across common DB engines like PostgreSQL, MySQL, and SQLite.\n- **Memory \u0026 Knowledge Graph** _(servers/memory)_ - Persistent memory management and semantic knowledge querying using popular and reliable storage techniques.\n- **WIP: Web Search \u0026 Fetch** _(servers/web-search)_ - Retrieve and convert web-based content securely into structured API results usable by LLMs.\n\n(More examples and reference implementations will be actively developed and continually updated.)\n\n\n\u003e [!IMPORTANT]  \n\u003e 💡 Contribute Your Server!\n\u003e \n\u003e We strongly encourage the community to contribute their own OpenAPI tool server examples! This is more important than it might seem: The world doesn’t need another closed protocol or proprietary format gatekeeping innovation—we need clearly defined, open, and composable APIs backed by open documentation and proven tools. OpenAPI is the future-proof foundation we can all build on—together.\n\u003e \n\u003e Let’s build an open ecosystem where every tool speaks the same language—yours.\n\n## 🔌 Bridge to MCP (Optional)\n\nFor the easiest way to expose your MCP tools as OpenAPI-compatible APIs, we recommend using [mcpo](https://github.com/open-webui/mcpo). This enables tool providers who initially implemented MCP servers to expose them effortlessly as standard OpenAPI-compatible APIs, ensuring existing MCP servers and resources remain accessible without additional hassle.\n\n**Quick Usage:**\n```bash\nuvx mcpo --port 8000 -- uvx mcp-server-time --local-timezone=America/New_York\n```\n\nAlternatively, we also provide a simple Python-based proxy server:\n\n**Example:**\n```bash\ncd servers/mcp-proxy\npip install -r requirements.txt\npython main.py --host 0.0.0.0 --port 8000 -- uvx mcp-server-time --local-timezone=America/New_York\n```\n\nBoth methods help bridge existing MCP servers with OpenAPI clients, removing transport and security complexities during integration or migration.\n\n## 📜 License\n\nLicensed under [MIT License](LICENSE).\n\n## 🌱 Open WebUI Community  \n\n- For general discussions, technical exchange, and announcements, visit our [Community Discussions](https://github.com/open-webui/openapi-servers/discussions) page.\n- Have ideas or feedback? Please open an issue!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-webui%2Fopenapi-servers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopen-webui%2Fopenapi-servers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-webui%2Fopenapi-servers/lists"}