Skip to main content
Glama
soubhagya2001

Ignition-JavaDoc-MCP

Ignition Javadocs MCP

An MCP (Model Context Protocol) server for extremely fast and accurate searching and documentation retrieval of the Ignition Inductive Automation Java API.

Features

  • Lightning Fast Search: Indexes the Javadoc JSON-like artifacts (e.g. type-search-index.js) to provide sub-second search responses without downloading full HTML.

  • Dynamic HTML Parsing: When detailed documentation is requested, it dynamically fetches the Javadoc HTML and meticulously converts it into clean, AI-readable Markdown using cheerio.

  • Multi-Version Support: Can query any version of Ignition (default 8.1.39) that publishes Javadoc to the inductive automation SDK domain.

Related MCP server: devdocs-mcp

Tools Provided

  • search_ignition_api: Search for class, package, or member by keyword.

  • get_ignition_class_docs: Retrieve the full Markdown documentation for a specific class (e.g., package: com.inductiveautomation.ignition.common, class: Dataset).

  • get_ignition_package_docs: Retrieve the full Markdown documentation for a specific package.

  • get_ignition_member_docs: Retrieve documentation for a single member (method/field/constructor). Use the u field from search results as memberAnchor.

Caching

The search index is cached to disk in .cache/ (one file per Ignition version) so restarts don't re-download it. Cache entries expire after 24 hours. Override the cache location with the IGNITION_JAVADOC_CACHE_DIR environment variable.

Getting Started

Prerequisites

  • Node.js >= 18

Installation & Build

# Install dependencies
npm install

# Compile the TypeScript to JavaScript
npm run build

Usage with MCP Clients

To use this with an MCP client (such as Claude Desktop), configure your MCP settings file to run this server.

Example configuration:

{
  "mcpServers": {
    "ignition-javadoc": {
      "command": "node",
      "args": [
        "/path/to/Ignition-Module-Development-Docs/dist/index.js"
      ]
    }
  }
}

This MCP operates exclusively on stdio.

Available Tools

4 tools
get_ignition_class_docsC

Gets the documentation for a specific class.

ParametersJSON Schema
NameRequiredDescriptionDefault
versionNoIgnition version to query (default: '8.1.39')
classNameYesThe class name (e.g., 'Dataset')
packagePathYesThe package path (e.g., 'com.inductiveautomation.ignition.common')

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 full responsibility. It states only that it 'gets documentation,' offering no detail on read-only behavior, return format, error conditions, or the effect of the version parameter. The schema's default for version is not disclosed in the description, and no safety profile is established.

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, front-loaded sentence with no filler. It clearly conveys the operation. However, it is so terse that it sacrifices useful context; it's concise but not under-specified. It earns its place but could include more.

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?

With no output schema and no annotations, the description leaves open what 'documentation' includes (e.g., class overview, method list). It also fails to mention the version parameter's role or how this differs from sibling doc tools. For a tool with 3 parameters and related siblings, the description is too sparse to be fully complete.

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

Parameters3/5

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

Schema coverage is 100%, so each parameter (packagePath, className, version) already has a clear description. The description's phrase 'specific class' reinforces className but adds no new semantic information. Baseline 3 applies because 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 'Gets the documentation for a specific class'—a specific verb and resource. It doesn't explicitly distinguish from sibling tools like get_ignition_package_docs or get_ignition_member_docs, but the term 'class' clarifies scope. Missing explicit sibling differentiation prevents a 5.

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. There is no mention of searching the API or using package/member docs for other levels of granularity. The user must infer usage from the name alone.

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

get_ignition_member_docsA

Gets the full documentation for a specific member (method/field/constructor) of a class. Use the 'u' field from search_ignition_api results as memberAnchor.

ParametersJSON Schema
NameRequiredDescriptionDefault
versionNoIgnition version to query (default: '8.1.39')
classNameYesThe class name (e.g., 'Dataset')
packagePathYesThe package path (e.g., 'com.inductiveautomation.ignition.common')
memberAnchorYesThe member anchor id from search results, e.g. 'getValueAt(int,java.lang.String)'

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It states the operation is to 'get' documentation, implying a safe read, and adds the context that memberAnchor comes from search results. Yet it does not describe error behavior, output format, or any potential side effects, leaving some information gaps.

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 only two sentences long, each earning its place: the first clearly states the purpose, and the second provides actionable parameter guidance. There is no redundant information or filler, making it highly efficient.

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 simple documentation retrieval tool, the description covers the essential usage path: it identifies the input requirements and how to obtain the crucial memberAnchor. While it doesn't describe the output structure or error handling, the tool's complexity is low and the description provides enough context for an agent to select and invoke it correctly, especially given the sibling tool context.

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?

