Skip to main content
Glama
cordlesssteve

Document Organizer MCP Server

File Converter MCP

CI/CD Pipeline npm version License: MIT

A Model Context Protocol (MCP) server that aggregates various file conversion tools for quick formatting and file type transformations.

Features

Supported Conversions

  • PDF to Markdown - Convert PDF documents to markdown format

  • Image Format Conversion - Transform between common image formats (PNG, JPG, WebP, etc.)

  • Document Conversion - Convert between document formats (DOCX, TXT, HTML, etc.)

  • Spreadsheet Conversion - Transform spreadsheet formats (CSV, XLSX, JSON, etc.)

  • Code Format Conversion - Convert between code formats and syntax highlighting

  • Archive Operations - Extract and create archive files (ZIP, TAR, etc.)

Conversion Engines

  • PDF Engine: marker (recommended) and pymupdf4llm support

  • Image Engine: Sharp and ImageMagick integration

  • Document Engine: Pandoc integration for broad format support

  • Archive Engine: Built-in Node.js compression libraries

Installation

npm install -g file-converter-mcp

Dependencies

Install conversion engines based on your needs:

# PDF conversion engines
pip install marker-pdf pymupdf4llm

# Image processing (choose one)
npm install sharp
# OR
brew install imagemagick  # macOS
apt-get install imagemagick  # Ubuntu

# Document conversion
brew install pandoc  # macOS
apt-get install pandoc  # Ubuntu

# Archive tools (usually pre-installed)
# zip, unzip, tar, gzip

Usage

MCP Configuration

Add to your MCP client configuration:

{
  "mcpServers": {
    "file-converter": {
      "command": "file-converter-mcp",
      "args": []
    }
  }
}

Available Tools

PDF Conversion

  • convert_pdf_to_markdown - Convert PDF files to Markdown

  • extract_pdf_text - Extract plain text from PDF files

  • extract_pdf_images - Extract images from PDF files

Image Conversion

  • convert_image_format - Convert between image formats

  • resize_image - Resize images with quality options

  • compress_image - Reduce image file size

Document Conversion

  • convert_document - Convert between document formats using Pandoc

  • extract_document_text - Extract text from various document formats

  • convert_markdown_to_html - Convert Markdown to HTML with styling

Spreadsheet Conversion

  • convert_csv_to_json - Convert CSV data to JSON format

  • convert_json_to_csv - Convert JSON data to CSV format

  • convert_xlsx_to_csv - Extract CSV data from Excel files

Archive Operations

  • create_archive - Create ZIP or TAR archives from files/folders

  • extract_archive - Extract contents from archive files

  • list_archive_contents - List files in archive without extracting

Utility Tools

  • detect_file_type - Identify file format and encoding

  • validate_conversion - Check if conversion is supported

  • batch_convert - Convert multiple files in one operation

Examples

Basic PDF Conversion

// Convert PDF to Markdown
await client.callTool("convert_pdf_to_markdown", {
  input_path: "/path/to/document.pdf",
  output_path: "/path/to/output.md",
  options: {
    engine: "marker",
    preserve_formatting: true
  }
});

Image Format Conversion

// Convert PNG to WebP with compression
await client.callTool("convert_image_format", {
  input_path: "/path/to/image.png",
  output_path: "/path/to/image.webp",
  options: {
    quality: 80,
    format: "webp"
  }
});

Document Conversion

// Convert DOCX to Markdown using Pandoc
await client.callTool("convert_document", {
  input_path: "/path/to/document.docx",
  output_path: "/path/to/document.md",
  options: {
    format: "markdown",
    preserve_styles: false
  }
});

Batch Operations

// Convert multiple files at once
await client.callTool("batch_convert", {
  input_directory: "/path/to/input/",
  output_directory: "/path/to/output/",
  conversions: [
    { from: "pdf", to: "markdown" },
    { from: "png", to: "webp" },
    { from: "docx", to: "txt" }
  ]
});

