Skip to main content
Glama
aaronsb

Jira Insights MCP

by aaronsb

Jira Insights MCP

用于管理 Jira Insights (JSM) 资产模式的模型上下文协议 (MCP) 服务器。

上次更新时间:2025 年 4 月 9 日

概述

此 MCP 服务器提供通过模型上下文协议 (MCP) 与 Jira Insights (JSM) 资产模式交互的工具。它允许您管理 Jira Insights 中的对象模式、对象类型和对象。

Related MCP server: MCP Atlassian

特征

  • 管理对象模式(创建、读取、更新、删除)

  • 管理对象类型(创建、读取、更新、删除)

  • 管理对象(创建、读取、更新、删除)

  • 使用 AQL(Atlassian 查询语言)查询对象

先决条件

  • Node.js 20 或更高版本

  • Docker(用于容器化部署)

  • 具有 API 访问权限的 Jira Insights 实例

  • 具有适当权限的 Jira API 令牌

安装

本地开发

  1. 克隆存储库:

    git clone https://github.com/aaronsb/jira-insights-mcp.git
    cd jira-insights-mcp
  2. 安装依赖项:

    npm install
  3. 构建项目:

    npm run build

Docker

构建 Docker 镜像:

./scripts/build-local.sh

用法

MCP 配置

要将此 MCP 服务器与 Claude 或其他支持模型上下文协议的 AI 助手一起使用,请使用以下方法之一将其添加到您的 MCP 配置中:

本地构建配置

如果您已经在本地构建了项目,请使用以下配置:

{
  "mcpServers": {
    "jira-insights": {
      "command": "node",
      "args": ["/path/to/jira-insights-mcp/build/index.js"],
      "env": {
        "JIRA_API_TOKEN": "your-api-token",
        "JIRA_EMAIL": "your-email@example.com",
        "JIRA_HOST": "https://your-domain.atlassian.net",
        "LOG_MODE": "strict"
      }
    }
  }
}

基于Docker的配置

如果您更喜欢使用 Docker 镜像(推荐大多数用户使用),请使用以下配置:

{
  "mcpServers": {
    "jira-insights": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e", "JIRA_API_TOKEN",
        "-e", "JIRA_EMAIL",
        "-e", "JIRA_HOST",
        "ghcr.io/aaronsb/jira-insights-mcp:latest"
      ],
      "env": {
        "JIRA_API_TOKEN": "your-api-token",
        "JIRA_EMAIL": "your-email@example.com",
        "JIRA_HOST": "https://your-domain.atlassian.net"
      }
    }
  }
}

这个基于 Docker 的配置从 GitHub Container Registry 中提取最新的镜像并使用必要的环境变量运行它。

本地运行以进行开发

对于本地开发和测试:

# Build the Docker image
./scripts/build-local.sh

# Run the Docker container
JIRA_API_TOKEN=your_token JIRA_EMAIL=your_email JIRA_HOST=your_host ./scripts/run-local.sh

可用工具

管理jira_insight_schema

使用 CRUD 操作管理 Jira Insights 对象模式。

{
  "operation": "list",
  "maxResults": 10
}

管理jira_insight_object_type

使用 CRUD 操作管理 Jira Insights 对象类型。

{
  "operation": "list",
  "schemaId": "1",
  "maxResults": 20
}

管理jira_insight_对象

使用 CRUD 操作和 AQL 查询管理 Jira Insights 对象。

{
  "operation": "query",
  "aql": "objectType = \"Application\"",
  "maxResults": 10
}

可用资源

MCP 服务器提供了多种用于访问 Jira Insights 数据的资源:

  • jira-insights://instance/summary - 有关 Jira Insights 实例的高级统计信息

  • jira-insights://aql-syntax - 资产查询语言 (AQL) 语法综合指南及示例

  • jira-insights://schemas/all - 所有模式及其对象类型的完整列表

  • jira-insights://schemas/{schemaId}/full - 特定模式的完整定义,包括对象类型

  • jira-insights://schemas/{schemaId}/overview - 特定模式的概述,包括元数据和统计数据

  • jira-insights://object-types/{objectTypeId}/overview - 特定对象类型的概述,包括属性和统计信息

计划改进

我们正在进行多项改进,以增强 Jira Insights MCP 的功能和可用性:

高优先级改进

  1. 增强错误处理

    • 针对具体验证问题的更详细的错误消息

    • 常见错误的修复建议

    • 特定操作示例,帮助用户纠正问题

  2. AQL 查询改进

    • AQL 查询的验证和格式化实用程序

    • 特定于架构的示例查询

    • 针对查询问题的更好的错误消息

  3. 属性发现增强

    • 改进了对象类型的属性检索

    • 缓存以获得更好的性能

    • 更好地处理“expand”参数

中优先级改进

  1. 对象模板生成

    • 根据对象类型创建对象的模板

    • 类型特定的占位符生成

    • 模板中的验证规则

  2. 示例查询库

    • 特定于架构的示例查询

    • 上下文感知查询建议

    • 常见操作的查询模板

  3. 改进的文档

    • 增强的 AQL 语法文档

    • 特定操作文档

    • 常见错误场景及解决方案

有关计划改进的更多详细信息,请参阅:

  • TODO.md - 综合待办事项列表,所有任务按优先级排列

  • IMPLEMENTATION_PLAN.md - 高优先级改进的详细实施计划

  • HANDLER_IMPROVEMENTS.md - 每个处理程序文件所需的具体更改

  • IMPROVEMENT_SUMMARY.md - 计划改进的简明摘要

  • docs/API_MIGRATION_TODO.md - API 迁移状态和计划改进

发展

脚本

  • npm run build :构建 TypeScript 代码

  • npm run lint :运行 ESLint

  • npm run lint:fix :运行带有自动修复功能的 ESLint

  • npm run test :运行测试

  • npm run watch :观察变化并重建

  • npm run generate-diagrams :生成 TypeScript 依赖关系图

Docker脚本

  • ./scripts/build-local.sh :构建 Docker 镜像

  • ./scripts/run-local.sh :运行 Docker 容器

故障排除

