Skip to main content
Glama

maasy_get_daily_summary

Retrieve a daily summary of operations covering recent events, items needing attention, and suggested actions for a brand project.

Instructions

Today's operations summary: what happened, what needs attention, recommended actions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_idNoBrand UUID

Implementation Reference

  • src/index.ts:272-277 (registration)
    Registration of the 'maasy_get_daily_summary' MCP tool. Defines name, description, schema (optional project_id), and links to the handler 'get_daily_summary'.
    server.tool(
      "maasy_get_daily_summary",
      "Today's operations summary: what happened, what needs attention, recommended actions.",
      { project_id: z.string().optional().describe("Brand UUID") },
      toolHandler("get_daily_summary")
    );
  • Input schema for the tool: one optional string parameter 'project_id' (the Brand UUID). Zod validation.
    { project_id: z.string().optional().describe("Brand UUID") },
  • Generic toolHandler wrapper. For 'maasy_get_daily_summary', it calls callGateway('get_daily_summary', args) which delegates to the Supabase edge function 'mcp-gateway'.
    function toolHandler(toolName: string, argsFn?: (args: Record<string, unknown>) => Record<string, unknown>) {
      return async (args: Record<string, unknown>) => {
        try {
          const gatewayArgs = argsFn ? argsFn(args) : args;
          // Auto-inject default project_id if not provided
          if (DEFAULT_PROJECT_ID && !gatewayArgs.project_id) {
            gatewayArgs.project_id = DEFAULT_PROJECT_ID;
          }
          const result = await callGateway(toolName, gatewayArgs);
          return { content: [{ type: "text" as const, text: JSON.stringify(result, null, 2) }] };
        } catch (e: unknown) {
          return {
            content: [{ type: "text" as const, text: `Error: ${e instanceof Error ? e.message : String(e)}` }],
            isError: true,
          };
        }
      };
    }
  • Helper that performs the actual HTTP call to the Supabase edge function. Sends { tool: 'get_daily_summary', args } to the mcp-gateway endpoint.
    export async function callGateway(tool: string, args: Record<string, unknown> = {}): Promise<unknown> {
      const res = await fetch(gatewayUrl, {
        method: "POST",
        headers: {
          "Content-Type": "application/json",
          [authHeader.name]: authHeader.value,
        },
        body: JSON.stringify({ tool, args }),
      });
    
      const data = await res.json();
    
      if (!res.ok) {
        throw new Error(data.error || `Gateway error (${res.status})`);
      }
    
      return data.result;
    }

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.3.1

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does not state whether the operation is read-only, what happens if project_id is omitted, whether results are cached, or what the response structure looks like. The content list (what happened, needs attention, actions) provides some semantic output expectation but insufficient behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the core purpose ('Today's operations summary') and immediately follows with the key content categories. Every phrase earns its place; no redundancy or irrelevant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has only one optional parameter, no output schema, and no annotations, the description provides a minimal but adequate outline of the returned summary. However, it lacks guidance on how the optional project_id is used, whether the summary is scoped to a brand, or any prerequisites. For a tool with many sibling summary tools, more contextual differentiation would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides 100% coverage for the single parameter (project_id as 'Brand UUID'), so the description does not need to repeat it. However, the description also adds no additional meaning about how project_id affects the summary (e.g., filtering by brand, required vs optional), so it neither enhances nor compensates beyond the schema baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly indicates this tool provides a daily operations summary with three specific content areas: what happened, what needs attention, and recommended actions. It uses the resource 'daily summary' which is distinct from sibling tools like get_crm_summary or get_content_pipeline, but it does not explicitly name or differentiate from those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus other summary tools like get_campaign_metrics or get_alerts. There is no mention of prerequisites, intended use cases, or exclusions, leaving the agent to infer from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.