Configuration Options

Conversion Settings

interface ConversionOptions {
  engine?: string;                    // Conversion engine to use
  quality?: number;                   // Output quality (1-100)
  preserve_formatting?: boolean;      // Maintain original formatting
  output_format?: string;             // Specific output format
  compression_level?: number;         // Compression level (0-9)
  custom_options?: Record<string, any>; // Engine-specific options
}

Supported File Types

Input Formats

  • Documents: PDF, DOCX, DOC, RTF, TXT, HTML, XML

  • Images: PNG, JPG, JPEG, WebP, GIF, BMP, TIFF, SVG

  • Spreadsheets: CSV, XLSX, XLS, JSON, TSV

  • Archives: ZIP, TAR, GZ, 7Z, RAR (extract only)

  • Code: Various programming language files

Output Formats

  • Text: Markdown, HTML, TXT, RTF

  • Images: PNG, JPG, WebP, GIF, BMP

  • Data: JSON, CSV, XML, YAML

  • Archives: ZIP, TAR, GZ

Performance Considerations

  • Memory Usage: Large files are processed in chunks to prevent memory issues

  • Processing Speed: Different engines have different speed/quality tradeoffs

  • Batch Processing: More efficient for multiple file conversions

  • Caching: Converted files can be cached to avoid re-processing

Error Handling

The server provides comprehensive error handling:

  • Input file validation and format detection

  • Graceful fallback between conversion engines

  • Detailed error messages with suggested solutions

  • Progress tracking for long-running conversions

Development

# Clone repository
git clone https://github.com/cordlesssteve/file-converter-mcp.git
cd file-converter-mcp

# Install dependencies
npm install

# Build project
npm run build

# Run development mode
npm run dev

# Run tests
npm test

Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Add support for new file formats or conversion engines

  4. Add tests for new functionality

  5. Submit a pull request

License

MIT License - see LICENSE file for details.

Support

Available Tools

8 tools
analyze_contentC

Analyze markdown files to automatically determine document categories

ParametersJSON Schema
NameRequiredDescriptionDefault
directory_pathYesPath to directory containing markdown files

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool analyzes files to determine categories but doesn't describe how it behaves—e.g., whether it modifies files, requires specific permissions, handles errors, or returns results. For a tool with zero annotation coverage, this is a significant gap in transparency.

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?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded and appropriately sized, making it easy to understand quickly. Every part of the sentence contributes to clarifying the tool's function.

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

Completeness2/5

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

Given the complexity of analyzing files and determining categories, the description is incomplete. No annotations are provided, and there's no output schema, so the tool's behavior and return values are undocumented. The description doesn't address how results are presented, error handling, or operational constraints, leaving significant gaps for an AI agent to use it effectively.

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 100%, with one parameter ('directory_path') fully documented in the schema. The description adds no additional parameter semantics beyond what the schema provides, such as format details or constraints. With high schema coverage, the baseline score of 3 is appropriate as the description doesn't compensate but doesn't detract either.

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

Purpose4/5

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

The description clearly states the tool's purpose: 'Analyze markdown files to automatically determine document categories.' It specifies the verb ('analyze'), resource ('markdown files'), and outcome ('determine document categories'). However, it doesn't explicitly differentiate from sibling tools like 'organize_structure' or 'full_workflow', which might have overlapping functionality.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, exclusions, or compare it to sibling tools such as 'organize_structure' or 'full_workflow'. Usage is implied by the purpose but lacks explicit context for selection.

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

check_conversionsC

Analyze PDF collection to determine conversion status

ParametersJSON Schema
NameRequiredDescriptionDefault
directory_pathYesPath to directory containing PDF files

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions analysis but doesn't describe what the tool actually does (e.g., scans files, checks metadata, returns a report), whether it modifies files, requires specific permissions, or has any side effects. This leaves significant behavioral gaps.

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

Conciseness4/5

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

