Provides access to Jira Service Management (JSM) Assets data, enabling users to search assets using Assets Query Language (AQL), browse object schemas, and explore object types and attributes through the Atlassian API.
Specifically integrates with Jira Service Management Assets to provide tools for searching assets with AQL, retrieving hierarchical child objects, and inspecting detailed object attribute information with robust automatic pagination.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@JSM Assets MCP Serversearch for all laptops with status = 'Active' using AQL"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
JSM Assets MCP Server
A Model Context Protocol (MCP) server that provides AI assistants like Claude access to Jira Service Management (JSM) Assets data through standardized tools.
š New Features: Robust automatic pagination, Claude Code support, and reliable complete data retrieval!
š Quick Start
Get started in under 5 minutes: Quick Start Guide ā
Features
š Search Assets with AQL: Use Assets Query Language for complex searches with robust pagination
š Browse Object Schemas: List all available asset schemas
šļø Explore Object Types: View object types within schemas
š Inspect Object Attributes: Get detailed attribute information
š³ Find Child Objects: Search hierarchical object relationships with automatic pagination
ā” Robust Pagination: Never miss data with reliable multi-page retrieval
š„ļø Multi-Platform: Works with Claude Desktop (.dxt) and Claude Code (CLI)
Installation
Multiple installation options available: Complete Installation Guide ā
Quick Options
š Claude Desktop (Recommended)
ā” Claude Code
š ļø Traditional Setup
Configuration
Environment Variables
Create a .env file with the following variables:
Claude Desktop Integration
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
Available Tools
1. search_assets_aql
Search assets using AQL (Assets Query Language) with robust automatic pagination.
Parameters:
aqlQuery(required): AQL query stringautoPages(optional): Enable automatic pagination (default: false for backward compatibility)maxPages(optional): Maximum pages to fetch when autoPages=true (default: 10, safety limit)pageSize(optional): Objects per page when autoPages=true (default: 1000)startAt(optional): Starting index for single-page requests when autoPages=false (default: 0)maxResults(optional): Max results for single-page requests when autoPages=false (default: 1000)
Examples:
Pagination Behavior:
When
autoPages=false: Traditional single API request (backward compatible)When
autoPages=true: Uses robust pagination that continues fetching until returned count < requested countAvoids relying on potentially unreliable API metadata (total, isLast)
Provides clear feedback about pages fetched and potential limits reached
2. get_object_schemas
List all object schemas in the workspace.
Parameters: None
3. get_object_types
Get object types for a specific schema.
Parameters:
schemaId(required): Schema ID number
4. get_object_attributes
Get attributes for a specific object type.
Parameters:
objectTypeId(required): Object type ID number
5. search_child_objects
Search for child objects of a parent type with automatic pagination and optional filters.
Parameters:
parentObjectType(required): Parent object type namefilters(optional): Object with optional filters:dateFrom: Start date (YYYY-MM-DD HH:mm)dateTo: End date (YYYY-MM-DD HH:mm)keyPrefix: Key prefix filter
autoPages(optional): Enable automatic pagination (default: true for child objects)maxPages(optional): Maximum pages to fetch when autoPages=true (default: 10, safety limit)pageSize(optional): Objects per page when autoPages=true (default: 1000)
Note: Child object searches default to automatic pagination since hierarchical queries often return large result sets.
Robust Pagination
This MCP server implements a reliable pagination strategy that doesn't rely on potentially unreliable JSM API metadata:
The Problem
JSM Assets API responses include total and isLast fields that can sometimes be inaccurate, leading to incomplete data retrieval.
The Solution
Our robust pagination uses this reliable pattern:
Request N objects (e.g., 1000)
If exactly N objects are returned, assume more pages exist
Continue requesting until returned count < requested count
This ensures complete data retrieval without relying on API metadata
Benefits
ā Reliable: Gets all data regardless of API metadata accuracy
ā Safe: Built-in maxPages limits prevent runaway requests
ā Backward Compatible: Single-page requests still work as before
ā Transparent: Clear feedback about pages fetched and limits reached
Usage Examples
Get ALL Installation Packages (automatic pagination):
Large Hierarchical Queries:
Single Page (traditional):
Example Queries
Basic Asset Search
Complete Data Retrieval
Hierarchical Search
Schema Exploration
Attribute Analysis
API Reference
JSM Assets API Endpoints Used
POST /object/aql- AQL searchesGET /objectschema/list- List schemasGET /objectschema/{id}/objecttypes/flat- Get object typesGET /objecttype/{id}/attributes- Get attributes
Authentication
Uses Basic Authentication with pre-encoded tokens. The token should be Base64 encoded in the format:
Development
Scripts
npm run build- Build the TypeScript projectnpm run dev- Watch mode for developmentnpm run start- Run the built servernpm run clean- Clean build artifacts
Project Structure
Error Handling
The server includes comprehensive error handling:
Input validation for all parameters
API error transformation and reporting
Graceful fallbacks for missing data
Debug logging when enabled
Debugging
Enable debug logging by setting:
Troubleshooting
Common Issues
Authentication Errors
Verify your token is correctly encoded
Check workspace ID is correct
Ensure you have proper JSM Assets permissions
Connection Issues
Verify the base URL is correct
Check network connectivity
Confirm workspace exists and is accessible
Query Errors
Validate AQL syntax
Check object type names exist
Verify schema IDs are correct
Support
For issues with the MCP server implementation, check:
Server logs for detailed error messages
Environment variable configuration
Network connectivity to JSM APIs
Token permissions and expiration
License
ISC License - see LICENSE file for details.