Skip to main content
Glama
Wulnut
by Wulnut

list_projects

Get a list of accessible Feishu project spaces to find the project_key needed for project management tasks. Returns project names and keys.

Instructions

列出所有可用的飞书项目空间。

当你不知道项目的 project_key 时,先调用此工具获取项目列表。
返回的列表包含项目名称和对应的 project_key。

Args:
    user_key: (可选) 飞书用户标识符 (X-USER-KEY),用于以特定用户身份进行操作。

Returns:
    JSON 格式的项目列表,格式为 {project_name: project_key}。
    失败时返回错误信息。

Examples:
    # 查看有哪些项目可用
    list_projects()

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
user_keyNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.0.2

TDQS

A4.6/5.0
Behavior4/5

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

There are no annotations, so the description carries the burden of explaining behavior. It discloses that the tool is read-only by nature, describes the return format as a JSON mapping of project_name to project_key, and notes failure behavior. It does not mention permissions or pagination, but for a simple list operation this is adequate.

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

Conciseness5/5

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

The description is well-structured with a clear purpose, Args, Returns, and an Example. Every section adds value, and the example usefully demonstrates that the tool can be called without arguments.

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

Completeness5/5

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

For a read-only list tool with one optional parameter, the description is complete: it states what it returns, the return format, failure behavior, and when to call it. Nothing essential is missing for an agent to invoke it correctly.

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

Parameters5/5

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

The input schema only provides a name, type, and default for user_key, with no semantic explanation. The description adds meaningful detail by explaining that user_key is the Feishu X-USER-KEY and can be used to operate as a particular user, which fully compensates for the sparse schema.

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

Purpose5/5

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

The description clearly states the tool '列出所有可用的飞书项目空间' (lists all available Feishu project spaces), which is a specific verb and resource. It also explains that the returned list includes project names and project_keys, making it easy to differentiate from the task-focused sibling tools.

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

Usage Guidelines4/5

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

The description explicitly says to call this tool first when the project_key is unknown, which is clear and actionable. It does not explicitly describe when-not-to-use or mention alternatives, but there is no competing project-listing sibling, so the context is sufficiently clear.

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