Skip to main content
Glama
Roland0511

MCP Feishu Project Manager

by Roland0511

get_view_list

Retrieve all available views for a specific work item type (story, version, or issue) in Feishu project management to organize and analyze project data effectively.

Instructions

获取当前飞书项目下的某一类型工作项的所有视图列表 Args: work_item_type_key: 工作项类型,可选值为"story"、"version"、"issue", 分别对应需求、版本、缺陷。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
work_item_type_keyYes

Implementation Reference

  • MCP tool handler for 'get_view_list': decorated function that ensures plugin token and delegates to FSProjClient.get_view_list.
    @mcp.tool("get_view_list")
    def get_view_list(work_item_type_key: WorkItemType):
        """获取当前飞书项目下的某一类型工作项的所有视图列表
        Args:
            work_item_type_key: 工作项类型,可选值为"story"、"version"、"issue", 分别对应需求、版本、缺陷。
        """    
        client.get_plugin_token()
        return client.get_view_list(work_item_type_key)
  • Core implementation in FSProjClient that sends POST request to Feishu Project API endpoint /open_api/{project_key}/view_conf/list to retrieve the view list.
    def get_view_list(self, work_item_type_key: WorkItemType, created_by: str = "", page_num: int = 1, page_size: int = 100) -> Dict:
        """获取视图列表及配置信息
        
        Args:
            work_item_type_key: 工作项类型标识
            created_by: 创建者标识
            page_num: 页码
            page_size: 每页数量
            
        Returns:
            视图列表及配置信息
        """
        
        data = {
            "work_item_type_key": work_item_type_key,
            "page_num": page_num,
            "page_size": page_size,
            "created_by": created_by
        }
        response = self._request(
            "POST", 
            f"/open_api/{self.project_key}/view_conf/list", 
            json_data=data
        )
        err_code = response.get("code", 0)
        if err_code != 0:
            raise Exception(f"获取视图列表及配置信息失败,错误码: {err_code}, 错误信息: {response.get('err_msg')}")
        return response.get("data", {})
  • Type alias defining valid values for work_item_type_key parameter (story, version, issue).
    WorkItemType = Literal["story", "version", "issue"]
  • Tool registration via @mcp.tool decorator in FastMCP server.
    @mcp.tool("get_view_list")
    def get_view_list(work_item_type_key: WorkItemType):
        """获取当前飞书项目下的某一类型工作项的所有视图列表
        Args:
            work_item_type_key: 工作项类型,可选值为"story"、"version"、"issue", 分别对应需求、版本、缺陷。
        """    
        client.get_plugin_token()
        return client.get_view_list(work_item_type_key)
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes a read operation ('获取' - get) but doesn't mention any behavioral traits such as permissions required, rate limits, pagination, or what the output looks like (e.g., list format, fields included). For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: the first sentence states the purpose clearly, followed by a parameter explanation. There's no wasted text, and the structure is logical. However, the use of both Chinese and English in the Args section might slightly reduce clarity for non-bilingual agents, but it remains efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (1 parameter, no nested objects) but lack of annotations and output schema, the description is moderately complete. It covers the purpose and parameter semantics well, but fails to address behavioral aspects like output format or operational constraints. This makes it adequate for basic use but insufficient for full agent understanding without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaningful semantics beyond the input schema. The schema only provides an enum for work_item_type_key with values 'story', 'version', 'issue', but the description explains these correspond to '需求' (requirement), '版本' (version), and '缺陷' (defect) in Chinese, clarifying the business context. With 0% schema description coverage and 1 parameter, this compensation is effective, though it could note if the parameter is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '获取当前飞书项目下的某一类型工作项的所有视图列表' (Get all view lists for a specific type of work item in the current Feishu project). It specifies the verb ('获取' - get) and resource ('视图列表' - view lists), with context about the project and work item type. However, it doesn't explicitly differentiate from sibling tools like get_view_detail or get_view_detail_by_name, which appear to fetch individual views rather than lists.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by specifying the work item type parameter and its possible values, suggesting this tool is used to retrieve views filtered by work item type. However, it doesn't provide explicit guidance on when to use this tool versus alternatives (e.g., get_view_detail for single views) or any prerequisites. The context is clear but lacks comparative or exclusionary statements.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other 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/Roland0511/mcp-feishu-proj'

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