Skip to main content
Glama

get_jobs_stats

Retrieve aggregated statistics for agent jobs to monitor and analyze performance. Filter by organization, time range, job type, channel, tags, or status for efficient dashboard integration.

Instructions

Get aggregated statistics for agent jobs without retrieving individual job data. Optimized for dashboards and monitoring with minimal network overhead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
channel_codeNoChannel filter
created_at_gteNoFilter for jobs created at or after a specific time (ISO 8601).
created_at_lteNoFilter for jobs created at or before a specific time (ISO 8601).
job_type_idNoJob type filter
org_idNoFilter by organization ID.
scheduled_at_gteNoStart of period (ISO 8601)
scheduled_at_lteNoEnd of period (ISO 8601)
statusNoStatus filter
tagsNoTags filter (comma-separated)

Implementation Reference

  • The handler function for the get_jobs_stats tool. It invokes agentJobsClient.getStats(params), processes the stats and filters from the response meta, formats them using formatJobStats, and returns a text content result or an error message.
    async (params) => { mcpDebugger.toolCall("get_jobs_stats", params); try { const response = await withTiming( () => agentJobsClient.getStats(params), "get_jobs_stats API call" ); const stats = response.meta?.stats || {}; const filters = response.meta?.filters || {}; mcpDebugger.debug("Raw API response", { stats, filters }); const result = { content: [{ type: "text" as const, text: formatJobStats(stats, filters), }] }; mcpDebugger.toolResponse("get_jobs_stats", result); return result; } catch (error: any) { mcpDebugger.toolError("get_jobs_stats", error); return { content: [{ type: "text" as const, text: `Error getting job stats: ${error.message}`, }], }; }
  • Schema definitions including jobStatusSchema (Zod enum for job statuses) and the inputSchema object defining optional parameters for filtering job stats like org_id, date ranges, job_type_id, etc.
    const jobStatusSchema = z.enum([ "waiting", "scheduled", "running", "completed", "failed", "canceled" ]); export default (server: McpServer) => { server.registerTool( "get_jobs_stats", { description: "Get aggregated statistics for agent jobs without retrieving individual job data. Optimized for dashboards and monitoring with minimal network overhead.", annotations: { title: "Get Job Statistics" }, inputSchema: { org_id: z.string().optional().describe("Filter by organization ID."), scheduled_at_gte: flexibleDateTimeSchema.optional().describe("Start of period (ISO 8601)"), scheduled_at_lte: flexibleDateTimeSchema.optional().describe("End of period (ISO 8601)"), created_at_gte: flexibleDateTimeSchema.optional().describe("Filter for jobs created at or after a specific time (ISO 8601)."), created_at_lte: flexibleDateTimeSchema.optional().describe("Filter for jobs created at or before a specific time (ISO 8601)."), job_type_id: z.string().optional().describe("Job type filter"), channel_code: z.string().optional().describe("Channel filter"), tags: z.string().optional().describe("Tags filter (comma-separated)"), status: jobStatusSchema.optional().describe("Status filter"), }
  • Default export is a function that registers the 'get_jobs_stats' tool on the MCP server, specifying the tool name, description, annotations, input schema, and handler callback.
    export default (server: McpServer) => { server.registerTool( "get_jobs_stats", { description: "Get aggregated statistics for agent jobs without retrieving individual job data. Optimized for dashboards and monitoring with minimal network overhead.", annotations: { title: "Get Job Statistics" }, inputSchema: { org_id: z.string().optional().describe("Filter by organization ID."), scheduled_at_gte: flexibleDateTimeSchema.optional().describe("Start of period (ISO 8601)"), scheduled_at_lte: flexibleDateTimeSchema.optional().describe("End of period (ISO 8601)"), created_at_gte: flexibleDateTimeSchema.optional().describe("Filter for jobs created at or after a specific time (ISO 8601)."), created_at_lte: flexibleDateTimeSchema.optional().describe("Filter for jobs created at or before a specific time (ISO 8601)."), job_type_id: z.string().optional().describe("Job type filter"), channel_code: z.string().optional().describe("Channel filter"), tags: z.string().optional().describe("Tags filter (comma-separated)"), status: jobStatusSchema.optional().describe("Status filter"), } }, async (params) => { mcpDebugger.toolCall("get_jobs_stats", params); try { const response = await withTiming( () => agentJobsClient.getStats(params), "get_jobs_stats API call" ); const stats = response.meta?.stats || {}; const filters = response.meta?.filters || {}; mcpDebugger.debug("Raw API response", { stats, filters }); const result = { content: [{ type: "text" as const, text: formatJobStats(stats, filters), }] }; mcpDebugger.toolResponse("get_jobs_stats", result); return result; } catch (error: any) { mcpDebugger.toolError("get_jobs_stats", error); return { content: [{ type: "text" as const, text: `Error getting job stats: ${error.message}`, }], }; } } ); }

Other Tools

Related Tools

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/aiconnect-cloud/agentjobs-mcp'

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