The description is a single, efficient sentence with no wasted words. It's appropriately sized for a simple tool, though it could be more front-loaded with key details to improve clarity.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'conversion status' entails, what the analysis outputs (e.g., a list, report, or status codes), or how it integrates with sibling tools, leaving the agent with insufficient context for effective use.

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 100%, so the schema already documents the 'directory_path' parameter fully. The description doesn't add any meaning beyond what the schema provides (e.g., it doesn't specify expected file formats, directory structure, or analysis scope), resulting in the baseline score.

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

Purpose3/5

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

The description states the action ('analyze PDF collection') and outcome ('determine conversion status'), which gives a general purpose. However, it doesn't specify what 'conversion status' means or how this differs from sibling tools like 'convert_missing' or 'discover_pdfs', making it somewhat vague.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'discover_pdfs' or 'convert_missing'. The description implies it analyzes PDFs for conversion status, but doesn't clarify if this is for pre-conversion assessment, post-conversion verification, or another context.

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

convert_missingB

Convert only PDFs that lack companion Markdown files

ParametersJSON Schema
NameRequiredDescriptionDefault
directory_pathYesPath to directory containing PDFs to convert

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions the tool converts PDFs, implying a mutation operation, but doesn't disclose behavioral traits such as whether it overwrites existing files, requires specific permissions, handles errors, or what the output format is. The description is minimal and lacks crucial operational details.

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?

The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It is front-loaded with the core action and condition, making it easy to understand quickly. Every part of the sentence contributes to the tool's purpose.

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

Completeness2/5

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

Given the complexity of a file conversion tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the conversion outputs (e.g., Markdown files), how it handles errors, or any prerequisites. For a mutation tool with minimal structured data, more detail is needed to ensure proper usage.

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?

The input schema has 100% description coverage, with the parameter 'directory_path' clearly documented. The description doesn't add any meaning beyond the schema, as it doesn't elaborate on the parameter's role or constraints. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

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

Purpose4/5

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

The description clearly states the tool's purpose: converting PDFs that lack companion Markdown files. It specifies the resource (PDFs) and the condition (missing Markdown files), though it doesn't explicitly mention the output format or how the conversion is performed. It distinguishes from 'convert_pdf' by focusing on missing Markdown files, but doesn't fully differentiate from other siblings like 'full_workflow' or 'init_project_docs'.

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 description implies usage when PDFs need conversion and Markdown files are absent, but doesn't explicitly state when to use this tool versus alternatives like 'convert_pdf' or 'full_workflow'. It provides some context by mentioning the condition (lack of companion Markdown files), but lacks clear exclusions or named alternatives.

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

convert_pdfB

Convert PDF files to Markdown format using marker (recommended) or pymupdf4llm

ParametersJSON Schema
NameRequiredDescriptionDefault
output_pathNoOptional path to write markdown output
pdf_pathYesAbsolute path to the PDF file to convert

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While it states the conversion action and mentions two libraries, it doesn't describe what happens during conversion (e.g., whether it preserves formatting, handles images/tables, or may fail on certain PDFs), what permissions are needed, whether it creates files or returns content, or any rate limits. The description is functional but lacks important behavioral context for a tool that performs file conversion.

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

Conciseness4/5

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

The description is a single, efficient sentence that gets straight to the point. It front-loads the core functionality ('Convert PDF files to Markdown format') and adds implementation detail without unnecessary elaboration. While very concise, it could potentially benefit from slightly more context about the tool's behavior.

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

Completeness2/5

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

