Skip to main content
Glama

list_projects

Retrieve all active projects associated with a specific wallet address to manage development infrastructure and track ongoing work.

Instructions

List all active projects for a wallet address.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
walletYesWallet address (0x...) to list projects for

Implementation Reference

  • Handler function that makes a GET request to /v1/wallets/{wallet}/projects API endpoint, formats the response as a markdown table, and returns projects with their ID, name, tier, status, and expiration date.
    export async function handleListProjects(args: {
      wallet: string;
    }): Promise<{ content: Array<{ type: "text"; text: string }>; isError?: boolean }> {
      const wallet = args.wallet.toLowerCase();
    
      const res = await apiRequest(`/v1/wallets/${wallet}/projects`, {
        method: "GET",
      });
    
      if (!res.ok) return formatApiError(res, "listing projects");
    
      const body = res.body as {
        wallet: string;
        projects: Array<{
          id: string;
          name: string;
          tier: string;
          status: string;
          api_calls: number;
          storage_bytes: number;
          lease_expires_at: string;
          created_at: string;
        }>;
      };
    
      if (body.projects.length === 0) {
        return {
          content: [
            {
              type: "text",
              text: `## Projects for ${wallet}\n\n_No active projects found._`,
            },
          ],
        };
      }
    
      const lines = [
        `## Projects for ${wallet} (${body.projects.length})`,
        ``,
        `| ID | Name | Tier | Status | Expires |`,
        `|----|------|------|--------|---------|`,
      ];
    
      for (const p of body.projects) {
        lines.push(
          `| \`${p.id}\` | ${p.name} | ${p.tier} | ${p.status} | ${p.lease_expires_at} |`,
        );
      }
    
      return { content: [{ type: "text", text: lines.join("\n") }] };
    }
  • Input schema definition using Zod that validates the wallet parameter as a required string (expects 0x... format).
    export const listProjectsSchema = {
      wallet: z
        .string()
        .describe("Wallet address (0x...) to list projects for"),
    };
  • src/index.ts:296-301 (registration)
    Tool registration with MCP server defining the tool name as 'list_projects', description, schema, and async handler wrapper.
    server.tool(
      "list_projects",
      "List all active projects for a wallet address.",
      listProjectsSchema,
      async (args) => handleListProjects(args),
    );

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/kychee-com/run402'

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