Skip to main content
Glama

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
NameRequiredDescriptionDefault
loginYes团队的登录名或唯一标识
bookIdNo知识库ID,用于过滤特定知识库的文档
nameNo文档名称,用于过滤特定文档
rangeNo时间范围(0: 全部, 30: 近30天, 365: 近一年)
pageNo页码,默认为1
limitNo每页数量,默认为10,最大为20
sortFieldNo排序字段,可选值:content_updated_at、word_count、read_count、like_count、comment_count、created_at
sortOrderNo排序方向,可选值:desc(降序)、asc(升序),默认为desc
accessTokenNo用于认证 API 请求的令牌

Implementation Reference

  • 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}`,
              },
            ],
          };
        }
      }
    );

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