For a file conversion tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what the tool returns (file path? markdown content? success status?), doesn't describe error conditions or limitations, and provides minimal behavioral context. Given the complexity of PDF conversion and the lack of structured metadata, the description should provide more complete operational guidance.

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 100%, so the schema already documents both parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain format requirements for paths, default behavior when output_path is omitted, or how the libraries handle different PDF types. The baseline score of 3 reflects adequate coverage through the schema alone.

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 clearly states the specific action ('Convert PDF files'), target resource ('PDF files'), and output format ('to Markdown format'). It distinguishes from siblings by specifying the conversion purpose and mentioning implementation methods ('using marker (recommended) or pymupdf4llm'), making it easy to differentiate from tools like 'analyze_content' or 'organize_structure'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. While it mentions two implementation methods, it doesn't specify when to choose one over the other, nor does it indicate when to use this tool versus sibling tools like 'convert_missing' or 'full_workflow'. There's no mention of prerequisites, constraints, or typical use cases.

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

discover_pdfsB

Recursively scan directory trees to locate all PDF files

ParametersJSON Schema
NameRequiredDescriptionDefault
directory_pathYesPath to directory to scan for PDF files
recursiveNoSearch subdirectories recursively

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the recursive nature of scanning, which is useful context, but fails to address critical behavioral aspects such as performance implications for large directories, error handling for invalid paths, permission requirements, or what the output format looks like (e.g., list of paths, metadata).

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?

The description is a single, efficient sentence that front-loads the core functionality ('recursively scan directory trees') followed by the objective ('locate all PDF files'). There is zero wasted language, making it highly concise and well-structured for quick understanding.

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

Completeness2/5

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

Given the complexity of a file system scanning tool with no annotations and no output schema, the description is incomplete. It lacks information on output format (e.g., list structure, error responses), performance considerations, and integration with sibling tools, leaving significant gaps for an AI agent to use it effectively in context.

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 100%, so the schema already fully documents both parameters ('directory_path' and 'recursive'). The description adds no additional parameter semantics beyond what's in the schema, such as path format examples or recursion depth limits, meeting the baseline for high schema coverage.

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 clearly states the specific action ('recursively scan directory trees') and resource ('locate all PDF files'), providing a complete picture of what the tool does. It distinguishes itself from sibling tools like 'analyze_content' or 'convert_pdf' by focusing on discovery rather than analysis or conversion.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. While it's clear this tool finds PDFs, there's no mention of when to use it instead of sibling tools like 'check_conversions' or 'organize_structure', nor any prerequisites or context for its application.

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

full_workflowC

Execute end-to-end document organization pipeline

ParametersJSON Schema
NameRequiredDescriptionDefault
directory_pathYesPath to directory to organize completely

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool executes a pipeline but doesn't reveal what that entails—whether it's read-only or destructive, if it requires specific permissions, what side effects occur, or how it handles errors. This leaves significant gaps for a tool named 'full_workflow'.

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?

The description is a single, efficient sentence that front-loads the core action ('Execute end-to-end document organization pipeline') with zero wasted words. It's appropriately sized for a tool with one parameter and clear scope.

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

Completeness2/5

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

Given the complexity implied by 'full_workflow' and the lack of annotations and output schema, the description is incomplete. It doesn't explain what the pipeline does, what it returns, or how it differs from siblings, leaving the agent with insufficient context for safe and effective use.

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 100%, with the parameter 'directory_path' documented as 'Path to directory to organize completely'. The description adds no additional meaning beyond this, such as format examples or constraints, so it meets the baseline of 3 where the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the verb 'execute' and the resource 'end-to-end document organization pipeline', providing a specific purpose. However, it doesn't explicitly distinguish this comprehensive pipeline from sibling tools like 'organize_structure' or 'init_project_docs', which might handle more specific aspects of document organization.

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

Usage Guidelines2/5

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

The description offers no guidance on when to use this tool versus alternatives like 'organize_structure' or 'init_project_docs'. It implies usage for complete directory organization but lacks explicit when/when-not instructions or prerequisites, leaving the agent to infer context from tool names alone.

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

init_project_docsC

Initialize Universal Project Documentation Standard structure

