Skip to main content
Glama

TAPD Data Fetcher

TAPD数据精确搜索功能使用手册.md9.5 kB
# TAPD数据精确搜索功能使用手册 ## 功能概述 TAPD数据精确搜索功能提供了强大的数据检索能力,支持对TAPD需求和缺陷数据进行精确匹配搜索。该功能包含三个主要MCP工具,可以满足不同的搜索需求。 ## 功能特性 ### 🔍 核心功能 - **精确字段匹配搜索** - 支持对任何字段进行精确或模糊搜索 - **优先级筛选** - 快速筛选高、中、低优先级数据 - **数据统计分析** - 提供全面的数据分布统计信息 - **灵活搜索选项** - 支持大小写敏感、精确匹配等选项 - **结果导出** - 支持将搜索结果导出为JSON文件 ### 📊 支持的数据类型 - **需求数据 (stories)** - 项目需求、任务、用户故事等 - **缺陷数据 (bugs)** - 缺陷报告、问题记录等 - **混合搜索 (both)** - 同时搜索需求和缺陷数据 ## MCP工具详解 ### 1. precise_search_tapd_data - 精确搜索工具 #### 功能描述 对TAPD数据进行精确的字段搜索,支持全字段搜索或指定字段搜索。 #### 参数说明 ``` search_value (str): 搜索值,要查找的内容 search_field (str, optional): 搜索字段,None表示搜索所有字段 data_type (str): 数据类型 - 'stories'(需求), 'bugs'(缺陷), 'both'(两者) exact_match (bool): 是否精确匹配 - True=完全相等, False=包含匹配 case_sensitive (bool): 是否区分大小写 ``` #### 支持的搜索字段 **需求字段 (stories)** - `id` - 需求ID - `name` - 需求名称 - `description` - 需求描述 - `creator` - 创建者 - `priority` - 优先级数值 (1-4) - `priority_label` - 优先级标签 (Nice To Have, Low, Middle, High) - `status` - 状态 - `created` - 创建时间 - `modified` - 修改时间 - `begin` - 开始时间 - `due` - 截止时间 **缺陷字段 (bugs)** - `id` - 缺陷ID - `title` - 缺陷标题 - `description` - 缺陷描述 - `reporter` - 报告者 - `priority` - 优先级 (insignificant, low, medium, high, urgent) - `severity` - 严重程度 (advice, prompt, normal, serious, fatal) - `status` - 状态 (new, in_progress, resolved, closed, rejected, reopened) - `created` - 创建时间 - `modified` - 修改时间 #### 使用示例 **1. 根据ID精确查找** ```json { "search_value": "1148591566001000001", "search_field": "id", "data_type": "both", "exact_match": true } ``` **2. 搜索特定创建者的所有任务** ```json { "search_value": "张凯晨", "search_field": "creator", "data_type": "stories" } ``` **3. 模糊搜索包含关键词的标题** ```json { "search_value": "登录", "search_field": "name", "exact_match": false, "case_sensitive": false } ``` **4. 搜索所有字段包含特定关键词** ```json { "search_value": "前端开发", "search_field": null, "exact_match": false } ``` ### 2. search_tapd_by_priority - 优先级搜索工具 #### 功能描述 根据优先级快速筛选TAPD数据,支持预设优先级和具体优先级标签。 #### 参数说明 ``` priority_filter (str): 优先级过滤器 data_type (str): 数据类型 ``` #### 优先级映射 **需求优先级 (数字越大越紧急)** - `1` → Nice To Have (最低) - `2` → Low (低) - `3` → Middle (中) - `4` → High (高) **缺陷优先级** - `insignificant` → 微不足道 - `low` → 低 - `medium` → 中 - `high` → 高 - `urgent` → 紧急 #### 预设过滤器 - `high` - 高优先级 (需求: 3,4; 缺陷: high,urgent) - `medium` - 中优先级 (需求: 3; 缺陷: medium) - `low` - 低优先级 (需求: 1,2; 缺陷: low,insignificant) - `all` - 所有优先级 #### 使用示例 **1. 查找所有高优先级项目** ```json { "priority_filter": "high", "data_type": "both" } ``` **2. 查找紧急缺陷** ```json { "priority_filter": "urgent", "data_type": "bugs" } ``` **3. 查找特定优先级标签的需求** ```json { "priority_filter": "High", "data_type": "stories" } ``` ### 3. get_tapd_data_statistics - 数据统计工具 #### 功能描述 提供TAPD数据的全面统计分析,包含数量分布、优先级分布、状态分布等。 #### 参数说明 ``` data_type (str): 数据类型 - 'stories', 'bugs', 'both' ``` #### 统计内容 **需求统计** - 总数量 - 优先级分布 - 状态分布 - 创建者分布 - 最近项目数 (7天内) - 已完成项目数 - 高优先级项目数 **缺陷统计** - 总数量 - 优先级分布 - 严重程度分布 - 状态分布 - 报告者分布 - 最近缺陷数 (7天内) - 已解决缺陷数 - 高优先级缺陷数 #### 使用示例 **1. 获取全部数据统计** ```json { "data_type": "both" } ``` **2. 仅获取需求统计** ```json { "data_type": "stories" } ``` ## 返回结果格式 ### 搜索结果结构 ```json { "stories": [ { "id": "需求ID", "name": "需求名称", "description": "需求描述", "_match_info": { "matched_fields": [ { "field": "匹配字段", "value": "字段值", "match_type": "exact|partial" } ], "match_count": 1 } } ], "bugs": [ { "id": "缺陷ID", "title": "缺陷标题", "description": "缺陷描述", "_match_info": { "matched_fields": [...], "match_count": 1 } } ], "summary": { "total_stories": 10, "total_bugs": 5, "total_items": 15, "search_params": { "search_value": "搜索值", "search_field": "搜索字段", "data_type": "both", "exact_match": true, "case_sensitive": false } } } ``` ### 统计结果结构 ```json { "stories": { "total_count": 44, "priority_distribution": { "1 (Nice To Have)": 6, "2 (Low)": 0, "3 (Middle)": 10, "4 (High)": 28 }, "status_distribution": { "status_4": 15, "status_5": 18, "status_6": 11 }, "creator_distribution": { "张凯晨": 9, "TAPD": 35 }, "recent_items": 6, "completed_items": 11, "high_priority_items": 38 }, "bugs": { "total_count": 22, "priority_distribution": { "insignificant": 1, "low": 3, "medium": 10, "high": 3, "urgent": 5 }, "severity_distribution": { "advice": 3, "prompt": 4, "normal": 6, "serious": 5, "fatal": 4 }, "status_distribution": { "new": 16, "in_progress": 1, "resolved": 1, "closed": 1, "rejected": 1, "reopened": 1 }, "recent_items": 16, "resolved_items": 2, "high_priority_items": 8 } } ``` ## 高级功能 ### 搜索结果导出 搜索器还提供了结果导出功能,可以将搜索结果保存为JSON文件: ```python from mcp_tools.data_precise_searcher import get_searcher searcher = get_searcher() results = searcher.search_by_field("前端", exact_match=False) export_result = searcher.export_results(results, "search_results.json") ``` ### 高级搜索参数 搜索器的 `advanced_search` 方法支持更多高级参数: ```python search_params = { 'text_search': '前端', # 文本搜索 'search_fields': ['name', 'description'], # 搜索字段列表 'data_type': 'both', # 数据类型 'priority_filter': 'high', # 优先级过滤 'status_filter': 'status_4', # 状态过滤 'creator_filter': '张凯晨', # 创建者过滤 'date_range': { # 日期范围 'start': '2025-08-01', 'end': '2025-08-31' }, 'exact_match': False, # 精确匹配 'case_sensitive': False, # 大小写敏感 'sort_by': 'created', # 排序字段 'sort_order': 'desc', # 排序顺序 'limit': 10 # 结果限制 } results = searcher.advanced_search(search_params) ``` ## 使用场景 ### 1. 项目管理场景 - **查找特定人员的任务**: 搜索creator或reporter字段 - **跟踪高优先级项目**: 使用优先级搜索快速定位重要任务 - **状态监控**: 搜索特定状态的项目,了解项目进展 ### 2. 质量管理场景 - **缺陷分析**: 按严重程度、优先级筛选缺陷 - **趋势监控**: 统计数据分布,了解质量趋势 - **问题定位**: 精确搜索特定ID的缺陷记录 ### 3. 数据分析场景 - **工作负载分析**: 统计不同人员的任务分布 - **项目健康度评估**: 分析高优先级项目占比 - **时间分析**: 结合时间字段进行趋势分析 ## 注意事项 1. **数据文件依赖**: 需要先调用 `get_tapd_data` 工具获取最新数据 2. **大小写处理**: 默认不区分大小写,可通过参数调整 3. **日期格式**: 支持 'YYYY-MM-DD' 和 'YYYY-MM-DD HH:MM:SS' 格式 4. **性能考虑**: 大数据集建议使用精确匹配而非模糊搜索 5. **字段名称**: 请使用正确的字段名称,区分needs和bugs的不同字段 ## 错误处理 工具提供了完善的错误处理机制: - **文件不存在**: 提示先获取TAPD数据 - **参数错误**: 提供参数格式说明 - **搜索无结果**: 返回空结果集但不报错 - **字段不存在**: 自动忽略不存在的字段 ## 更新记录 - **2025-08-29**: 初始版本发布 - 支持精确字段搜索 - 支持优先级筛选 - 支持数据统计分析 - 提供完整的MCP工具接口

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/OneCuriousLearner/MCPAgentRE'

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