Skip to main content
Glama

create_new_project

Create and save new QGIS projects by specifying file paths, enabling direct project setup within the GIS environment.

Instructions

Create a new project a save it

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYes

Implementation Reference

  • MCP tool handler for 'create_new_project' that proxies the request to the QGIS plugin server via socket command.
    @mcp.tool() def create_new_project(ctx: Context, path: str) -> str: """Create a new project a save it""" qgis = get_qgis_connection() result = qgis.send_command("create_new_project", {"path": path}) return json.dumps(result, indent=2)
  • Core QGIS handler implementing project creation: clears existing project, sets new filename, refreshes canvas, and saves the empty project.
    def create_new_project(self, path, **kwargs): """ Creates a new QGIS project and saves it at the specified path. If a project is already loaded, it clears it before creating the new one. :param project_path: Full path where the project will be saved (e.g., 'C:/path/to/project.qgz') """ project = QgsProject.instance() if project.fileName(): project.clear() project.setFileName(path) self.iface.mapCanvas().refresh() # Save the project if project.write(): return { "created": f"Project created and saved successfully at: {path}", "layer_count": len(project.mapLayers()) } else: raise Exception(f"Failed to save project to {path}")
  • Registration of the create_new_project handler in the plugin's command handlers dictionary used by execute_command.
    handlers = { "ping": self.ping, "get_qgis_info": self.get_qgis_info, "load_project": self.load_project, "get_project_info": self.get_project_info, "execute_code": self.execute_code, "add_vector_layer": self.add_vector_layer, "add_raster_layer": self.add_raster_layer, "get_layers": self.get_layers, "remove_layer": self.remove_layer, "zoom_to_layer": self.zoom_to_layer, "get_layer_features": self.get_layer_features, "execute_processing": self.execute_processing, "save_project": self.save_project, "render_map": self.render_map, "create_new_project": self.create_new_project, }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/syauqi-uqi/qgis_mcp_modify1'

If you have feedback or need assistance with the MCP directory API, please join our Discord server