Skip to main content
Glama

project_detect

Detects a project's language, framework, and package manager by inspecting its manifest files, helping AI agents understand the repository before taking action.

Instructions

Detect a project's language, framework, and package manager by inspecting its manifest files.

Input Schema

NameRequiredDescriptionDefault
repo_pathYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.5.3

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description does some work by disclosing the mechanism (inspecting manifest files), which implies a read-only filesystem operation. However it says nothing about behavior when no manifest is found, whether it recurses into subdirectories, how multiple language signals are resolved, or what form the result takes.

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?

One sentence, no filler, and the output of the operation (language/framework/package manager) is front-loaded before the mechanism. Nothing could be removed without losing information.

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

Completeness4/5

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

There is no output schema and no annotations, but a single-parameter detection tool needs little more than this: the description tells the agent what it produces and how. The remaining gap is the shape of the return value (a single detected stack vs. multiple candidates) and fallback behavior on undetectable projects.

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

Parameters2/5

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

Schema description coverage is 0% for the single parameter 'repo_path', and the description never mentions it — it only says 'a project's ... manifest files'. It does not clarify whether repo_path is an absolute filesystem path, a relative path, or a repository identifier, which is a meaningful ambiguity for a required argument.

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 ('Detect') plus the exact resources produced (language, framework, package manager) and the mechanism (manifest file inspection). This clearly separates it from adjacent siblings like project_info and project_health, which describe rather than detect.

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

Usage Guidelines3/5

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

The purpose implies usage — call it when you need to know a project's stack — but there is no explicit 'use when' trigger, no mention of when to prefer project_info or project_health instead, and no prerequisites. The reader must infer the routing from the purpose sentence alone.

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