mirror of
				https://github.com/open-webui/mcpo
				synced 2025-06-26 18:26:58 +00:00 
			
		
		
		
	Merge pull request #38 from open-webui/dev
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				Release / release (push) Has been cancelled
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	Release / release (push) Has been cancelled
				
			0.0.8
This commit is contained in:
		
						commit
						f1b5fbd52c
					
				| @ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. | ||||
| The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), | ||||
| and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). | ||||
| 
 | ||||
| ## [0.0.8] - 2025-04-03 | ||||
| 
 | ||||
| ### Added | ||||
| 
 | ||||
| - 🔒 **SSL Support via '--ssl-certfile' and '--ssl-keyfile'**: Easily enable HTTPS for your mcpo servers by passing certificate and key files—ideal for securing deployments in production, enabling encrypted communication between clients (e.g. browsers, AI agents) and your MCP tools without external proxies. | ||||
| 
 | ||||
| ## [0.0.7] - 2025-04-03 | ||||
| 
 | ||||
| ### Added | ||||
|  | ||||
| @ -48,6 +48,8 @@ uvx mcpo --port 8000 --api-key "top-secret" -- uvx mcp-server-time --local-timez | ||||
| 
 | ||||
| That’s it. Your MCP tool is now available at http://localhost:8000 with a generated OpenAPI schema — test it live at [http://localhost:8000/docs](http://localhost:8000/docs). | ||||
| 
 | ||||
| 🤝 **To integrate with Open WebUI after launching the server, check our [docs](https://docs.openwebui.com/openapi-servers/open-webui/).** | ||||
| 
 | ||||
| ### 🔄 Using a Config File | ||||
| 
 | ||||
| You can serve multiple MCP tools via a single config file that follows the [Claude Desktop](https://modelcontextprotocol.io/quickstart/user) format: | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| [project] | ||||
| name = "mcpo" | ||||
| version = "0.0.7" | ||||
| version = "0.0.8" | ||||
| description = "A simple, secure MCP-to-OpenAPI proxy server" | ||||
| authors = [ | ||||
|     { name = "Timothy Jaeryang Baek", email = "tim@openwebui.com" } | ||||
|  | ||||
| @ -41,6 +41,12 @@ def main( | ||||
|     version: Annotated[ | ||||
|         Optional[str], typer.Option("--version", "-v", help="Server version") | ||||
|     ] = None, | ||||
|     ssl_certfile: Annotated[ | ||||
|         Optional[str], typer.Option("--ssl-certfile", "-t", help="SSL certfile") | ||||
|     ] = None, | ||||
|     ssl_keyfile: Annotated[ | ||||
|         Optional[str], typer.Option("--ssl-keyfile", "-k",  help="SSL keyfile") | ||||
|     ] = None, | ||||
| ): | ||||
|     server_command = None | ||||
|     if not config: | ||||
| @ -87,6 +93,8 @@ def main( | ||||
|             description=description, | ||||
|             version=version, | ||||
|             server_command=server_command, | ||||
|             ssl_certfile=ssl_certfile, | ||||
|             ssl_keyfile=ssl_keyfile, | ||||
|         ) | ||||
|     ) | ||||
| 
 | ||||
|  | ||||
| @ -157,9 +157,11 @@ async def run( | ||||
|         kwargs.get("description") or "Automatically generated API from MCP Tool Schemas" | ||||
|     ) | ||||
|     version = kwargs.get("version") or "1.0" | ||||
|     ssl_certfile = kwargs.get("ssl_certfile") | ||||
|     ssl_keyfile= kwargs.get("ssl_keyfile") | ||||
| 
 | ||||
|     main_app = FastAPI( | ||||
|         title=name, description=description, version=version, lifespan=lifespan | ||||
|         title=name, description=description, version=version, ssl_certfile=ssl_certfile, ssl_keyfile=ssl_keyfile, lifespan=lifespan | ||||
|     ) | ||||
| 
 | ||||
|     main_app.add_middleware( | ||||
| @ -212,7 +214,7 @@ async def run( | ||||
|     else: | ||||
|         raise ValueError("You must provide either server_command or config.") | ||||
| 
 | ||||
|     config = uvicorn.Config(app=main_app, host=host, port=port, log_level="info") | ||||
|     config = uvicorn.Config(app=main_app, host=host, port=port, ssl_certfile=ssl_certfile , ssl_keyfile=ssl_keyfile ,log_level="info") | ||||
|     server = uvicorn.Server(config) | ||||
| 
 | ||||
|     await server.serve() | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user