Skip to main content
Glama

Get project insights

get_project_insights
Read-onlyIdempotent

Get a project-level summary of recorded experiences, covering activation, engagement, reuse, outcomes, efficiency trends, and alerts. Use to assess OpenReflex's performance in a project.

Instructions

Summarize what OpenReflex has recorded and learned in this project. Returns: structured activation, engagement, experience reuse, outcomes, observational efficiency with and without prior experience, path-comparison trends, routing agreement, live alerts, execution-control metrics and lesson count. Efficiency comparisons are observational and are not presented as causal evidence. Use when: the user asks how OpenReflex is doing in this project or a program needs project-level metrics. Not for: individual past tasks (use search_experience). Side effects: none; read-only. Errors: an MCP error is returned until the project is approved.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
lessonsYesNumber of extracted lessons retained in this project.
projectYesLocal project path represented by this Experience Graph.
routingYesRecommendation agreement with retrospective realised performance.
outcomesYesKnown and verified outcome coverage.
activationYesActivation and first-use metrics.
engagementYesCapture and usage volume.
path_checkYesSimple evidence-backed path comparison counts.
live_alertsYesCounts of loop, repetition, stagnation, context and budget alerts.
experience_reuseYesHow often prior experience was reused.
execution_controlYesRuntime verdict and budget-adherence metrics.
efficiency_observationalYesObserved efficiency with versus without reused experience; this is not a controlled comparison.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed15 schema fields changedv0.5.1
    • addedOutput schema / $defs
      Added value: +{
      +  "ActivationMetrics": {
      +    "properties": {
      +      "approved_at": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Unix timestamp when capture was approved for this project.",
      +        "title": "Approved At"
      +      },
      +      "first_session_captured": {
      +        "anyOf": [
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Whether the first observed session produced an experience.",
      +        "title": "First Session Captured"
      +      },
      +      "seconds_to_first_task": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Seconds from approval to the first captured task.",
      +        "title": "Seconds To First Task"
      +      }
      +    },
      +    "required": [
      +      "approved_at",
      +      "seconds_to_first_task",
      +      "first_session_captured"
      +    ],
      +    "title": "ActivationMetrics",
      +    "type": "object"
      +  },
      +  "EfficiencyObservational": {
      +    "properties": {
      +      "model_token_change": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Relative mean model-token change when real telemetry exists; observational, not causal.",
      +        "title": "Model Token Change"
      +      },
      +      "time_change": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Relative mean active-time change; observational, not causal.",
      +        "title": "Time Change"
      +      },
      +      "tool_call_change": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Relative mean tool-call change; observational, not causal.",
      +        "title": "Tool Call Change"
      +      },
      +      "with_prior_experience": {
      +        "$ref": "#/$defs/EfficiencyProfile",
      +        "description": "Observed metrics for tasks that reused prior experience."
      +      },
      +      "without_prior_experience": {
      +        "$ref": "#/$defs/EfficiencyProfile",
      +        "description": "Observed metrics for tasks without prior experience."
      +      }
      +    },
      +    "required": [
      +      "with_prior_experience",
      +      "without_prior_experience",
      +      "tool_call_change",
      +      "model_token_change",
      +      "time_change"
      +    ],
      +    "title": "EfficiencyObservational",
      +    "type": "object"
      +  },
      +  "EfficiencyProfile": {
      +    "properties": {
      +      "known_outcomes": {
      +        "description": "Number of known outcomes in the group.",
      +        "minimum": 0,
      +        "title": "Known Outcomes",
      +        "type": "integer"
      +      },
      +      "minutes": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Mean active execution time in minutes.",
      +        "title": "Minutes"
      +      },
      +      "model_tokens": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Mean real model-token usage when Claude telemetry is available.",
      +        "title": "Model Tokens"
      +      },
      +      "n": {
      +        "description": "Number of experiences in this observational group.",
      +        "minimum": 0,
      +        "title": "N",
      +        "type": "integer"
      +      },
      +      "success_rate": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Success rate among known outcomes in the group.",
      +        "title": "Success Rate"
      +      },
      +      "tool_calls": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Mean tool calls in the group.",
      +        "title": "Tool Calls"
      +      },
      +      "tool_output_tokens_estimate": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Mean legacy estimate of tool-output tokens.",
      +        "title": "Tool Output Tokens Estimate"
      +      }
      +    },
      +    "required": [
      +      "n",
      +      "tool_calls",
      +      "model_tokens",
      +      "tool_output_tokens_estimate",
      +      "minutes",
      +      "success_rate",
      +      "known_outcomes"
      +    ],
      +    "title": "EfficiencyProfile",
      +    "type": "object"
      +  },
      +  "EngagementMetrics": {
      +    "properties": {
      +      "active_week_ratio": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Share of elapsed weeks containing activity.",
      +        "title": "Active Week Ratio"
      +      },
      +      "active_weeks": {
      +        "description": "Distinct weeks containing captured executions.",
      +        "minimum": 0,
      +        "title": "Active Weeks",
      +        "type": "integer"
      +      },
      +      "agents": {
      +        "description": "Agents observed in this project.",
      +        "items": {
      +          "type": "string"
      +        },
      +        "title": "Agents",
      +        "type": "array"
      +      },
      +      "executions": {
      +        "description": "Total execution records.",
      +        "minimum": 0,
      +        "title": "Executions",
      +        "type": "integer"
      +      },
      +      "experiences": {
      +        "description": "Completed executions retained as reusable experiences.",
      +        "minimum": 0,
      +        "title": "Experiences",
      +        "type": "integer"
      +      },
      +      "substantial_tasks": {
      +        "description": "Tasks eligible for planning and experience retrieval.",
      +        "minimum": 0,
      +        "title": "Substantial Tasks",
      +        "type": "integer"
      +      },
      +      "tasks": {
      +        "description": "Total captured tasks, including non-substantial tasks.",
      +        "minimum": 0,
      +        "title": "Tasks",
      +        "type": "integer"
      +      },
      +      "weeks_since_start": {
      +        "description": "Weeks elapsed since activation or first task.",
      +        "minimum": 1,
      +        "title": "Weeks Since Start",
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "tasks",
      +      "substantial_tasks",
      +      "executions",
      +      "experiences",
      +      "active_weeks",
      +      "weeks_since_start",
      +      "active_week_ratio",
      +      "agents"
      +    ],
      +    "title": "EngagementMetrics",
      +    "type": "object"
      +  },
      +  "ExecutionControlMetrics": {
      +    "properties": {
      +      "success_after_pivot_or_stop": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Observed success rate after pivot/stop advice; not causal.",
      +        "title": "Success After Pivot Or Stop"
      +      },
      +      "tasks_within_tool_call_budget": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Share of measured tasks finishing within the tool-call budget.",
      +        "title": "Tasks Within Tool Call Budget"
      +      },
      +      "verdicts": {
      +        "additionalProperties": {
      +          "type": "integer"
      +        },
      +        "description": "Counts of runtime continue, pivot and stop verdicts.",
      +        "title": "Verdicts",
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "verdicts",
      +      "success_after_pivot_or_stop",
      +      "tasks_within_tool_call_budget"
      +    ],
      +    "title": "ExecutionControlMetrics",
      +    "type": "object"
      +  },
      +  "ExperienceReuseMetrics": {
      +    "properties": {
      +      "benefit_rate": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Deprecated compatibility alias of reuse_rate; it does not measure causal benefit.",
      +        "title": "Benefit Rate"
      +      },
      +      "reuse_rate": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Share of substantial tasks that received relevant prior experience; this measures coverage, not benefit.",
      +        "title": "Reuse Rate"
      +      },
      +      "tasks_with_prior_experience": {
      +        "description": "Number of substantial tasks that received prior experience.",
      +        "minimum": 0,
      +        "title": "Tasks With Prior Experience",
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "reuse_rate",
      +      "benefit_rate",
      +      "tasks_with_prior_experience"
      +    ],
      +    "title": "ExperienceReuseMetrics",
      +    "type": "object"
      +  },
      +  "OutcomeMetrics": {
      +    "properties": {
      +      "known": {
      +        "description": "Experiences whose outcome is success or failure rather than unknown.",
      +        "minimum": 0,
      +        "title": "Known",
      +        "type": "integer"
      +      },
      +      "success_rate": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Success rate among experiences with known outcomes.",
      +        "title": "Success Rate"
      +      },
      +      "verified": {
      +        "description": "Outcomes explicitly verified by the agent or user.",
      +        "minimum": 0,
      +        "title": "Verified",
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "known",
      +      "verified",
      +      "success_rate"
      +    ],
      +    "title": "OutcomeMetrics",
      +    "type": "object"
      +  },
      +  "PathCheckMetrics": {
      +    "properties": {
      +      "better_option_found": {
      +        "description": "Tasks where comparable past evidence indicated a better option.",
      +        "minimum": 0,
      +        "title": "Better Option Found",
      +        "type": "integer"
      +      },
      +      "by_class": {
      +        "additionalProperties": {
      +          "type": "integer"
      +        },
      +        "description": "Number of evidence-backed path checks by task class.",
      +        "title": "By Class",
      +        "type": "object"
      +      },
      +      "comparisons": {
      +        "description": "Completed tasks with enough comparable past evidence to check another path.",
      +        "minimum": 0,
      +        "title": "Comparisons",
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "comparisons",
      +      "better_option_found",
      +      "by_class"
      +    ],
      +    "title": "PathCheckMetrics",
      +    "type": "object"
      +  },
      +  "RoutingMetrics": {
      +    "properties": {
      +      "agreement": {
      +        "anyOf": [
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Share of comparable executions where the recommendation matched retrospective best.",
      +        "title": "Agreement"
      +      },
      +      "compared_executions": {
      +        "description": "Number of executions eligible for routing-agreement comparison.",
      +        "minimum": 0,
      +        "title": "Compared Executions",
      +        "type": "integer"
      +      },
      +      "retrospective_best": {
      +        "additionalProperties": {
      +          "type": "string"
      +        },
      +        "description": "Best realised strategy per task class when enough evidence exists.",
      +        "title": "Retrospective Best",
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "retrospective_best",
      +      "agreement",
      +      "compared_executions"
      +    ],
      +    "title": "RoutingMetrics",
      +    "type": "object"
      +  }
      +}
    • addedOutput schema / properties / activation
      Added value: +{
      +  "$ref": "#/$defs/ActivationMetrics",
      +  "description": "Activation and first-use metrics."
      +}
    • addedOutput schema / properties / efficiency_observational
      Added value: +{
      +  "$ref": "#/$defs/EfficiencyObservational",
      +  "description": "Observed efficiency with versus without reused experience; this is not a controlled comparison."
      +}
    • addedOutput schema / properties / engagement
      Added value: +{
      +  "$ref": "#/$defs/EngagementMetrics",
      +  "description": "Capture and usage volume."
      +}
    • addedOutput schema / properties / execution_control
      Added value: +{
      +  "$ref": "#/$defs/ExecutionControlMetrics",
      +  "description": "Runtime verdict and budget-adherence metrics."
      +}
    • addedOutput schema / properties / experience_reuse
      Added value: +{
      +  "$ref": "#/$defs/ExperienceReuseMetrics",
      +  "description": "How often prior experience was reused."
      +}
    • addedOutput schema / properties / lessons
      Added value: +{
      +  "description": "Number of extracted lessons retained in this project.",
      +  "minimum": 0,
      +  "title": "Lessons",
      +  "type": "integer"
      +}
    • addedOutput schema / properties / live_alerts
      Added value: +{
      +  "additionalProperties": {
      +    "type": "integer"
      +  },
      +  "description": "Counts of loop, repetition, stagnation, context and budget alerts.",
      +  "title": "Live Alerts",
      +  "type": "object"
      +}
    • addedOutput schema / properties / outcomes
      Added value: +{
      +  "$ref": "#/$defs/OutcomeMetrics",
      +  "description": "Known and verified outcome coverage."
      +}
    • addedOutput schema / properties / path_check
      Added value: +{
      +  "$ref": "#/$defs/PathCheckMetrics",
      +  "description": "Simple evidence-backed path comparison counts."
      +}
    • addedOutput schema / properties / project
      Added value: +{
      +  "description": "Local project path represented by this Experience Graph.",
      +  "title": "Project",
      +  "type": "string"
      +}
    • removedOutput schema / properties / result
      Removed value: -{
      -  "title": "Result",
      -  "type": "string"
      -}
    • addedOutput schema / properties / routing
      Added value: +{
      +  "$ref": "#/$defs/RoutingMetrics",
      +  "description": "Recommendation agreement with retrospective realised performance."
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "result"
      -]New value: +[
      +  "project",
      +  "activation",
      +  "engagement",
      +  "experience_reuse",
      +  "outcomes",
      +  "efficiency_observational",
      +  "path_check",
      +  "routing",
      +  "live_alerts",
      +  "execution_control",
      +  "lessons"
      +]
    • changedOutput schema / title
      Previous value: -"get_project_insightsOutput"New value: +"ProjectInsightsResult"
  2. Addedv0.3.2

TDQS

A4.9/5.0
Behavior5/5

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

Description adds the causal caveat ('observational and not presented as causal evidence') and a project-approval precondition that triggers an MCP error. These are useful behaviors beyond the readOnlyHint/idempotentHint/destructiveHint annotations. No contradiction.

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?

Structured with labeled sections (Returns, Use when, Not for, Side effects, Errors) and every sentence adds value. The return list is long but directly informs the caller of what the tool provides.

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

Completeness5/5

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

For a no-parameter read-only tool with an output schema, the description covers purpose, return contents, causal limitation, failure mode, and side effects. Nothing an agent needs for correct invocation is missing.

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

Parameters4/5

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

Tool has zero parameters and schema coverage is 100%. Baseline 4 applies; no parameter explanation needed. The description focuses on output and usage, which is appropriate.

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

Purpose5/5

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

States a specific verb (Summarize) and resource (project insights/OpenReflex project record). Explicitly excludes individual past tasks and points to search_experience as the alternative, distinguishing a sibling. The listed return metrics further clarify scope.

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

Usage Guidelines5/5

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

Gives explicit 'Use when' conditions (user asks how OpenReflex is doing; program needs project-level metrics) and an explicit 'Not for' with a named alternative (search_experience). This fully covers when and when-not.

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