From 4ec80f898936d2c5457b7821c0381febf1c704e8 Mon Sep 17 00:00:00 2001 From: YueGuobin Date: Wed, 10 Jun 2026 23:32:27 +0800 Subject: [PATCH] fix: Remove unsupported description param from project_create GNS3 REST API ProjectCreate schema does not have a description field. The parameter was silently ignored; now removed to avoid confusion. --- gns3server/api/routes/mcp/__init__.py | 3 --- gns3server/api/routes/mcp/projects.py | 5 +---- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/gns3server/api/routes/mcp/__init__.py b/gns3server/api/routes/mcp/__init__.py index 1523be18e..f2a23247a 100644 --- a/gns3server/api/routes/mcp/__init__.py +++ b/gns3server/api/routes/mcp/__init__.py @@ -257,12 +257,9 @@ async def project_get( @mcp.tool() async def project_create( name: Annotated[str, Field(description="Project name")], - description: Annotated[str, Field(description="Optional project description")] = "", ) -> list[dict[str, Any]]: """Create a new GNS3 project.""" params = {"name": name} - if description: - params["description"] = description return await asyncio.to_thread(_run_handler_sync, create_project_handler, params) diff --git a/gns3server/api/routes/mcp/projects.py b/gns3server/api/routes/mcp/projects.py index bcb348380..76478bf81 100644 --- a/gns3server/api/routes/mcp/projects.py +++ b/gns3server/api/routes/mcp/projects.py @@ -66,10 +66,7 @@ def create_project_handler(params: dict[str, Any], gns3_ctx: dict[str, Any]) -> if not name: return {"error": "name is required"} conn = _get_connector(gns3_ctx) - project_data = {"name": name} - if "description" in params: - project_data["description"] = params["description"] - return conn.http_call("post", f"{conn.base_url}/projects", json_data=project_data).json() + return conn.http_call("post", f"{conn.base_url}/projects", json_data={"name": name}).json() def delete_project_handler(params: dict[str, Any], gns3_ctx: dict[str, Any]) -> dict[str, Any]: