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. Dates show when Glama detected each change.

  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.

TDQS

A3.8/5.0
Disambiguation4/5

Most tools target a distinct resource and action, and the descriptions carefully cross-reference close alternatives (e.g., add_article_suggestion vs create_article_suggestion_with_input vs accept_idea). A few brief/read variants like get_article_brief, get_write_handoff, and download_brief_markdown could still be confused despite helpful explanations, so the set is not perfectly unambiguous.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun snake_case pattern throughout: get_*, list_*, create_*, update_*, set_*, add_*, delete_*, start_*, expand_*, etc. Even the less common names like lint_draft and remap_asset are still clear verb_noun constructions.

Tool Count1/5

At 57 tools, this far exceeds the 50+ extreme threshold for a single MCP server. Even for a broad content workflow, the surface is overwhelming and would benefit from consolidation or splitting into focused servers.

Completeness4/5

The tool set covers the full content lifecycle: project setup, research runs, opportunity clustering, suggestion creation, brief generation, drafting, linting, publishing, reporting, and account management. Minor gaps exist—destinations and projects cannot be deleted via MCP, and there is no direct update for article suggestion metadata—but these are workable via the web UI or existing tools.

Resources