Skip to main content
Glama

VarynForge

List projects

list_projects
Read-only

List all projects for the authenticated operator — paginated, sortable by createdAt, niche, or industry. name is the canonical project name (operator-set, falling back to site brand then niche name) — match operator references against it; niche.name is the market niche, distinct metadata. lastActivityAt is the most recent change to the project or any of its content pieces — when the operator says "my project" without naming one, the highest lastActivityAt is the right pick.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitYes
cursorNo
contextYesOne sentence: what is the operator trying to achieve right now? Describe their goal, not this tool's purpose.
sortingNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / context
      Added value: +{
      +  "description": "One sentence: what is the operator trying to achieve right now? Describe their goal, not this tool's purpose.",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "limit"
      -]New value: +[
      +  "limit",
      +  "context"
      +]
  2. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already carry readOnlyHint=true, and the description adds meaningful behavior beyond it: pagination semantics, the `name` fallback chain (operator-set → site brand → niche name), the distinction of niche.name as metadata, and the precise definition of lastActivityAt ('most recent change to the project or any of its content pieces'). No contradiction with annotations.

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?

Three sentences, each earning its place: purpose and scope are front-loaded first, then two agent-critical disambiguation rules. Dense but not bloated — no filler or repetition of schema content.

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?

With no output schema, the description partially covers return semantics through name, niche.name, and lastActivityAt — exactly the fields an agent needs for project disambiguation. It lacks full return-shape and cursor-behavior detail, but for a read-only list tool with four parameters it is close to complete.

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?

Schema description coverage is low (25%, only `context` documented), so the description must compensate. It does map to the sorting.id enum (createdAt, niche, industry) and conveys pagination intent, but it leaves `cursor` mechanics entirely unexplained and adds nothing about the `context` parameter beyond the schema's own text.

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 ('List'), a precise resource ('all projects for the authenticated operator'), and scope modifiers ('paginated, sortable by createdAt, niche, or industry'). The disambiguation of `name` as the canonical project identity further separates it from siblings like get_project and create_project.

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

Usage Guidelines4/5

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

Provides strong interpretation guidance: match operator references against `name`, and when the operator says 'my project' without naming one, select the highest lastActivityAt. This gives clear context for using the tool's output, though it does not explicitly name exclusions or alternatives such as get_project for a single named project.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources