使用说明
哈哈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
身份验证设置
- 登录你的Aha!帐户在
<yourcompany>.aha.io - 访问 secure.aha.io/settings/api_keys
- 单击“新建API密钥”
- 立即复制令牌(不会再次显示)
有关身份验证和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
}
}
}
光标
- 转到光标设置>MCP
- 单击+添加新的全局MCP服务器
- 添加类似于以下内容的配置:
{
"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(可选):倡议的名称或IDepic(可选):史诗的名称或IDteam(可选):团队的数字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
-
身份验证错误:
- 验证您的API令牌是否正确,并在您的环境中正确设置
- 确保令牌在Aha!中具有必要的权限!
- 确认你使用的是正确的啊哈!领域
-
服务器无法启动:
- 确保安装了所有依赖项
- 检查Node.js版本是否为v20或更高版本
- 验证TypeScript编译成功
- 确认环境变量设置正确且可访问
-
连接问题:
- 检查您的网络连接
- 验证你的啊哈!域可访问
- 确保您的API令牌尚未过期
-
API请求失败:
- 检查参考号是否正确
- 验证可搜索类型是否有效
- 确保您有访问所请求资源的权限
-
特征创建错误(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端点
- 404“未找到记录”:The
-
环境变量问题:
- 确保环境变量设置正确,并且MCP服务器可以访问
- 检查您的安全存储方法是否配置正确
- 验证环境变量是否传递给MCP服务器进程
