Aha! MCP服务

通过Model Context Protocol (MCP)服务器访问Aha!记录的服务,实现与Aha!功能、需求和页面的无缝交互。

  • by popand
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 popand/aha-mcp

使用说明

哈哈mcp

用于访问Aha!的模型上下文协议(MCP)服务器!通过MCP记录。这种集成实现了与Aha!的无缝交互!功能、要求和页面直接通过模型上下文协议。

先决条件

  • Node.js v20或更高版本
  • npm(通常随Node.js一起提供)
  • 啊哈!具有API访问权限的帐户

安装

使用npx

npx -y aha-mcp@latest

手动安装

# Clone the repository
git clone https://github.com/aha-develop/aha-mcp.git
cd aha-mcp

# Install dependencies
npm install

# Run the server
npm run mcp-start

身份验证设置

  1. 登录你的Aha!帐户在 <yourcompany>.aha.io
  2. 访问 secure.aha.io/settings/api_keys
  3. 单击“新建API密钥”
  4. 立即复制令牌(不会再次显示)

有关身份验证和API使用的更多详细信息,请参阅 啊哈!API文档.

环境变量

此MCP服务器需要以下环境变量:

  • AHA_API_TOKEN你的啊哈!API令牌
  • AHA_DOMAIN你的啊哈!域名(例如yourcompanie.aha.io)

IDE集成

出于安全原因,我们建议您使用首选的安全方法来管理环境变量,而不是将API令牌直接存储在编辑器配置中。每个编辑器都有不同的安全模型和处理敏感信息的能力。

下面是如何配置各种编辑器以使用aha-mcp服务器的示例。您应该调整这些示例,以使用您首选的安全方法来提供所需的环境变量。

VSCode

将此添加到您的 .vscode/settings.json,使用您首选的方法安全地提供环境变量:

{
  "mcpServers": {
    "aha-mcp": {
      "command": "npx",
      "args": ["-y", "aha-mcp"]
      // Environment variables should be provided through your preferred secure method
    }
  }
}

光标

  1. 转到光标设置>MCP
  2. 单击+添加新的全局MCP服务器
  3. 添加类似于以下内容的配置:
{
  "mcpServers": {
    "aha-mcp": {
      "command": "npx",
      "args": ["-y", "aha-mcp"]
      // Environment variables should be provided through your preferred secure method
    }
  }
}

克莱恩

将配置添加到您的 cline_mcp_settings.json 通过临床MCP服务器设置:

{
  "mcpServers": {
    "aha-mcp": {
      "command": "npx",
      "args": ["-y", "aha-mcp"]
      // Environment variables should be provided through your preferred secure method
    }
  }
}

房间代码

通过以下任一方式打开MCP设置:

  • 点击RooCode设置中的“编辑MCP设置”,或
  • 使用VS Code命令面板中的“RooCode:打开MCP配置”命令

然后添加:

{
  "mcpServers": {
    "aha-mcp": {
      "command": "npx",
      "args": ["-y", "aha-mcp"]
      // Environment variables should be provided through your preferred secure method
    }
  }
}

克劳德桌面

将配置添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "aha-mcp": {
      "command": "npx",
      "args": ["-y", "aha-mcp"]
      // Environment variables should be provided through your preferred secure method
    }
  }
}

可用的MCP工具

1.获取记录

取回啊哈!通过参考号表示特征或要求。

参数:

  • reference (必填):功能或要求的参考号(例如“DEVELOP-123”)

例子:

{
  "reference": "DEVELOP-123"
}

答复:

{
  "reference_num": "DEVELOP-123",
  "name": "Feature name",
  "description": "Feature description",
  "workflow_status": {
    "name": "In development",
    "id": "123456"
  }
}

2.页数

得到一个Aha!按参考号分页。

参数:

  • reference (必填):页面参考号(例如“ABC-N-213”)
  • includeParent (可选):包括父页信息。默认为false。

例子:

{
  "reference": "ABC-N-213",
  "includeParent": true
}

答复:

{
  "reference_num": "ABC-N-213",
  "name": "Page title",
  "body": "Page content",
  "parent": {
    "reference_num": "ABC-N-200",
    "name": "Parent page"
  }
}

3.搜索文档

搜索Aha!文件。

参数:

  • query (必填):搜索查询字符串
  • searchableType (可选):要搜索的文档类型(例如“页面”)。默认为“页面”

例子:

{
  "query": "product roadmap",
  "searchableType": "Page"
}