ParametersJSON Schema
NameRequiredDescriptionDefault
directory_pathYesPath to project directory to initialize
project_nameYesName of the project for templates
project_typeNoType of project (e.g., 'web-app', 'api', 'library')

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool initializes a structure but doesn't explain what that entails—e.g., whether it creates files, modifies existing ones, requires specific permissions, or has side effects. This leaves critical behavioral traits unspecified, making it inadequate for a mutation tool.

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?

The description is a single, efficient sentence that directly states the tool's purpose without any fluff. It's appropriately sized and front-loaded, making it easy to parse quickly, which earns the highest score for conciseness.

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

Completeness2/5

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

Given the complexity of initializing a project structure (a mutation operation), the lack of annotations and output schema means the description should provide more context. It fails to cover behavioral aspects, return values, or error handling, making it incomplete for effective tool selection and invocation.

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?

The input schema has 100% description coverage, clearly documenting all three parameters. The description adds no additional meaning beyond the schema, such as explaining how parameters interact or providing examples. Thus, it meets the baseline score where the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the action ('Initialize') and the resource ('Universal Project Documentation Standard structure'), making the purpose understandable. However, it doesn't differentiate this tool from its siblings like 'organize_structure' or 'full_workflow', which might have overlapping functionality, so it doesn't reach the highest score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context, or exclusions, leaving the agent to guess based on the name alone. This lack of explicit or implied usage instructions results in a low score.

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

organize_structureC

Create hierarchical directory structure and move files to appropriate locations

ParametersJSON Schema
NameRequiredDescriptionDefault
categoriesYesCategories with their associated file patterns/names
directory_pathYesPath to directory to organize

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool performs file movement and directory creation, implying mutation operations, but doesn't address critical behaviors like permission requirements, error handling, whether changes are reversible, or side effects on existing files. This leaves significant gaps for a tool that modifies file systems.

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?

The description is a single, efficient sentence with zero waste. It front-loads the core purpose and uses clear, direct language without redundancy or unnecessary elaboration.

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

Completeness2/5

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

Given the tool's complexity (file system mutations, nested object parameters) and lack of annotations or output schema, the description is insufficient. It doesn't explain what 'appropriate locations' means, how file patterns work, what happens to unmatched files, or what the tool returns. For a mutation tool with behavioral risks, this leaves too many unknowns.

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 100%, so the schema already documents both parameters ('categories' and 'directory_path'). The description adds no additional parameter semantics beyond what the schema provides, such as explaining the structure of 'categories' or providing examples. Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the tool's purpose with specific verbs ('create hierarchical directory structure' and 'move files to appropriate locations') and identifies the resource (files/directories). It doesn't explicitly differentiate from sibling tools like 'analyze_content' or 'discover_pdfs', but the purpose is unambiguous for file organization tasks.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, constraints, or compare it to sibling tools like 'full_workflow' or 'init_project_docs'. The agent must infer usage from the purpose alone.

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

TDQS

B3.2/5.0
Disambiguation4/5

Most tools have distinct purposes, but there is some overlap between 'full_workflow' and the combination of other tools like 'discover_pdfs', 'convert_pdf', and 'organize_structure', which could cause confusion about when to use the integrated workflow versus individual steps. The other tools are clearly scoped to specific tasks like analysis, conversion, discovery, and initialization.

Naming Consistency4/5

Tool names mostly follow a consistent verb_noun pattern (e.g., analyze_content, check_conversions, convert_pdf), with 'full_workflow' as a minor deviation that uses an adjective instead of a verb. All names are in snake_case and are descriptive, making them readable and predictable, though not perfectly uniform.

Tool Count5/5

With 8 tools, the count is well-scoped for a document organization server, covering key operations from discovery and conversion to analysis and structuring. Each tool appears to serve a specific function without redundancy, fitting a typical range for such a domain.

Completeness4/5

The tool set covers core document organization workflows, including discovery, conversion, analysis, and structuring, with a full pipeline tool for integration. A minor gap exists in update or delete operations for documents or categories, but agents can likely work around this given the focus on initial organization and conversion.

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cordlesssteve/document-organizer-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server