Skip to main content
Glama

🎯 Ilograph MCP Server

The Ilograph MCP Server is a Model Context Protocol (MCP) server that provides AI agents with comprehensive access to Ilograph documentation, validation tools, and diagram creation guidance. Transform complex architecture documentation with intelligent assistance.

CI Python FastMCP License: MIT

Use Cases

  • Automated Diagram Creation: Generate Ilograph diagrams through natural language descriptions

  • Real-time Validation: Validate existing diagrams with detailed error analysis and suggestions

  • Documentation Access: Get instant access to comprehensive Ilograph documentation and best practices

  • Learning & Examples: Explore curated diagram examples with detailed explanations

Important: This is an unofficial, community-driven project and is not affiliated with or endorsed by Ilograph LLC. The server provides educational and development assistance by accessing publicly available Ilograph documentation and resources.

Caution: The outputs and recommendations provided by the MCP server are generated dynamically and may vary based on the query and model. Users should thoroughly review all outputs to ensure they align with their project requirements and verify against official Ilograph documentation before implementation.

Related MCP server: Fast Mermaid Validator MCP

Prerequisites

  1. Docker: Docker installed and running

  2. MCP-compatible client: Claude Desktop, VS Code, Cursor, etc.

Quick Start

Add to Your MCP Client

Add this configuration to your MCP client:

VS Code:

Add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing Ctrl + Shift + P and typing Preferences: Open User Settings (JSON).

More about using MCP server tools in VS Code's agent mode documentation.

{
  "mcp": {
    "servers": {
      "ilograph": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "ghcr.io/quincymillerdev/ilograph-mcp-server:latest"
        ]
      }
    }
  }
}

Optionally, you can add a similar example (i.e. without the mcp key) to a file called .vscode/mcp.json in your workspace. This will allow you to share the configuration with others.

{
  "servers": {
    "ilograph": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/quincymillerdev/ilograph-mcp-server:latest"
      ]
    }
  }
}

Claude Desktop / Cursor / Jetbrains AI Assistant:

{
  "mcpServers": {
    "ilograph": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "ghcr.io/quincymillerdev/ilograph-mcp-server:latest"]
    }
  }
}

That's it! 🎉

Tool Configuration

Available Tools

The following tools are available for comprehensive Ilograph workflow support:

Category

Tool

Description

Documentation

fetch_documentation_tool

Fetches comprehensive documentation from Ilograph's official sources with intelligent caching

Documentation

list_documentation_sections

Lists all available documentation sections with descriptions and coverage areas

Documentation

check_documentation_health

Performs health checks and returns cache statistics for documentation service

Specification

fetch_spec_tool

Fetches the official Ilograph specification with complete property definitions and types

Specification

check_spec_health

Performs health checks specifically on the specification service connectivity

Examples

list_examples

Lists available Ilograph example diagrams categorized by complexity and use case

Examples

fetch_example

Retrieves specific example diagrams with metadata, learning context, and explanations

Validation

validate_diagram_tool

Validates Ilograph diagram syntax and provides detailed error messages with suggestions

Validation

get_validation_help

Provides comprehensive guidance on diagram validation and common issues resolution

Icons

search_icons_tool

Searches the live Ilograph icon catalog with semantic matching and provider filtering

Icons

list_icon_providers_tool

Lists all available icon providers (AWS, Azure, GCP, etc.) and their service categories

Contributing

Contributions are welcome! This project needs:

  • 🐛 Bug fixes - Always appreciated!

  • 📚 Documentation improvements - Help make things clearer

  • New tools - Add more Ilograph functionality

  • 🔧 Code quality - Better error handling, etc.

📖 See CONTRIBUTING.md for detailed development setup, testing, and submission guidelines.

Features

  • 📚 Live Documentation Access: Fetches up-to-date documentation from official Ilograph sources

  • 🔍 Comprehensive Section Coverage: Access to all major Ilograph concepts (resources, perspectives, contexts, etc.)

  • ✅ Advanced Diagram Validation: YAML and Ilograph schema validation with detailed error messages and suggestions

  • ⚡ Intelligent Caching: TTL-based caching with fallback strategies for optimal performance

  • 🛠️ Tool-First Design: Compatible with all current MCP clients (Cursor, Claude Desktop, VS Code, etc.)

  • 📋 Curated Example Library: Real-world Ilograph diagrams with learning context and explanations

  • 🎨 Smart Icon Search: Semantic search through Ilograph's icon catalog with provider filtering

  • 🔄 Health Monitoring: Built-in service health checks and status reporting

  • 🏗️ Architecture Pattern Detection: Identifies common patterns and provides optimization suggestions