Although the schema provides 100% parameter descriptions, the description adds critical semantic value for memberAnchor by explaining its origin ('u' field from search results). This goes beyond the schema's example value and clarifies how to construct a valid input. Other parameters rely on the schema, so the added meaning for one key parameter elevates the score.

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's function: retrieving full documentation for a specific member (method/field/constructor) of a class. The verb 'Gets' and the resource 'full documentation for a specific member' are specific, and the mention of member types distinguishes it from the class and package documentation siblings.

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 provides a direct usage guideline by instructing to use the 'u' field from search_ignition_api results as the memberAnchor, which is a key input. However, it does not explicitly state when to use this tool over sibling tools, relying on the member-focused wording to imply the distinction.

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

get_ignition_package_docsB

Gets the documentation for a specific package.

ParametersJSON Schema
NameRequiredDescriptionDefault
versionNoIgnition version to query (default: '8.1.39')
packagePathYesThe package path (e.g., 'com.inductiveautomation.ignition.common')

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It merely states that it retrieves package documentation but does not describe what the returned documentation format is, whether the operation is read-only (though likely), any potential error conditions, or the role of the `version` parameter. This is a minimal disclosure that leaves significant behavioral aspects unspecified.

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, lean sentence that states the core function without extraneous words. It is perfectly sized and front-loaded, conveying the essential purpose immediately.

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

Completeness3/5

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

The tool is a simple getter with clear parameters, but it lacks an output schema and the description does not explain what the documentation contains or how it relates to sibling tools. Given the tool's simplicity, this is adequate but has gaps—e.g., no mention of return type or typical usage context, which would help an agent select and use it correctly.

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 schema provides full descriptions for both parameters (`packagePath` with an example, `version` with its default), so schema coverage is 100%. The description adds no additional parameter context beyond what is already in the schema, which is acceptable for a schema-heavy tool, but does not compensate with extra nuance.

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's function: 'Gets the documentation for a specific package.' It uses a specific verb ('gets') and identifies the resource ('package documentation'), and the tool name reinforces its distinct purpose among siblings (class docs, member docs). This unambiguously differentiates it from `get_ignition_class_docs` and `get_ignition_member_docs`.

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 the sibling tools (search_ignition_api, get_ignition_class_docs, get_ignition_member_docs). It does not mention exclusions or alternatives, leaving the agent to infer the appropriate context solely from the tool name.

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

search_ignition_apiB

Searches the Ignition Java API documentation for classes, packages, or members.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoOptional filter for the type of element to search for
queryYesThe search query (e.g. 'Dataset')
versionNoIgnition version to query (default: '8.1.39')

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 must carry the burden of behavioral disclosure. It only rephrases the tool's basic function, adding no details about return format, result count, pagination, or read-only nature. The agent gains little insight beyond the tool name.

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, focused sentence that states the purpose without any filler. It is well-front-loaded and appropriately concise for a simple search tool.

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

Completeness3/5

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

The tool has only three parameters with full schema coverage, so the description does not need to explain them. However, with no output schema and no behavioral context, the description remains minimal but adequate for a straightforward search operation.

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 parameters are already well-documented. The description does not add extra meaning or context for the parameters, making the baseline score of 3 appropriate.

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 action ('searches') and target ('Ignition Java API documentation'), and mentions the three element types (classes, packages, members). It is distinct from sibling tools that 'get' specific docs, though it does not explicitly name them.

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 given about when to use this tool versus the sibling retrieval tools. The description implies a search-first workflow but does not state it, nor does it mention any prerequisites or exclusions.

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. 4 tool updatesv1.0.0
    • First observedget_ignition_class_docs
    • First observedget_ignition_member_docs
    • First observedget_ignition_package_docs
    • First observedsearch_ignition_api

TDQS

A3.7/5.0
Disambiguation5/5

Each tool targets a distinct aspect of the JavaDoc API: searching, retrieving class docs, package docs, or member docs. There is no overlap in their purposes, so an agent can easily choose the correct tool for a given task.

Naming Consistency5/5

All tool names follow a consistent pattern of a verb (search/get) followed by 'ignition' and then the target type (api, class_docs, package_docs, member_docs). This uniform structure makes the tool set predictable and easy to navigate.

Tool Count5/5

With only four tools, the server is tightly scoped to its purpose of exploring the Ignition API documentation. Each tool covers a fundamental operation (search, package, class, member) without unnecessary bloat, making the set feel complete and manageable.

Completeness5/5

The tool set covers the full lifecycle of browsing JavaDoc: searching for any API element, then drilling down into packages, classes, and members. There are no obvious missing operations for a documentation server, as search can find anything and retrieval covers all levels of detail.

Maintenance

ActivityMaintained
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 provides version-pinned, deterministic documentation sourced from DevDocs.io to AI assistants (Claude, RooCode, Cline, Copilot etc.) and also via offline mode. Not via Scraping! But using the supported downloading option from devdocs.
    157
    13
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server for intelligently reading Java source code, supporting extraction from Maven dependencies and local projects with dual decompilers.
    155
    Apache 2.0

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/soubhagya2001/Ignition-JavaDoc-MCP'

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