Skip to main content
Glama

project_list

List and filter projects within an organization to track progress and manage hierarchical structures for technical project management.

Instructions

PROJECT MANAGEMENT: List projects in an organization.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
org_idNoFilter by organization ID (case-insensitive)

Implementation Reference

  • Registers the 'project_list' tool with the MCP server, defining its name, description, and input schema (optional org_id filter).
    Tool(
        name="project_list",
        description="PROJECT MANAGEMENT: List projects in an organization.",
        inputSchema={
            "type": "object",
            "properties": {
                "org_id": {"type": "string", "description": "Filter by organization ID (case-insensitive)"}
            },
        },
    ),
  • Tool handler in _handle_tool: retrieves projects using db.list_projects (filtered by org_id if provided), serializes to JSON, and returns.
    if name == "project_list":
        projects = db.list_projects(args.get("org_id"))
        return _json([p.model_dump() for p in projects])
  • Core implementation in TrackerDB: queries projects table (optionally filtered case-insensitively by org_id), maps rows to Project models.
    def list_projects(self, org_id: str | None = None) -> list[Project]:
        if org_id:
            org_id = self._normalize_id(org_id)
            rows = self.conn.execute(
                "SELECT * FROM projects WHERE LOWER(org_id) = ? ORDER BY name", (org_id,)
            ).fetchall()
        else:
            rows = self.conn.execute("SELECT * FROM projects ORDER BY name").fetchall()
        return [
            Project(
                id=r["id"],
                org_id=r["org_id"],
                name=r["name"],
                repo_path=r["repo_path"],
                description=r["description"],
                created_at=datetime.fromisoformat(r["created_at"]),
            )
            for r in rows
        ]
  • Pydantic model for Project used in output serialization (model_dump() produces the JSON response structure).
    class Project(BaseModel):
        id: str
        org_id: str
        name: str
        repo_path: str | None = None
        description: str | None = None
        created_at: datetime

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/urjitbhatia/tpm-mcp'

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