Need Help?

License

This project is licensed under the MIT License - see the LICENSE file for details.

This project is not affiliated with, endorsed by, or connected to Ilograph LLC. This is an independent, community-driven tool that accesses publicly available Ilograph documentation and resources for educational and development purposes.

  • The Ilograph name and related trademarks are property of Ilograph LLC

  • This tool accesses publicly available documentation under fair use principles

  • Users should refer to official Ilograph documentation for authoritative information

  • No commercial relationship exists between this project and Ilograph LLC


Built with ❤️ for the Ilograph community

Available Tools

11 tools
check_documentation_healthA
Read-only
    Checks the health and connectivity of the documentation fetching service.

    This tool performs connectivity tests and returns status information about
    the documentation fetching capabilities, including cache statistics.

    Returns:
        str: Health status report with service connectivity and cache information
    
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

The description adds that the tool performs connectivity tests and returns cache statistics, which supplements the readOnlyHint annotation. However, it does not disclose any other behaviors (e.g., network calls) beyond what is obvious.

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 reasonably concise with two sentences, but includes a Returns section that partially repeats the purpose, adding slight redundancy.

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?

Given no parameters and only a readOnly annotation, the description adequately covers the tool's purpose and return type. It could mention that it is a no-side-effect operation, but the annotation already implies safeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist in the input schema, so schema coverage is 100%. The description adds no parameter information, but the baseline for 0 parameters is 4.

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 tool checks the health and connectivity of a documentation fetching service, with a specific verb ('checks') and resource ('documentation fetching service'). It distinguishes from sibling tools like check_spec_health by specifying the target service.

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 provides general context for when to use the tool (to verify service health), but does not give explicit when-not-to-use guidance or mention alternatives among siblings.

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

check_spec_healthA
Read-only
    Checks the health and connectivity of the specification fetching service.

    This tool performs connectivity tests specifically for the specification endpoint
    and returns status information about spec fetching capabilities.

    Returns:
        str: Health status report with spec service connectivity and cache information
    
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already provide readOnlyHint=true, indicating a safe read operation. The description adds that it performs connectivity tests and returns status, but does not elaborate on what happens under failure or any side effects. With annotations, the bar is lower, and description adds marginal behavioral context.

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 concise (three sentences), front-loaded with the main purpose, and includes a Returns section. No unnecessary words.

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

Completeness5/5

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

Given 0 parameters and no output schema, the description fully explains the tool's purpose and return value. Annotations cover safety. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so baseline 4. The description does not need to add parameter info beyond schema, which is empty.

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 tool checks health and connectivity of the specification fetching service, with specific focus on the spec endpoint. It distinguishes from sibling check_documentation_health by targeting spec service specifically.

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 for verifying spec service connectivity but does not explicitly state when to use this tool over alternatives like check_documentation_health. No guidance on exclusions or prerequisites.

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

fetch_documentation_toolA
Read-only
    Fetches and formats narrative documentation from Ilograph website.

    This tool provides detailed explanations, tutorials, and examples for learning
    Ilograph concepts and implementation patterns. Content is fetched from the official
    Ilograph documentation site and converted to clean markdown format.

    Args:
        section: Documentation section to fetch. Supported sections:
                - 'resources' -> Resource tree organization, hierarchies, instanceOf patterns
                - 'relation-perspectives' -> Arrow connections, from/to properties, routing, labels
                - 'sequence-perspectives' -> Time-based diagrams with steps, bidirectional flows
                - 'references' -> Resource reference patterns and advanced referencing
                - 'advanced-references' -> Complex reference scenarios and usage patterns
                - 'resource-sizes-and-positions' -> Layout control, resource sizing, visual hierarchy
                - 'parent-overrides' -> Resource parent overrides in perspectives with scale properties
                - 'perspectives-other-properties' -> Additional perspective properties and options
                - 'icons' -> Icon system with iconStyle, icon paths, and categorization
                - 'walkthroughs' -> Interactive step-by-step guides through diagrams
                - 'contexts' -> Multiple context views with roots, extends inheritance
                - 'imports' -> Namespace management with from/namespace properties, component reuse
                - 'markdown' -> Rich text support in descriptions, notes, and diagram text
                - 'tutorial' -> Complete tutorial for learning Ilograph diagram creation

    Returns:
        str: Clean markdown content with detailed explanations, examples, and best practices
    
