Skip to main content
Glama

get_group_member_statistics

Retrieve detailed statistics of team members in Yuque, including edit counts, reads, and likes, with customizable filters, sorting, and pagination for efficient analysis.

Instructions

获取团队成员的统计数据,包括各成员的编辑次数、阅读量、点赞量等

Input Schema

NameRequiredDescriptionDefault
accessTokenNo用于认证 API 请求的令牌
limitNo每页数量,默认为10,最大为20
loginYes团队的登录名或唯一标识
nameNo成员名称,用于过滤特定成员
pageNo页码,默认为1
rangeNo时间范围(0: 全部, 30: 近30天, 365: 近一年)
sortFieldNo排序字段,可选值:write_doc_count、write_count、read_count、like_count
sortOrderNo排序方向,可选值:desc(降序)、asc(升序),默认为desc

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "accessToken": { "description": "用于认证 API 请求的令牌", "type": "string" }, "limit": { "description": "每页数量,默认为10,最大为20", "type": "number" }, "login": { "description": "团队的登录名或唯一标识", "type": "string" }, "name": { "description": "成员名称,用于过滤特定成员", "type": "string" }, "page": { "description": "页码,默认为1", "type": "number" }, "range": { "description": "时间范围(0: 全部, 30: 近30天, 365: 近一年)", "type": "number" }, "sortField": { "description": "排序字段,可选值:write_doc_count、write_count、read_count、like_count", "type": "string" }, "sortOrder": { "description": "排序方向,可选值:desc(降序)、asc(升序),默认为desc", "enum": [ "desc", "asc" ], "type": "string" } }, "required": [ "login" ], "type": "object" }

Implementation Reference

  • The MCP tool handler function that destructures parameters, creates YuqueService instance, calls getGroupMemberStatistics helper, logs progress, and returns formatted response or error.
    async (params) => { try { const { login, accessToken, ...queryParams } = params; Logger.log(`Fetching member statistics for group: ${login}`); const yuqueService = this.createYuqueService(accessToken); const stats = await yuqueService.getGroupMemberStatistics( login, queryParams ); Logger.log( `Successfully fetched member statistics for group: ${login}` ); return { content: [{ type: "text", text: JSON.stringify(stats, null, 2) }], }; } catch (error) { Logger.error( `Error fetching member statistics for group ${params.login}:`, error ); return { content: [ { type: "text", text: `Error fetching group member statistics: ${error}`, }, ], }; } }
  • Zod input schema defining parameters for the get_group_member_statistics tool including required login and optional filters.
    login: z.string().describe("团队的登录名或唯一标识"), 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( "排序字段,可选值:write_doc_count、write_count、read_count、like_count" ), sortOrder: z .enum(["desc", "asc"]) .optional() .describe("排序方向,可选值:desc(降序)、asc(升序),默认为desc"), accessToken: z.string().optional().describe("用于认证 API 请求的令牌"), },
  • src/server.ts:566-621 (registration)
    Registration of the get_group_member_statistics tool using McpServer.tool method with name, description, schema, and handler function.
    this.server.tool( "get_group_member_statistics", "获取团队成员的统计数据,包括各成员的编辑次数、阅读量、点赞量等", { login: z.string().describe("团队的登录名或唯一标识"), 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( "排序字段,可选值:write_doc_count、write_count、read_count、like_count" ), 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 member statistics for group: ${login}`); const yuqueService = this.createYuqueService(accessToken); const stats = await yuqueService.getGroupMemberStatistics( login, queryParams ); Logger.log( `Successfully fetched member statistics for group: ${login}` ); return { content: [{ type: "text", text: JSON.stringify(stats, null, 2) }], }; } catch (error) { Logger.error( `Error fetching member statistics for group ${params.login}:`, error ); return { content: [ { type: "text", text: `Error fetching group member statistics: ${error}`, }, ], }; } } );
  • YuqueService helper method that performs the actual API request to Yuque for group member statistics.
    async getGroupMemberStatistics(login: string, params?: { name?: string; range?: number; page?: number; limit?: number; sortField?: string; sortOrder?: 'desc' | 'asc'; }): Promise<any> { const response = await this.client.get(`/groups/${login}/statistics/members`, { params }); return response.data.data; }

Other Tools

Related Tools

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/HenryHaoson/Yuque-MCP-Server'

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