常见问题

  1. AQL 查询验证错误

    • 确保带空格的值用引号引起来: Name = "John Doe"

    • 对逻辑运算符使用大写: ANDOR (非andor

    • 检查模式中是否存在对象类型和属性

  2. 对象类型属性问题

    • 当使用带有“attributes”的“expand”参数时,确保对象类型存在

    • 检查您是否有权限查看属性

  3. API 连接问题

    • 验证您的 Jira API 令牌是否具有必要的权限

    • 检查 Jira 主机 URL 是否正确

    • 确保您的网络允许连接到 Jira API

执照

麻省理工学院

Available Tools

3 tools
manage_jira_insight_objectC

Manage Jira Insights objects with CRUD operations and AQL queries

ParametersJSON Schema
NameRequiredDescriptionDefault
aqlNoAQL query string. Required for query operation. IMPORTANT: For comprehensive AQL documentation, refer to the "jira-insights://aql-syntax" resource using the access_mcp_resource tool. This resource contains detailed syntax guides, examples, and best practices. Guide to Constructing Better Jira Insight AQL Queries: Understanding AQL Fundamentals: - Object Type Case Sensitivity: Use exact case matching for object type names (e.g., ObjectType = "Supported laptops" not objectType = "Supported laptops"). - String Values in Quotes: Always enclose string values in double quotes, especially values containing spaces (e.g., Name = "MacBook Pro" not Name = MacBook Pro). - Attribute References: Reference attributes directly by their name, not by a derived field name (e.g., use Name not name). - LIKE Operator Usage: Use the LIKE operator for partial string matching, but be aware it may be case-sensitive. Effective Query Construction: - Start Simple: Begin with the most basic query to validate object existence before adding complex filters: ObjectType = "Supported laptops" - Examine Response Objects: Study the first responses to understand available attribute names and formats before using them in filters. - Keyword Strategy: When searching for specific items, try multiple potential keywords (e.g., "ThinkPad", "Lenovo", "Carbon") rather than just exclusion logic. - Incremental Complexity: Add filter conditions incrementally, testing after each addition rather than constructing complex queries in one step. Managing Complex Queries: - AND/OR Operators: Structure complex conditions carefully with proper parentheses: ObjectType = "Supported laptops" AND (Name LIKE "ThinkPad" OR Name LIKE "Lenovo") - NOT Operators: Use NOT sparingly and with proper syntax: ObjectType = "Supported laptops" AND NOT Name LIKE "MacBook" - Reference Object Queries: For filtering on related objects, use their object key as a reference: ObjectType = "Supported laptops" AND Manufacturer = "PPL-231" - Pagination Awareness: For large result sets, utilize the startAt and maxResults parameters to get complete data.
attributesNoAttributes of the object as key-value pairs. Optional for create/update.
expandNoOptional fields to include in the response
includeAttributesNoShould the objects attributes be included in the response. If this parameter is false only the information on the object will be returned and the object attributes will not be present.
includeAttributesDeepNoHow many levels of attributes should be included. E.g. consider an object A that has a reference to object B that has a reference to object C. If object A is included in the response and includeAttributesDeep=1 object A's reference to object B will be included in the attributes of object A but object B's reference to object C will not be included. However if the includeAttributesDeep=2 then object B's reference to object C will be included in object B's attributes.
includeExtendedInfoNoInclude information about open Jira issues. Should each object have information if open tickets are connected to the object?
includeTypeAttributesNoShould the response include the object type attribute definition for each attribute that is returned with the objects.
maxResultsNoMaximum number of objects to return. Used for list and query operations. Can also use snake_case "max_results".
nameNoName of the object. Required for create operation, optional for update.
objectIdNoThe ID of the object. Required for get, update, and delete operations. Can also use snake_case "object_id".
objectTypeIdNoThe ID of the object type. Required for create operation. Can also use snake_case "object_type_id".
operationYesOperation to perform on the object
resolveAttributeNamesNoReplace attribute IDs (attr_xxx) with actual attribute names in the response. This provides more meaningful attribute names for better readability.
schemaIdNoThe ID of the schema to use for enhanced validation. When provided, the query will be validated against the schema structure, providing better error messages and suggestions.
simplifiedResponseNoReturn a simplified response with only essential key-value pairs, excluding detailed metadata, references, and type definitions. Useful for reducing response size and improving readability.
startAtNoIndex of the first object to return (0-based). Used for list and query operations. Can also use snake_case "start_at".

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'CRUD operations and AQL queries' but lacks details on permissions, side effects, rate limits, or response formats. For a tool with 16 parameters and complex operations like delete/update, this is insufficient—it doesn't explain what 'manage' entails beyond high-level operations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is overly concise to the point of under-specification—it's a single sentence that fails to convey necessary details for such a complex tool. It lacks front-loaded critical information and doesn't structure guidance effectively, making it inefficient despite its brevity.

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?

Given the tool's complexity (16 parameters, no annotations, no output schema), the description is incomplete. It doesn't address behavioral aspects, usage context, or output expectations, leaving significant gaps. For a multi-operation tool managing objects, more comprehensive guidance is needed to support effective agent use.

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 description adds minimal parameter semantics beyond the input schema, which has 100% coverage. It implies parameters relate to CRUD and AQL operations but doesn't elaborate on specific usage or interactions. Since schema coverage is high, the baseline is 3, but the description doesn't compensate with additional insights like parameter dependencies or examples.

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 purpose: 'Manage Jira Insights objects with CRUD operations and AQL queries.' It specifies the resource (Jira Insights objects) and the operations (CRUD + AQL queries). However, it doesn't explicitly differentiate from sibling tools like 'manage_jira_insight_object_type' or 'manage_jira_insight_schema,' which likely manage different resources.

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 its siblings or alternatives. It mentions CRUD operations and AQL queries but doesn't specify scenarios, prerequisites, or exclusions. For example, it doesn't clarify if this is for basic object management while siblings handle types/schemas, leaving usage context implied at best.

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

manage_jira_insight_object_typeC

Manage Jira Insights object types with CRUD operations

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionNoDescription of the object type. Optional for create/update.
expandNoOptional fields to include in the response
iconNoIcon for the object type. Optional for create/update.
maxResultsNoMaximum number of object types to return. Used for list operation. Can also use snake_case "max_results".
nameNoName of the object type. Required for create operation, optional for update.
objectTypeIdNoThe ID of the object type. Required for get, update, and delete operations. Can also use snake_case "object_type_id".
operationYesOperation to perform on the object type
schemaIdNoThe ID of the schema. Required for create operation. Can also use snake_case "schema_id".
startAtNoIndex of the first object type to return (0-based). Used for list operation. Can also use snake_case "start_at".

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states 'CRUD operations' without detailing permissions, side effects, rate limits, or response behavior. It lacks critical information for a mutation-capable tool.

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, efficient sentence that front-loads the core purpose without unnecessary words. It's appropriately sized for the tool's complexity.

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?

For a tool with 9 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain return values, error handling, or behavioral nuances needed for safe and effective use.

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 well-documented in the schema. The description adds no additional parameter semantics beyond the generic 'CRUD operations', which aligns with the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool performs CRUD operations on Jira Insights object types, which is a clear purpose. However, it doesn't differentiate from sibling tools like 'manage_jira_insight_object' or 'manage_jira_insight_schema', leaving ambiguity about scope boundaries.

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 provided on when to use this tool versus its siblings or alternatives. The description mentions CRUD operations but doesn't specify contexts, prerequisites, or exclusions for usage.

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

manage_jira_insight_schemaC

Manage Jira Insights object schemas with CRUD operations

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionNoDescription of the schema. Optional for create/update.
expandNoOptional fields to include in the response
maxResultsNoMaximum number of schemas to return. Used for list operation. Can also use snake_case "max_results".
nameNoName of the schema. Required for create operation, optional for update.
operationYesOperation to perform on the schema
schemaIdNoThe ID of the schema. Required for get, update, and delete operations. Can also use snake_case "schema_id".
startAtNoIndex of the first schema to return (0-based). Used for list operation. Can also use snake_case "start_at".

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure but only states 'manage with CRUD operations.' It doesn't describe authentication requirements, rate limits, error conditions, what 'delete' actually destroys, or response formats. For a multi-operation tool with mutation capabilities, this leaves significant behavioral 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 a single, efficient sentence that directly states the tool's function without unnecessary words. It's appropriately sized and front-loaded with the core purpose, though it could benefit from more detail given the tool's complexity.

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?

For a complex tool with 7 parameters supporting 5 different operations (including destructive ones like delete) and no output schema or annotations, the description is inadequate. It doesn't explain return values, error handling, or operational constraints, leaving the agent with insufficient context to use the tool effectively.

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 the schema already documents all 7 parameters thoroughly. The description adds no parameter-specific information beyond the generic 'CRUD operations' mention, which doesn't provide additional semantic context about individual parameters or their relationships.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool manages Jira Insights object schemas with CRUD operations, which provides a general purpose but lacks specificity about what 'manage' entails. It doesn't distinguish this schema management tool from its sibling object and object type management tools, leaving the scope vague.

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 provided about when to use this tool versus its siblings (manage_jira_insight_object and manage_jira_insight_object_type). The description mentions CRUD operations but doesn't specify contexts, prerequisites, or exclusions for choosing this schema management tool over alternatives.

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. 3 tool updatesv1.0.0
    • First observedmanage_jira_insight_object
    • First observedmanage_jira_insight_object_type
    • First observedmanage_jira_insight_schema

TDQS

B3.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose targeting different Jira Insights components: objects, object types, and schemas. The descriptions specify unique domains (objects, object types, schemas) with no overlap in functionality, making it easy for an agent to select the correct tool.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with 'manage_jira_insight_' prefix followed by the specific component (object, object_type, schema). This predictable naming convention enhances readability and usability across the tool set.

Tool Count3/5

With only 3 tools, the count feels thin for a server named 'Jira Insights MCP', which might imply broader functionality. However, it covers core management areas adequately, though it could benefit from additional tools for querying or reporting to be more comprehensive.

Completeness4/5

The tools provide CRUD operations for key Jira Insights components (objects, types, schemas), covering essential management tasks. A minor gap exists in lacking dedicated query or analysis tools beyond AQL mentioned in one description, but core workflows are well-supported.

Maintenance

ActivityInactive
ResponsivenessNo issues

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
    A
    maintenance
    Model Context Protocol (MCP) server for Atlassian Cloud products (Confluence and Jira). This integration is designed specifically for Atlassian Cloud instances and does not support Atlassian Server or Data Center deployments.
    5,853
    MIT
  • -
    license
    Not graded
    quality
    C
    maintenance
    A local MCP server for administering Atlassian Cloud Assets and Jira, providing hundreds of tools for schemas, projects, workflows, and more.
    -

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/aaronsb/jira-insights-mcp'

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