ParametersJSON Schema
NameRequiredDescriptionDefault
sectionYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already provide readOnlyHint=true, confirming no destructive side effects. The description adds value by detailing the return format (clean markdown) and the nature of content (explanations, tutorials, examples). No contradictions.

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 well-structured with a clear purpose statement and bulleted list of sections. It is slightly long but each line adds value; no fluff.

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

Completeness5/5

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

For a simple fetch tool with one parameter, the description covers the input (sections), the output (clean markdown with details), and the tool's purpose. No output schema, but return format is adequately described.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description compensates fully by listing all supported sections with their meanings (e.g., 'resources' -> Resource tree organization). This provides rich semantics beyond the bare schema.

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 tool fetches and formats narrative documentation from Ilograph website, with a specific verb and resource. The extensive list of supported sections distinguishes it from siblings like fetch_example and list_documentation_sections.

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 explicit guidance on when to use this tool versus alternatives like fetch_example or list_documentation_sections. The description lacks usage context, exclusions, or when-not-to-use scenarios.

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

fetch_exampleB
Read-only
    Retrieves a static example diagram with its content and learning context.

    Args:
        example_name: The filename of the example to fetch (e.g., 'serverless-on-aws.ilograph').

    Returns:
        A dictionary containing the example's content, metadata, learning objectives, and patterns.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
example_nameYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the read-only nature is known. The description adds that it returns content and learning context, but does not disclose any additional behavioral traits such as potential errors or permissions needed.

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 concise with a clear first sentence. The Args and Returns sections add useful structure without being overly verbose. Could be slightly more front-loaded by integrating the Examples section into the initial sentence.

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?

Given a single required parameter, no output schema, and annotations present, the description adequately covers the tool's purpose and return content (content, metadata, learning objectives, patterns). It lacks discussion of error handling or edge cases, but is sufficient for a simple fetch operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has no description for the single parameter, but the description provides a clear explanation: 'The filename of the example to fetch (e.g., 'serverless-on-aws.ilograph').' This adds meaning beyond the schema and compensates for the 0% schema description coverage.

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 states it retrieves a static example diagram with content and learning context, clearly specifying the verb and resource. It implicitly differentiates from sibling tools like list_examples (which lists names) and fetch_documentation_tool, but does not explicitly state distinctions.

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 on when to use this tool versus alternatives. It does not specify prerequisites, conditions, or mention sibling tools like list_examples for discovering available example names.

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

fetch_spec_toolA
Read-only
    Fetches the official Ilograph specification from https://www.ilograph.com/docs/spec/

    This tool provides the authoritative reference for all Ilograph properties, types,
    and requirements in a structured table format - perfect for validation and quick lookups.

    Returns:
        str: Complete specification in markdown format with:
             - Top-level properties table
             - Resource properties and types
             - Perspective properties and types
             - Relation, Sequence, Step definitions
             - Context, Layout, Import specifications
             - All property types and requirements
    
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint: true, and the description elaborates on the return format (markdown with tables), adding behavioral context beyond annotations without contradiction.

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?

Description is concise, front-loaded with purpose, and uses a bullet list for return details. Every sentence adds value.

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

Completeness5/5

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

For a simple fetch tool with no parameters, the description fully covers purpose, source, and return format. No output schema needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist in the input schema (schema coverage 100%), so the description naturally adds no parameter semantics. Baseline of 4 is appropriate.

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?

Description clearly states it fetches the official Ilograph specification from a specific URL, distinguishing it from sibling tools like fetch_documentation_tool and check_spec_health.

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?

Description indicates it's for validation and quick lookups, providing clear context for usage, but does not explicitly mention when not to use or name alternatives.

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

get_validation_helpA
Read-only
    Provides comprehensive help for Ilograph diagram validation.

    Returns guidance on common validation issues, proper syntax,
    and best practices for creating valid Ilograph diagrams.

    Returns:
        str: Detailed validation help in markdown format
    
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=true. The description adds that the tool returns a markdown string, which is useful context, but does not disclose any other behavioral traits beyond what annotations provide.

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 concise, front-loaded with the purpose, and includes a Returns section. Every sentence adds value with no redundancy.

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

Completeness5/5

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

Given no parameters and no output schema, the description fully covers the tool's behavior. It explains the purpose, the type of help, and the output format, which is sufficient for an agent to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, so schema coverage is 100%. The description adds no parameter info, which is appropriate. Baseline 4 applies.

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 it provides comprehensive help for Ilograph diagram validation, including guidance on common issues, syntax, and best practices. It distinguishes itself from sibling tools like validate_diagram_tool by focusing on help rather than validation itself.

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 for validation help but does not explicitly state when to use it versus alternatives such as validate_diagram_tool or check_documentation_health. No exclusions or comparisons are provided.

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