答复:

{
  "results": [
    {
      "reference_num": "ABC-N-123",
      "name": "Product Roadmap 2025",
      "type": "Page",
      "url": "https://company.aha.io/pages/ABC-N-123"
    }
  ],
  "total_results": 1
}

4.create_feature

在Aha!中创建新功能!

参数:

  • release_id (必需):用于在中创建功能的版本的数字ID或密钥
  • name (必填):特征名称
  • workflow_kind (可选):功能类型
  • workflow_status (可选):具有工作流状态名称或id的对象
  • description (可选):功能描述(可能包括HTML格式)
  • assigned_to_user (可选):带有指定用户的电子邮件或id的对象
  • tags (可选):逗号分隔的标签应用于该功能
  • initial_estimate_text (可选):初始估计工作量(例如,时间为“2d 1h”,分数为“4p”)
  • start_date (可选):工作开始日期(YYYY-MM-DD格式)
  • due_date (可选):工作到期日期(YYYY-MM-DD格式)
  • initiative (可选):倡议的名称或ID
  • epic (可选):史诗的名称或ID
  • team (可选):团队的数字ID或密钥

例子:

{
  "release_id": "PRJ1-R-1",
  "name": "New Mobile App Feature",
  "workflow_kind": "new",
  "workflow_status": {
    "name": "Under consideration"
  },
  "description": "<p>Implement push notifications for mobile app</p>",
  "assigned_to_user": {
    "email": "developer@company.com"
  },
  "tags": "mobile,notifications,push"
}

答复:

{
  "id": "12345",
  "reference_num": "DEVELOP-789",
  "name": "New Mobile App Feature",
  "description": "<p>Implement push notifications for mobile app</p>",
  "workflow_status": {
    "id": "67890",
    "name": "Under consideration"
  },
  "assigned_to_user": {
    "id": "54321",
    "name": "John Developer",
    "email": "developer@company.com"
  },
  "release": {
    "id": "11111",
    "name": "Q2 2024 Release",
    "reference_num": "PRJ1-R-1"
  },
  "tags": "mobile,notifications,push"
}

查询示例

  • “获取功能开发-123”
  • “获取产品路线图页面ABC-N-213”
  • “搜索有关发布计划的页面”
  • “获取需求ADT-123-1”
  • “查找所有提及Q2目标的页面”
  • “在PRJ1-R-1版本中创建一个名为“用户身份验证”的新功能”
  • “在mobile-R-2版本中创建移动推送通知功能”

配置选项

变量 描述 默认值
AHA_API_TOKEN 你的啊哈!API令牌 必需
AHA_DOMAIN 你的啊哈!域名(例如yourcompanie.aha.io) 必填
LOG_LEVEL 日志记录级别(调试、信息、警告、错误) info
PORT SSE运输港口 3000
TRANSPORT 传输类型(stdio或sse) stdio

故障排除

Common Issues
  1. 身份验证错误:

    • 验证您的API令牌是否正确,并在您的环境中正确设置
    • 确保令牌在Aha!中具有必要的权限!
    • 确认你使用的是正确的啊哈!领域
  2. 服务器无法启动:

    • 确保安装了所有依赖项
    • 检查Node.js版本是否为v20或更高版本
    • 验证TypeScript编译成功
    • 确认环境变量设置正确且可访问
  3. 连接问题:

    • 检查您的网络连接
    • 验证你的啊哈!域可访问
    • 确保您的API令牌尚未过期
  4. API请求失败:

    • 检查参考号是否正确
    • 验证可搜索类型是否有效
    • 确保您有访问所请求资源的权限
  5. 特征创建错误(create_Feature工具):

    • 404“未找到记录”:The release_id 不存在或您无法访问它
      • 验证发布ID格式(例如“PRJ1-R-1”、“PROJ-R-123”)
      • 检查你的Aha!中是否存在发布!工作区
      • 确保您的API令牌具有在该版本中创建功能的权限
    • 403“禁止”:您的API令牌缺少创建功能的权限
    • 422“不可处理实体”:字段值无效(请检查工作流状态名称、用户电子邮件等)
    • 要查找有效的版本ID:使用Aha!UI或调用 GET /api/v1/releases 端点
  6. 环境变量问题:

    • 确保环境变量设置正确,并且MCP服务器可以访问
    • 检查您的安全存储方法是否配置正确
    • 验证环境变量是否传递给MCP服务器进程