get_group_doc_statistics
Retrieve document statistics for a Yuque team, including word count, views, and comments, with filtering and sorting options for analysis.
Instructions
获取团队文档的统计数据,包括各文档的字数、阅读量、评论量等
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| login | Yes | 团队的登录名或唯一标识 | |
| bookId | No | 知识库ID,用于过滤特定知识库的文档 | |
| name | No | 文档名称,用于过滤特定文档 | |
| range | No | 时间范围(0: 全部, 30: 近30天, 365: 近一年) | |
| page | No | 页码,默认为1 | |
| limit | No | 每页数量,默认为10,最大为20 | |
| sortField | No | 排序字段,可选值:content_updated_at、word_count、read_count、like_count、comment_count、created_at | |
| sortOrder | No | 排序方向,可选值:desc(降序)、asc(升序),默认为desc | |
| accessToken | No | 用于认证 API 请求的令牌 |
Implementation Reference
- src/services/yuque.ts:461-472 (handler)Core handler in YuqueService that performs the API request to fetch group document statistics from Yuque.async getGroupDocStatistics(login: string, params?: { bookId?: number; name?: string; range?: number; page?: number; limit?: number; sortField?: string; sortOrder?: 'desc' | 'asc'; }): Promise<any> { const response = await this.client.get(`/groups/${login}/statistics/docs`, { params }); return response.data.data; }
- src/server.ts:682-739 (registration)MCP tool registration for 'get_group_doc_statistics', including description, Zod input schema, and the wrapper handler function that invokes the YuqueService method.this.server.tool( "get_group_doc_statistics", "获取团队文档的统计数据,包括各文档的字数、阅读量、评论量等", { login: z.string().describe("团队的登录名或唯一标识"), bookId: z .number() .optional() .describe("知识库ID,用于过滤特定知识库的文档"), name: z.string().optional().describe("文档名称,用于过滤特定文档"), range: z .number() .optional() .describe("时间范围(0: 全部, 30: 近30天, 365: 近一年)"), page: z.number().optional().describe("页码,默认为1"), limit: z.number().optional().describe("每页数量,默认为10,最大为20"), sortField: z .string() .optional() .describe( "排序字段,可选值:content_updated_at、word_count、read_count、like_count、comment_count、created_at" ), sortOrder: z .enum(["desc", "asc"]) .optional() .describe("排序方向,可选值:desc(降序)、asc(升序),默认为desc"), accessToken: z.string().optional().describe("用于认证 API 请求的令牌"), }, async (params) => { try { const { login, accessToken, ...queryParams } = params; Logger.log(`Fetching doc statistics for group: ${login}`); const yuqueService = this.createYuqueService(accessToken); const stats = await yuqueService.getGroupDocStatistics( login, queryParams ); Logger.log(`Successfully fetched doc statistics for group: ${login}`); return { content: [{ type: "text", text: JSON.stringify(stats, null, 2) }], }; } catch (error) { Logger.error( `Error fetching doc statistics for group ${params.login}:`, error ); return { content: [ { type: "text", text: `Error fetching group doc statistics: ${error}`, }, ], }; } } );