list_documentation_sectionsA
Read-only
    Lists all available Ilograph documentation sections with descriptions.

    This tool provides an overview of all available documentation sections
    that can be fetched using the fetch_documentation_tool.

    Returns:
        str: Formatted list of available documentation sections with descriptions
    
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the description's addition of returning a formatted list adds value without contradiction.

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 appropriately sized but includes a 'Returns:' line that could be integrated more concisely. Still effective.

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

Completeness5/5

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

For a zero-parameter, read-only list tool with good annotations, the description fully covers what the agent needs to know, including its relationship to fetch_documentation_tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so the description does not need to add parameter information. Baseline score of 4 is appropriate.

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 tool lists all Ilograph documentation sections with descriptions, using a specific verb and resource. It distinguishes itself from the sibling tool fetch_documentation_tool by focusing on an overview.

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

Usage Guidelines5/5

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

The description explicitly says this tool provides an overview and that specific sections can be fetched using fetch_documentation_tool, providing clear when-to-use and when-not-to-use guidance.

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

list_examplesA
Read-only
    Lists available Ilograph example diagrams, optionally filtering by category.

    Args:
        category: Filter examples by complexity ('beginner', 'intermediate', 'advanced').

    Returns:
        A dictionary containing a list of available examples and a message guiding the user.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNo

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds no further behavioral context beyond listing, such as error handling or behavior with null category. It is consistent 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?

The description is concise with two sentences and a docstring outlining Args and Returns. Every sentence adds value, and the structure is front-loaded with the main action.

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?

Given the simple tool with one optional parameter and no output schema, the description covers the purpose, parameter, and return structure adequately. It could mention default behavior (returns all when no category) but is sufficient for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description explains the 'category' parameter by listing allowed values ('beginner', 'intermediate', 'advanced'), which adds meaning beyond the schema's enum. It also describes the return format as a dictionary with a list and message, compensating for the 0% schema description 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 that the tool lists Ilograph example diagrams with optional filtering by category. It uses specific verb 'lists' and identifies the resource 'example diagrams', distinguishing it from siblings like 'list_documentation_sections'.

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 mentions optional filtering by category but provides no guidance on when to use this tool versus alternatives like 'fetch_example' or 'list_documentation_sections'. No explicit when-to-use or when-not-to-use advice.

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

list_icon_providers_toolA
Read-only
    Lists all available icon providers and their categories.

    This tool provides an overview of the icon catalog structure,
    showing available providers and their service categories.

    Returns:
        dict: Provider information with categories and icon counts
    
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description adds context by specifying the return format (dict with categories and icon counts). This is useful but minimal; the tool's behavior is straightforward.

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 efficient sentences, front-loaded with the main purpose. No wasted words.

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

Completeness5/5

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

Given no parameters, no output schema, and a simple task, the description fully conveys what the tool returns and its purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so schema coverage is 100%. The description doesn't need to add parameter info. Baseline for 0 parameters is 4.

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 it lists all available icon providers and their categories, using specific verbs ('lists', 'provides an overview') and resource ('icon providers', 'icon catalog structure'). It implicitly distinguishes from sibling tools like search_icons_tool.

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?

No explicit guidance on when to use or not use, but the tool is simple and read-only. The description implies usage for getting an overview, but does not mention alternatives or prerequisites.

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

search_icons_toolA
Read-only
    Searches the current icon catalog with semantic matching.

    This tool fetches the live icon catalog from Ilograph and provides intelligent
    search capabilities to help find appropriate icons for diagram resources.

    Args:
        query: Search term (e.g., 'database', 'aws lambda', 'kubernetes', 'storage')
        provider: Optional filter by provider ('AWS', 'Azure', 'GCP', 'Networking')

    Returns:
        list: Matching icons with paths, categories, and usage information.
              Each icon dict contains:
              - path: The icon path for use in Ilograph diagrams
              - provider: The cloud provider or category (AWS, Azure, GCP, Networking)
              - category: The service category (e.g., 'Compute', 'Database', 'Analytics')
              - name: The specific icon name
              - usage: Example usage string for Ilograph diagrams
    
ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
providerNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations provide readOnlyHint=true, and the description is consistent. It adds value by detailing the return structure (list with fields like path, provider, category, name, usage), which goes beyond annotations and provides useful behavioral context.

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 well-organized with clear sections (purpose, args, returns) but is slightly verbose. It could be more concise, but the structure aids readability.

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?

