Skip to main content
Glama
Attacktive

claude-projects-mcp-server

by Attacktive

list_documents

Read-only

Lists text documents and uploaded files in a project, reports knowledge size against thresholds, and flags duplicate file names.

Instructions

List the text documents in a project, and under uploaded_files the files uploaded through the web UI, such as PDFs, which count toward knowledge but are not documents: pull_documents copies them and delete_project backs them up, but nothing here can write or compact them. knowledge reports the project's size against its search threshold and its maximum. duplicate_file_names flags names held by more than one document, which happens when a save is interrupted; the next write_document with overwrite=true cleans them up. Relay any warning in the result to the user verbatim.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior5/5

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

Even though readOnlyHint=true already signals safety, the description adds substantial behavioral detail: uploaded_files count toward knowledge but are not documents, nothing here can write or compact them, duplicate_file_names appears after interrupted saves, and warnings must be relayed to the user verbatim. This goes well beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a dense, run-on paragraph with multiple nested clauses, colons, and asides. While informative, it is not concise or well-structured; key points such as warning relay and duplicate_file_names are packed into the middle and end rather than cleanly front-loaded.

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 does a good job of describing important result fields: uploaded_files, knowledge, duplicate_file_names, and warning. It also explains relationships to other tools. It is not exhaustive about the document object structure, but it provides enough context for an agent to call and interpret the tool correctly.

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%, and the only parameter, project_id, is never described beyond the generic phrase 'in a project'. The description does not compensate for the missing schema documentation with any format, source, or usage details for the parameter.

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?

The description opens with a specific verb and resource: 'List the text documents in a project'. It further distinguishes itself from siblings by clarifying that uploaded_files are not documents baseline, that pull_documents copies them, and that write_document handles duplicate cleanup.

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?

The description gives clear context and exclusions: 'nothing here can write or compact them', pull_documents copies uploaded files, delete_project backs them up, and write_document with overwrite=true cleans duplicates. It does not explicitly say 'use this when you need to enumerate documents', but the alternative behaviors are clearly attributed.

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