Claude Desktop Integration Guide for IncidentIQ MCP Server¶
This guide walks you through setting up the IncidentIQ MCP server with Claude Desktop, enabling AI-powered management of your K-12 district's IT tickets, assets, and support operations.
Prerequisites¶
- Claude Desktop installed on your system
- Node.js version 22 (LTS) or higher
- IncidentIQ API credentials from your district administrator
- Administrator access to modify Claude Desktop configuration
Step 1: Install the MCP Server¶
Option A: Install from GitHub (Recommended)¶
# Clone the repository
git clone https://github.com/IIQ-Community/mcp-incidentiq.git
cd mcp-incidentiq
# Install dependencies
npm install
# Build the project
npm run build
Option B: Install the published package¶
Released versions are published to GitHub Packages as @iiq-community/mcp-incidentiq (the tarball is also attached to each GitHub Release). GitHub Packages requires a token even for public installs — create an .npmrc with a read:packages token:
# .npmrc
@iiq-community:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}
Token-free alternative: download iiq-community-mcp-incidentiq-<version>.tgz from the latest release and npm install -g ./iiq-community-mcp-incidentiq-<version>.tgz.
Step 2: Configure Your API Credentials¶
- Create a
.envfile in the project directory:
- Edit the
.envfile with your district's credentials:
# Your district's IncidentIQ URL
IIQ_API_BASE_URL=https://your-district.incidentiq.com/api/v1.0
# Your API key from IncidentIQ admin panel
IIQ_API_KEY=your-jwt-token-here
# Optional settings
IIQ_API_TIMEOUT=30000
IIQ_DEBUG_MODE=false
Step 3: Configure Claude Desktop¶
Pick the configuration that matches how you installed the server in Step 1.
Published-package configuration (Option B install)¶
If you installed globally with npm install -g @iiq-community/mcp-incidentiq (after setting up the .npmrc from Step 1, Option B), the mcp-incidentiq binary is on your PATH — launch it directly, no source path required:
{
"mcpServers": {
"incidentiq": {
"command": "mcp-incidentiq",
"env": {
"IIQ_API_BASE_URL": "https://your-district.incidentiq.com/api/v1.0",
"IIQ_API_KEY": "your-jwt-token-here"
}
}
}
}
Prefer not to install globally? Use
"command": "npx"with"args": ["@iiq-community/mcp-incidentiq"](requires the same.npmrc). If you installed the release tarball globally (npm install -g ./iiq-community-mcp-incidentiq-<version>.tgz), themcp-incidentiqbinary is likewise onPATH, so this same config applies.
From-source configuration (Option A install)¶
If you built from a clone (Step 1, Option A), point node at the built entry file using the absolute path for your platform:
Windows Configuration¶
- Open Claude Desktop settings
- Navigate to the MCP servers configuration
- Add the following configuration:
{
"mcpServers": {
"incidentiq": {
"command": "node",
"args": ["C:\\path\\to\\mcp-incidentiq\\dist\\index.js"],
"env": {
"IIQ_API_BASE_URL": "https://your-district.incidentiq.com/api/v1.0",
"IIQ_API_KEY": "your-jwt-token-here"
}
}
}
}
macOS Configuration¶
- Open Claude Desktop preferences
- Go to Developer > MCP Settings
- Add the configuration:
{
"mcpServers": {
"incidentiq": {
"command": "node",
"args": ["/Users/yourname/mcp-incidentiq/dist/index.js"],
"env": {
"IIQ_API_BASE_URL": "https://your-district.incidentiq.com/api/v1.0",
"IIQ_API_KEY": "your-jwt-token-here"
}
}
}
}
Linux Configuration¶
{
"mcpServers": {
"incidentiq": {
"command": "node",
"args": ["/home/yourname/mcp-incidentiq/dist/index.js"],
"env": {
"IIQ_API_BASE_URL": "https://your-district.incidentiq.com/api/v1.0",
"IIQ_API_KEY": "your-jwt-token-here"
}
}
}
}
Step 4: Verify the Connection¶
- Restart Claude Desktop after saving the configuration
- Open a new conversation with Claude
- Ask Claude to test the IncidentIQ connection:
Claude should respond with available tools and confirm the connection to your district's IncidentIQ instance.
Step 5: Using the MCP Server¶
Once connected, you can ask Claude to perform various IncidentIQ operations:
Example Commands¶
Ticket Management¶
"Show me all open IT tickets"
"Create a ticket for a broken Chromebook in room 204"
"Update ticket #12345 with a note about ordering replacement parts"
"Close ticket #12345 with resolution 'Replaced device'"
Asset Management¶
"Find all Chromebooks assigned to the high school"
"Look up asset with tag CHR-2024-001"
"Show me devices that need warranty renewal"
"How many iPads do we have in inventory?"
User Management¶
Location Management¶
"List all district buildings"
"Show me all rooms in the main campus"
"Find computer labs at the high school"
Available MCP Tools¶
The following tools are available through Claude:
Ticket Tools¶
ticket_search- Search and filter ticketsticket_create- Create new support ticketsticket_get- Get ticket detailsticket_update- Update ticket informationticket_close- Close resolved ticketsticket_get_statuses- List ticket statusesticket_get_categories- List ticket categoriesticket_get_priorities- List priority levels
Asset Tools¶
asset_search- Search IT assetsasset_get- Get asset detailsasset_get_by_tag- Find asset by tag numberasset_get_counts- Get inventory counts
User Tools¶
user_search- Search for usersuser_get- Get user detailsuser_get_agents- List IT agents
Location Tools¶
location_list_all- List all locationslocation_search- Search locationslocation_get- Get location details
Troubleshooting¶
Connection Issues¶
If Claude cannot connect to IncidentIQ:
- Verify API credentials in your
.envfile - Check the API URL format:
https://district.incidentiq.com/api/v1.0 - Ensure API key has proper permissions (read/write for desired operations)
- Test manually using the validation script:
Permission Errors¶
If you receive 401 or 403 errors:
- Verify your API key is valid and not expired
- Check with your IncidentIQ administrator for proper permissions
- Ensure the API key has access to the modules you're trying to use
Empty Results¶
If searches return no results:
- Verify data exists in your IncidentIQ instance
- Check if your API user has visibility to the data
- Try broader search criteria
- Ensure proper filtering permissions are set
Security Best Practices¶
- Never share your API key - Keep it secure and private
- Use read-only keys for querying operations when possible
- Rotate keys regularly according to your district's security policy
- Monitor API usage through IncidentIQ's admin panel
- Restrict permissions to only necessary operations
- Store credentials securely - Never commit them to version control
Getting Your API Key¶
To obtain an API key from IncidentIQ:
- Log into your district's IncidentIQ instance as an administrator
- Navigate to Administration > Developer tools
- Click Generate API Key or Create New Token
- Set appropriate permissions for the key:
- IT Help Desk (for ticket operations)
- Asset Management (for device tracking)
- User Management (for user lookups)
- Facilities (if using location features)
- Copy the JWT token and store it securely
- Note your district's base URL (format:
https://[district].incidentiq.com)
Support and Resources¶
- GitHub Repository: IIQ-Community/mcp-incidentiq
- Issues and Bugs: GitHub Issues
- IncidentIQ Documentation: Available in your IncidentIQ admin panel
- MCP Documentation: Model Context Protocol
Contributing¶
This is a community project for K-12 districts. Contributions are welcome! Please see our Contributing Guide for details.
License¶
MIT License - See LICENSE for details.