For a search tool with two parameters and no output schema, the description covers the return fields and parameter examples. It does not mention error handling or limitations, but is sufficient for an agent to understand usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must explain parameters. It does so effectively: 'query: Search term (e.g., 'database', 'aws lambda')' and 'provider: Optional filter by provider ('AWS', 'Azure', 'GCP', 'Networking')', adding examples and clarifying usage beyond the schema's titles.

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 it 'Searches the current icon catalog with semantic matching,' which is a specific verb+resource. It distinguishes from sibling 'list_icon_providers_tool' which lists providers, making this tool's purpose distinct.

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 explains the tool fetches the live icon catalog and provides intelligent search, setting clear context. It lists parameters with examples, but does not explicitly state when not to use or compare to alternatives, though it's implied by the sibling list.

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

validate_diagram_toolA
Read-only
    Validates Ilograph YAML syntax and structure.

    This tool performs comprehensive validation of Ilograph diagrams:
    1. First validates YAML syntax for structural correctness
    2. Then validates Ilograph-specific schema requirements
    3. Provides detailed error messages, warnings, and suggestions
    4. Can optionally use official Ilograph specification for context

    Args:
        content: The Ilograph diagram content as a string

    Returns:
        dict: Validation result with success/failure, errors, warnings, and suggestions
             Format: {
                 "success": bool,
                 "yaml_valid": bool,
                 "schema_valid": bool,
                 "summary": {"total_errors": int, "total_warnings": int, "total_info": int},
                 "errors": [{"level": str, "message": str, "line": int, "suggestion": str}, ...],
                 "warnings": [...],
                 "info": [...],
                 "assessment": str
             }
    
ParametersJSON Schema
NameRequiredDescriptionDefault
contentYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations include readOnlyHint=true, and the description confirms nondestructive validation. It goes beyond annotations by detailing the validation steps (YAML syntax, Ilograph schema), error types, and return format. No contradictions present.

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 well-structured with numbered steps and a clear return format outline. While it is somewhat verbose, every sentence adds value, and the key information is 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?

Despite a minimal schema (one string parameter, no output schema), the description thoroughly explains the validation process, output structure, and error details. It is complete enough for an agent to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage for the sole parameter 'content', but the description's Args section provides a meaningful explanation ('The Ilograph diagram content as a string'), adding value beyond the raw schema.

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 it validates Ilograph YAML syntax and structure, specifying the verb 'validates' and the resource 'Ilograph diagrams'. It distinguishes itself from siblings like check_documentation_health and check_spec_health by focusing specifically on diagram validation.

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 when to use the tool (for validating Ilograph diagrams) but does not explicitly state when not to use it or mention alternatives among siblings. The context of use is clear, but exclusion criteria are missing.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 11 tool updates
    • First observedcheck_documentation_health
    • First observedcheck_spec_health
    • First observedfetch_documentation_tool
    • First observedfetch_example
    • First observedfetch_spec_tool
    • First observedget_validation_help
    • First observedlist_documentation_sections
    • First observedlist_examples
    • First observedlist_icon_providers_tool
    • First observedsearch_icons_tool
    • First observedvalidate_diagram_tool

TDQS

A3.9/5.0
Disambiguation5/5

Each tool serves a distinct purpose: health checks for different services, fetching different types of content (documentation, examples, spec), listing available resources, searching icons, and validating diagrams. No two tools have overlapping functionality.

Naming Consistency3/5

Tool names are mostly snake_case but inconsistently use the 'tool' suffix (e.g., fetch_documentation_tool vs fetch_example) and mix verbs like 'check_', 'list_', 'search_', and 'get_'. This lacks a uniform pattern.

Tool Count5/5

With 11 tools covering health checks, documentation fetching, example retrieval, spec fetching, icon searching, and validation, the count is well-scoped for a diagramming assistant server without being excessive.

Completeness4/5

The tool surface covers information retrieval (docs, specs, examples, icons) and validation, which aligns with the server's purpose. A minor gap is the lack of a diagram generation tool, but this is not essential for a helper server.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that validates Mermaid diagram syntax and identifies diagram types across all major formats. It provides detailed parse-error messages for invalid diagrams without requiring external rendering processes.
    13
    3
    MIT

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/QuincyMillerDev/ilograph-mcp-server'

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