Skip to main content
Glama
jamesbrink

MCP Server for Coroot

create_project

Create a new Coroot project with a specified name to organize and monitor application performance metrics, logs, and infrastructure data.

Instructions

Create a new project.

Creates a new Coroot project with the specified name. The name must contain only lowercase letters, numbers, and hyphens.

Args: name: Project name (must match ^a-z0-9?$)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes

Implementation Reference

  • MCP tool handler for create_project: decorated with @mcp.tool(), calls the impl function, includes schema in docstring and type annotations.
    @mcp.tool()
    async def create_project(name: str) -> dict[str, Any]:
        """Create a new project.
    
        Creates a new Coroot project with the specified name.
        The name must contain only lowercase letters, numbers, and hyphens.
    
        Args:
            name: Project name (must match ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$)
        """
        return await create_project_impl(name)  # type: ignore[no-any-return]
  • Implementation helper that wraps the client call and formats the response.
    @handle_errors
    async def create_project_impl(name: str) -> dict[str, Any]:
        """Create a new project."""
        project = await get_client().create_project(name)
        return {
            "success": True,
            "message": "Project created successfully",
            "project": project,
        }
  • CorootClient method that performs the actual HTTP POST to create the project.
    async def create_project(self, name: str) -> dict[str, Any]:
        """Create a new project.
    
        Args:
            name: Project name (must match ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$).
    
        Returns:
            Created project information.
        """
        data = {"name": name}
        response = await self._request("POST", "/api/project/", json=data)
    
        # Handle different response types
        try:
            if response.headers.get("content-type", "").startswith("application/json"):
                result: dict[str, Any] = response.json()
                return result
            else:
                # If not JSON, return a success indicator with the name
                return {"id": name, "name": name}
        except Exception:
            # If parsing fails, return minimal success response
            return {"id": name, "name": name}

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/jamesbrink/mcp-coroot'

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