Skip to main content
Glama
soubhagya2001

Ignition-JavaDoc-MCP

README.md
# 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.

## 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
```bash
# 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:
```json
{
  "mcpServers": {
    "ignition-javadoc": {
      "command": "node",
      "args": [
        "/path/to/Ignition-Module-Development-Docs/dist/index.js"
      ]
    }
  }
}
```

This MCP operates exclusively on `stdio`.

TDQS

A3.7/5.0

Scored across 4 tools

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

ActivitySlowing
ResponsivenessNo issues