Iteration Layer
Server Details
Composable APIs for document extraction, image transformation, and document & sheet generation.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Score is being calculated. Check back soon.
Available Tools
6 toolsconvert_document_to_markdownARead-onlyIdempotentInspect
Convert a document or image to clean markdown. Returns name, mime_type, markdown, and description (images only). Supports PDF, DOCX, XLSX, images (PNG, JPG, GIF, WEBP), HTML, Markdown, CSV, JSON, and plain text. Max file size: 50 MB.
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | File to convert. Supports PDF, DOCX, XLSX, images (PNG, JPG, GIF, WebP, HEIF), HTML, Markdown, CSV, JSON, and plain text. Max 50 MB. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, description carries full burden and discloses: return fields (name, mime_type, markdown, description), conditional behavior ('images only'), and operational limits (50 MB max). Could improve by mentioning error handling or processing time.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences: purpose statement, return value disclosure, and format/support constraints. Front-loaded with core function. Slightly dense but no wasted words; format list is necessary given lack of enum constraints in schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a conversion tool: compensates for missing output schema by documenting return fields, and covers key constraints. Gap remains in parameter documentation (critical given 0% schema coverage) and error scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, description fails to compensate for undocumented nested 'file' object structure (base64 vs url options, required name field). Only hints at input via 'document or image' reference without explaining parameter syntax.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States specific action ('Convert') and target format ('clean markdown'), distinguishing it from sibling 'extract_document' (general extraction) and 'generate_document' (creation). Lists supported input formats (PDF, DOCX, images, etc.) clarifying scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides implicit guidance via supported formats list and max file size constraint (50 MB), but lacks explicit 'when to use vs extract_document' guidance or prerequisite instructions (e.g., authentication requirements for URLs).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_documentARead-onlyIdempotentInspect
Extract structured data from documents using AI. Define a schema with typed fields (text, number, date, boolean, enum, email, IBAN, country, currency, address, arrays, calculated) and receive extracted values with confidence scores (0-1) and source citations. Supports PDF, DOCX, XLSX, images (PNG, JPG, GIF, WEBP), HTML, Markdown, CSV, JSON, and plain text. Use arrays with nested schemas for repeating data like invoice line items. Max file size: 50 MB per file.
| Name | Required | Description | Default |
|---|---|---|---|
| files | Yes | Array of files to extract data from. Supports PDF, DOCX, XLSX, images (PNG, JPG, GIF, WebP), HTML, Markdown, CSV, JSON, and plain text. Max 50 MB per file. | |
| schema | Yes | Extraction schema defining what data to extract from the documents. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and successfully discloses key behavioral traits: confidence scores (0-1), source citations, supported file formats, and the 50 MB file size limit. Missing only safety/destructiveness and error handling details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four information-dense sentences with zero waste. Front-loaded with purpose, followed by capabilities, supported formats, and usage example/limitation. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complex nested schema and lack of output schema, the description adequately covers input capabilities, field types, and output characteristics (confidence scores, citations). Minor gap in not describing the output structure or error scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It conceptually explains the schema parameter (listing valid field types) and files parameter (listing formats), but fails to document the nested object structures required for invocation (e.g., files array object properties, schema fields structure).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Extract') and resource ('structured data from documents'), clearly distinguishing this from sibling generation/conversion tools by emphasizing AI-powered extraction with custom schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear usage context ('Use arrays with nested schemas for repeating data like invoice line items') and implies when to use (structured data extraction), but lacks explicit 'when not to use' or direct comparison to siblings like convert_document_to_markdown.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_documentARead-onlyIdempotentInspect
Generate PDF, DOCX, PPTX, or EPUB documents from a structured document definition. Content blocks: paragraph (with rich text runs), headline (h1-h6), image, table, 12-column grid, ordered/unordered list, table-of-contents, page-break, separator, QR code, barcode. Styles and page settings are optional -- sensible defaults are applied (PlusJakartaSans body text, Outfit headings, A4, 72pt margins). Override any style section as needed. 99 Google Fonts are built in -- reference any by name. Custom fonts can be provided as base64. Supports headers/footers with page numbers.
| Name | Required | Description | Default |
|---|---|---|---|
| format | Yes | Output document format. | |
| document | Yes | Document definition containing metadata, page settings, styles, and content. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well disclosing default behaviors: PlusJakartaSans body text, Outfit headings, A4 size, 72pt margins. It also notes base64 font support and header/footer capabilities. Missing operational details like error behaviors, rate limits, or return value format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place: opening with formats and input type, followed by content block inventory, default styling information, font options, and header/footer support. No redundant text. Appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the extremely complex nested schema (recursive content blocks) and lack of output schema, the description is incomplete. It fails to explain what the tool returns (binary buffer, file path, etc.) and provides insufficient structural detail for the deeply nested document parameter, though it covers high-level capabilities.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, requiring the description to compensate. While it helpfully lists available content block types (paragraph, headline, table, grid, etc.), it does not explain the top-level parameter structure (format enum, document object requirements, metadata fields) or how to construct the nested content arrays.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific verb (Generate), output formats (PDF, DOCX, PPTX, EPUB), and input method (structured document definition). It effectively distinguishes from siblings like generate_image, generate_sheet, and convert_document_to_markdown by specifying document generation from structured definitions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool (generating documents from structured definitions), implicitly distinguishing it from convert_document_to_markdown (conversion) and extract_document (extraction). However, it lacks explicit 'when not to use' guidance or explicit comparison to siblings like generate_sheet.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_imageARead-onlyIdempotentInspect
Generate images from layer compositions. Layer types: solid-color, gradient, text (with Markdown bold/italic), image, qr-code, barcode (Code 128, EAN-13, EAN-8, Code 39, ITF, Codabar), and layout (nested flex-like container with direction, gap, alignment, and padding). Layers are composited by index order with per-layer opacity and rotation. 99 Google Fonts are built in (Inter, Roboto, OpenSans, Montserrat, Poppins, Outfit, Lato, etc.) -- reference any by name without uploading font files. Custom fonts can be provided as base64. Output formats: PNG (default), JPEG, WebP, TIFF, GIF, AVIF.
| Name | Required | Description | Default |
|---|---|---|---|
| fonts | No | Custom font definitions as base64-encoded font files. Optional — 99 Google Fonts are built in. | |
| layers | Yes | Array of layers to composite by index order. Layer types: solid-color, gradient, text, image, qr-code, barcode, layout. | |
| dimensions | Yes | Output image dimensions in pixels (width and height). | |
| output_format | No | Output image format. Defaults to PNG. |
Tool Definition Quality
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 successfully explains the compositing model ('by index order with per-layer opacity and rotation'), the font system (99 built-in Google Fonts vs base64 custom fonts), and supported output formats. It does not disclose error conditions, rate limits, or maximum canvas dimensions, which prevents a perfect score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph where every clause earns its place. It logically flows from core purpose → layer types → compositing behavior → font system → output formats. No filler text or redundant restatements of the tool name are present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with extreme schema complexity (deeply nested layer objects) and no output schema, the description provides excellent coverage of the input model and generation capabilities. It lacks only description of the return value (image data vs URL) and system limits (max layers, max dimensions), which would be necessary for a perfect score given the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Given 0% schema description coverage, the description adds substantial semantic value by explaining the complex `layers` parameter content (Markdown support in text layers, specific barcode formats, flex-like layout behavior) and the `fonts` parameter handling (name references vs base64). It does not explicitly describe the `dimensions` parameter, though its structure is self-evident from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the specific verb phrase 'Generate images from layer compositions' and enumerates the seven layer types available (solid-color, gradient, text, image, qr-code, barcode, layout). This clearly distinguishes it from sibling tools like transform_image (which modifies existing images) and generate_document (which creates documents), establishing a unique domain for this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While it lacks explicit 'use X instead when...' statements, the description provides clear context that enables differentiation from siblings. By emphasizing 'layer compositions' and listing specific layer capabilities (QR codes, barcodes, flex-like layouts), it implicitly signals this is for constructing new images from primitives rather than converting or transforming existing files.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_sheetARead-onlyIdempotentInspect
Generate XLSX, CSV, or Markdown spreadsheets from structured tabular data. Define columns and rows with optional cell formatting (text, number, decimal, currency, percentage, date, datetime, time, custom). XLSX supports rich styling (font, color, alignment), merged cells via from_col/to_col/from_row/to_row spans, and Excel formulas (strings starting with =). 162 ISO 4217 currency codes with configurable number styles (comma_period, period_comma, space_comma, space_period). Supports multiple sheets (XLSX/Markdown) and custom fonts (XLSX, base64).
| Name | Required | Description | Default |
|---|---|---|---|
| fonts | No | Custom font definitions for XLSX output. | |
| format | Yes | Output spreadsheet format. | |
| sheets | Yes | Array of sheet definitions. | |
| styles | No | Sheet-wide default styles for fonts, colors, and alignment. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and delivers substantial behavioral context: formula syntax ('strings starting with ='), merged cell mechanics ('from_col/to_col/from_row/to_row spans'), currency support scope ('162 ISO 4217 currency codes'), and number style configurations. Missing only operational constraints like file size limits or error behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Information-dense and front-loaded with critical capabilities. Every clause delivers value (format support, formatting types, XLSX-specific features, formula syntax). Minor deduction for being a single dense paragraph; sentence breaks would improve scannability without sacrificing content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complex nested schema (4 parameters, deep nesting) and lack of output schema, the description adequately covers content generation parameters but omits two key elements: the global 'styles' parameter (header/body styling) and critically, what the tool returns (file buffer, path, or URL). For a file generation tool without output schema, the return format should be specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Compensates effectively for 0% schema description coverage by explaining key enums (format types, cell formats, number styles), nested object behaviors (merged cell coordinates), and special value handling (formula prefixes, base64 fonts). Could improve by explaining the sheets/columns/rows hierarchy and global styles parameter structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with specific verb ('Generate') and clearly identifies the resource (XLSX, CSV, Markdown spreadsheets) and input type (structured tabular data). It effectively distinguishes from siblings like generate_document (general documents) and generate_image by focusing specifically on spreadsheet/tabular data generation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context for format selection by detailing which features work in which formats (e.g., 'XLSX supports rich styling', 'custom fonts (XLSX, base64)', multiple sheets support). While it doesn't explicitly state 'when not to use' alternatives, the scope is clearly delineated by emphasizing tabular data and spreadsheet-specific features.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
transform_imageARead-onlyIdempotentInspect
Transform and manipulate images with a pipeline of up to 30 sequential operations. Operations: resize, crop, extend, trim, rotate, flip, flop, blur, sharpen, modulate, tint, grayscale, invertColors, autoContrast, gamma, removeTransparency, threshold, denoise, opacity, convert, upscale (AI, 2-4x), smartCrop (AI, detects faces/people/objects), compressToSize, removeBackground (AI). Supports PNG, JPEG, WebP, AVIF, and HEIF output. Max file size: 50 MB.
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | Image file to transform. Supports PNG, JPEG, WebP, AVIF, HEIF, GIF, and TIFF. Max 50 MB. | |
| operations | Yes | Array of transformation operations to apply in sequence. Up to 30 operations per request. Operations: resize, crop, extend, trim, rotate, flip, flop, blur, sharpen, modulate, tint, grayscale, invertColors, autoContrast, gamma, removeTransparency, threshold, denoise, opacity, convert, upscale, smartCrop, compressToSize, removeBackground. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and discloses key behavioral traits: pipeline architecture, AI-powered operations (upscale, smartCrop, removeBackground), supported output formats, and file size limits. It lacks details on error handling, return format, or idempotency, but covers the primary behavioral dimensions well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences with zero waste: capability declaration, comprehensive operation list with AI annotations, output format support, and input constraints. Every element earns its place given the complexity and lack of schema documentation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 24 distinct operation types, 0% schema coverage, no annotations, and no output schema, the description provides excellent completeness by listing all operations, noting AI capabilities, and specifying limits. It misses explicit output format details (base64 vs URL) and error behavior, but is otherwise comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Given 0% schema description coverage, the description compensates significantly by enumerating all 24+ available operation types and their semantic characteristics (e.g., 'AI, detects faces/people/objects' for smartCrop). While it doesn't detail every parameter like 'sigma' or 'fit' enums, it provides crucial semantic context for the complex operations array that the schema fails to document.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Transform and manipulate images with a pipeline of up to 30 sequential operations,' providing a specific verb and resource. It effectively distinguishes from sibling generate_image (creation vs. transformation) and document-focused tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear capability constraints ('up to 30 sequential operations,' 'Max file size: 50 MB') and enumerates available operations, implicitly guiding when to use this tool (complex image manipulation pipelines). However, it doesn't explicitly contrast with generate_image for existing vs. new images.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!