Skip to main content
Glama
z0nam

worksmobile-mcp

by z0nam

worksmobile-mcp

비공식 NAVER WORKS (LINE WORKS) Drive 관리자 CLI + MCP 서버로, Developer API의 서비스 계정 위임(JWT delegated_user)을 기반으로 구축되었습니다.

기존 WORKS MCP 서버는 최종 사용자 영역(사용자 OAuth를 통한 개인 메일/캘린더/파일)에 초점을 맞춥니다. 이 프로젝트는 그들이 다루지 않는 관리자 영역을 다룹니다:

  • 위임을 통해 테넌트의 모든 구성원으로 작동 (Google 도메인 전체 위임처럼)

  • 공유 드라이브 거버넌스: 드라이브 나열, accessibleRange/permissionType 검사, 드라이브 및 폴더 수준 권한 부여/취소, 폴더 상속 전환(enable/disable)

  • 공유 생성("shared with me" 바로가기), My Drive 스캐폴딩, 업로드/다운로드, 검색

  • 디렉터리 감사: 계정 위생 규칙 및 외부 명단과의 대조 — 여전히 유효한 메일/드라이브 접근 권한을 가진 퇴사자 찾기

NAVER / WORKS MOBILE Corp.와 제휴 관계가 아닙니다. "NAVER WORKS", "LINE WORKS" 및 worksmobile.com은 해당 회사의 상표/자산입니다. 공식 API 문서: https://developers.worksmobile.com/

🙋 그냥 WORKS를 직접 사용하고 싶으신가요? 이 도구는 적합하지 않습니다.

AI 에이전트가 자신의 메일, 캘린더, 드라이브 또는 작업을 읽게 하려면 여기서 멈추세요**docs/END_USER_SETUP.md**를 참조하세요. 이 경로는 몇 분이면 되고, 관리자 권한이 필요 없으며, 자신의 계정에만 접근합니다.

이 프로젝트는 테넌트 관리자를 위한 것입니다. 조직의 모든 구성원으로 작동할 수 있는 위임된 서비스 계정으로 인증하므로, 일반 구성원이 얻을 수 없는 자격 증명이 필요합니다. Developer Console에 *"접근 권한이 없습니다"*라고 표시된다면, 이는 해결해야 할 설정 문제가 아니라 — 의도된 경계가 정상 작동하는 것입니다.

안전 설계

🔑 자신의 머신이 아닌 곳에서 실행하기 전에 이 내용을 읽으세요

이것은 사용자별 통합이 아닙니다. 이 도구가 받는 자격 증명은 테넌트의 모든 구성원으로 작동할 수 있는 위임된 서비스 계정입니다 — 누구의 드라이브든 읽고, 누구의 공유 설정이든 변경할 수 있습니다. 개인 키를 도메인 관리자 키처럼 취급하세요. 실제로 그렇기 때문입니다.

아무리 편리해도 이러한 자격 증명을 타사 MCP 호스팅, "이 서버 설치/배포" 버튼, 또는 호스팅된 인스펙터에 붙여넣지 마세요. 그러면 서버가 다른 사람의 머신에서 실행되며, 이 키를 넘기는 것은 테넌트 전체를 넘기는 것과 같습니다. 이 저장소의 디렉터리 및 마켓플레이스 목록은 자동 크롤링일 뿐, 어떤 배포 모델을 보증하는 것이 아닙니다 — 이 프로젝트가 지원하는 유일한 구성은 관리자 자신의 머신에서의 로컬 stdio입니다.

HTTP 전송이 정말 필요하다면 localhost에 바인딩하고 그 앞에 실제 인증을 두세요. 여기서 키가 유출되면 비밀번호를 교체하는 것으로는 복구할 수 없습니다: Developer Console에서 키가 해지될 때까지, 키 보유자는 모든 직원입니다.

WORKS Drive 권한 API에는 주의할 점이 있습니다. 이 도구는 이를 설계에 반영합니다:

  • 모든 변경 작업에는 명시적 확인이 필요합니다 — CLI: --yes (비대화형 실행은 이 옵션 없이 거부); MCP: confirm=true 매개변수. 에이전트는 설정하기 전에 사람에게 물어봐야 합니다.

  • 대량 권한 삭제("all-delete")는 전혀 노출되지 않습니다 — 그 의미가 WORKS 버전 간에 뒤집혔기 때문입니다(마스터 전용 vs 모두에게 공개).

  • 파괴적 의미는 도구 문서에 명시되어 있습니다: 드라이브 accessibleRange PATCH 전환은 부여된 권한을 지우고; 폴더 enable은 상속을 끊으며; disable은 폴더 권한을 제거합니다.

Related MCP server: synology-office-mcp

설정

  1. Developer Console에서 서비스 계정 위임이 있는 앱을 만들고, Client ID/Secret을 기록하고, 서비스 계정을 생성하고, 개인 키를 다운로드하세요. OAuth 범위(file, user.read)를 부여하세요.

  2. 자격 증명을 구성하세요:

pip install worksmobile-mcp        # or: uv tool install worksmobile-mcp
mkdir -p ~/.config/worksmobile
cp .env.example ~/.config/worksmobile/.env   # then fill in values

구성 해석 순서: 프로세스 환경 변수(WORKS_*) > $WORKS_ENV_FILE > ./.env > ~/.config/worksmobile/.env.

CLI

worksmobile doctor                              # what credentials/scopes actually work
worksmobile users --dept 연구                    # members (joint appointments preserved)
worksmobile find 홍길동                          # search by any substring
worksmobile audit --ignore shared-accounts.txt  # account-hygiene findings
worksmobile drift roster.tsv --name-col name    # reconcile against an external roster

worksmobile drives                              # list shared drives
worksmobile drive @2001000000xxxxxx             # accessibleRange / permissionType
worksmobile ls --sd @2001000000xxxxxx           # list files
worksmobile perms @2001000000xxxxxx --folder FID
worksmobile grant @2001000000xxxxxx --target pm@corp.com --type WRITE --folder FID --yes
worksmobile share FID --owner host@corp.com --to pm@corp.com --type WRITE --yes
worksmobile download FID --sd @2001000000xxxxxx -o report.hwp
worksmobile call GET /users/me/drive/files      # raw API escape hatch

모든 읽기 명령은 --user someone@corp.com을 받아 해당 구성원으로 작동합니다.

MCP 서버

stdio(로컬 에이전트 — Claude Code, Codex, Cursor, Gemini CLI):

claude mcp add worksmobile -- worksmobile-mcp
{ "mcpServers": { "worksmobile": { "command": "worksmobile-mcp" } } }

Streamable HTTP — 자체 인증을 앞에 두는 로컬 바인딩 엔드포인트용이며, 호스팅 제공업체에 넘기기 위한 것이 아닙니다(상단의 경고 상자 참조):

worksmobile-mcp --transport streamable-http --host 127.0.0.1 --port 8123

⚠️ 어떤 전송 방식을 선택하든, 프로세스는 테넌트 전체 관리자 자격 증명을 보유합니다 — 도메인 관리자 셸을 실행할 곳에서만 실행하고, 다른 곳에서는 실행하지 마세요.

도구

도구

변경

설명

works_drives_list / works_drive_get

공유 드라이브 및 설정

works_files_list

공유 드라이브 또는 구성원의 My Drive 파일

works_perms_list

드라이브/폴더 권한

works_perm_grant / works_perm_revoke

하나의 권한 부여 / 삭제

works_folder_enable / works_folder_disable

폴더 상속 게이트

works_file_download / works_file_upload

스토리지 리디렉션 다운로드 / 2단계 업로드

works_folder_create

My Drive 폴더

works_share_create / works_share_delete

"shared with me" 바로가기 (My Drive 전용)

works_sharedfolders_list

구성원이 받은 공유

works_search

드라이브 검색

works_users_list / works_user_find

테넌트 구성원 (user.read 필요)

works_directory_audit

계정 위생 발견 항목 + 휴면 확인 보고서

works_directory_drift

외부 명단과 계정 대조

works_member_footprint

한 구성원의 전체 접근 범위 — 오프보딩 조회

works_api_call

원시 API 이스케이프 해치

⚠ = confirm=true 필요.

디렉터리 감사: 휴면 확인

works_directory_auditfindings와 함께 dormant_rules를 반환합니다. 규칙이 읽는 필드가 테넌트 전체에서 비어 있으면 해당 규칙은 휴면 상태입니다 — 예를 들어 누구의 leaveOfAbsence도 설정된 적이 없다면 "휴직 중이지만 정지되지 않음"은 절대 발생할 수 없습니다. 빈 findings 목록이 완전히 건강하다는 뜻은 아닙니다, 그래서 이 도구는 모든 것이 통과했다는 인상을 주는 대신 어떤 검사가 무력했는지 알려줍니다. coverage는 필드별 채움률을 보여줍니다.

이것은 실제로 중요합니다: 이 도구가 개발된 테넌트에서 employeeNumber는 0/136, hiredDate는 1/136이었습니다 — HR 필드가 단순히 채워지지 않은 것이며, 이는 감사 도구가 덮어두지 않고 알려줘야 하는 바로 그런 종류의 문제입니다.

대조: 한 명단에 없다는 것은 증거가 아닙니다

works_directory_driftonly_works를 반환합니다 — 전달한 명단에 항목이 없는 계정입니다. 그것은 신호이지 퇴사 증거가 아닙니다. 모든 명단은 일부 인구를 누락합니다: HR 등록부에는 방문 연구원이 아예 없을 수 있고; 채팅 디렉터리에는 회사 메일이 발급된 적 없는 사람을 담을 수 없습니다. "이 목록에 없다"를 "퇴사했다"로 읽는 것은 현직 직원의 계정을 잃게 만드는 방법입니다 — 실제로 한 번 그런 일이 있었고, 그래서 이 도구가 지금 이렇게 작동하는 이유입니다.

가지고 있는 다른 모든 명단을 corroborating_rosters ({label: path})로 전달하세요. 다른 곳에서 발견된 행은 seen_in이 채워져 반환되며 의심 목록에서 제외되어야 합니다. 각 명단은 이메일, 전화, 이름으로 인덱싱됩니다. 단일 키로는 충분하지 않기 때문입니다 — 이 도구를 만들게 된 실제 사례에서 해당 구성원은 계정에 전화가 없었고 회사 메일도 없어서 이름만 일치했습니다.

알아둘 가치가 있는 함정 하나: 82를 제거하여 한국 휴대폰 번호를 정규화하는 것은 잘못입니다. 많은 레코드가 국가 코드 트렁크 0을 함께 담고 있기 때문에(+82 010-…), 단순 제거는 00…을 만들어 아무것도 일치하지 않습니다 — 한 테넌트 번호의 40%가 그랬습니다. directory.norm_phone을 사용하세요.

blind_spots는 더 어려운 경우를 다룹니다: API가 전혀 답할 수 없는 질문입니다. 가장 문제가 되는 것은 위임된 관리자입니다 — isAdministrator는 SUPER 관리자에 대해서만 true이므로, 콘솔에서 하위 관리자인 계정도 여전히 false로 보고됩니다. 이 API만으로 "누가 관리자 권한을 가졌는지" 열거하면 조용히 누락됩니다; 이 작업은 관리자 콘솔에서 수행하세요.

오프보딩: 정지 전에 접근 범위를 수집하세요

works_member_footprint는 한 번의 호출로 "이 사람이 무엇에 접근할 수 있는가"에 답합니다. 쉽게 잘못 이해할 수 있는 두 가지를 담고 있습니다:

  • 순서. 먼저 계정을 정지하는 것은 직관적인 움직임이지만 조사 능력을 파괴합니다: 정지된 계정으로의 위임이 실패하므로, 그들의 My Drive 콘텐츠와 받은 폴더에 접근할 수 없게 됩니다. 먼저 수집하고, 그다음 정지하세요.

  • 드라이브 마스터는 /permissions에 보이지 않습니다. 그들은 공유 드라이브 객체의 masters[]에 있습니다. 마스터는 권한을 부여하고 드라이브 설정을 변경할 수 있으므로, 인수인계에서 누락하면 드라이브가 사실상 소유자 없는 상태가 됩니다 — 이 도구는 이를 별도로 보고합니다.

API 참고 사항 (값비싼 교훈)

  • accessibleRange는 3값입니다: TENANT / DOMAIN / MEMBER. 새 드라이브는 기본적으로 DOMAIN+WRITE입니다. PATCH 전환은 파괴적입니다 (MEMBER→DOMAIN은 모든 권한을 삭제; 폴더 수준 권한이 존재하는 동안 →MEMBER는 실패).

  • 폴더 수준 권한은 개별 사용자만 허용합니다(조직 단위 불가); 대상은 이미 드라이브 구성원이어야 합니다(문서화되지 않음, 관찰됨).

  • 폴더 enable = 권한을 부여할 때까지 마스터 전용; disable = 권한 삭제, 상속 복귀.

  • share-create는 My Drive 폴더에서만 작동합니다 — 팀 드라이브 폴더는 "shared with me" 바로가기를 만들 수 없습니다.

  • 순수 서비스 계정 토큰에는 My Drive가 없습니다 (403); 호스팅하려면 실제 계정으로의 위임이 필요합니다.

  • 업로드는 2단계입니다(메타데이터 POST → uploadUrl PUT); 다운로드는 302이며 스토리지 위치 또한 Bearer 토큰이 필요합니다.

  • GET /sharedrives{"sharedrives": [...]}로 응답합니다(문서는 단순 배열을 암시).

라이선스

MIT

Available Tools

16 tools
works_api_callB

Raw WORKS API escape hatch (path under https://www.worksapis.com/v1.0). Non-GET requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
userNo
methodYes
confirmNo
body_jsonNo

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It mentions the base URL and the confirm flag for non-GET, but fails to describe side effects, authentication, error behavior, rate limits, or response format. For a tool that can perform arbitrary mutations, this is a significant omission, leaving the agent under-informed about the tool's full 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 two sentences and front-loads the core purpose. It is concise and every sentence adds value. However, it is perhaps too terse, lacking details that could be added without undermining conciseness. Still, structure is clean and efficient.

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

Completeness1/5

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

The tool is a generic raw API caller with 5 parameters, no annotations, and no output schema. The description only provides a base path and a confirm requirement. It omits crucial operational details like how to construct endpoints, expected response format, error handling, and when to use this tool versus the many sibling tools. This is inadequate for safe and correct invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must clarify parameters. It provides limited context for 'path' (relative to the base URL) and 'confirm' (needed for non-GET), but does not explain 'method', 'body_json', or 'user'. This is insufficient for a 5-parameter tool where the schema itself has no descriptions.

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 identifies the tool as a raw API escape hatch for the WORKS API, with a specific base URL. This distinguishes it from the sibling tools, which are purpose-built for specific operations (e.g., works_drive_get, works_files_list) and makes the tool's role obvious.

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 'escape hatch' wording implies the tool is a fallback for when specific siblings don't cover an operation, but it does not explicitly state when to use this vs. alternatives. The confirm=true requirement for non-GET requests provides some usage guidance, but no exclusions or alternative references are given.

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

works_drive_getB

Get one shared drive's settings (accessibleRange TENANT/DOMAIN/MEMBER, permissionType).

ParametersJSON Schema
NameRequiredDescriptionDefault
userNo
sharedrive_idYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. The verb 'Get' implies a read operation, but it does not explicitly state safety, permissions, side effects, or return format. It adds context about the settings fields but fails to disclose important behavior for a tool with no annotations.

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 a single concise sentence, front-loaded with the verb and resource, containing no filler or redundant information. Every word earns its place.

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?

The tool is simple, but with no output schema and no annotations, the description should explain return values and parameter effects. It lists the settings fields but does not state that the response is a settings object or how `user` influences the request, leaving gaps.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It does not explain the `user` parameter or the format of `sharedrive_id`, only vaguely implying an identifier via 'one shared drive'. This is insufficient given the lack of schema descriptions.

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 uses the specific verb 'Get' and names the resource 'one shared drive's settings', clearly distinguishing it from sibling tools like works_drives_list (which lists drives). It also enumerates the settings (accessibleRange, permissionType), making the purpose unambiguous.

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 for retrieving settings of a single shared drive, and the word 'one' contrasts with list tools. However, it does not explicitly state when to prefer this over alternatives or provide any exclusions, relying only on implication.

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

works_drives_listB

List shared drives (id, name, accessibleRange, permissionType, masters).

ParametersJSON Schema
NameRequiredDescriptionDefault
userNo

TDQS

B3.1/5.0
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 lists the output fields but does not explicitly state that the operation is read-only, mention permission requirements, or explain how the optional 'user' parameter affects results. It also lacks details on response shape, pagination, or error behavior.

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 a single sentence, front-loaded with the verb and object, and uses a parenthetical to enumerate fields. There is no filler or redundancy, making it appropriately concise and well-structured.

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

Completeness2/5

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

The tool has a minimal schema, no annotations, and no output schema, placing a high burden on the description. It covers the output fields but omits the meaning of the 'user' parameter, any filtering behavior, and contextual details that would help the agent invoke the tool correctly. This is incomplete for even a simple list tool.

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

Parameters1/5

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

The only parameter, 'user', is not mentioned anywhere in the description. With 0% schema description coverage, the description must compensate and explain this parameter, but it completely omits it. The parenthetical list refers to output fields, not input parameters, so no semantic value is added.

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 uses a specific verb 'List' paired with a clear resource 'shared drives', and enumerates the returned fields (id, name, accessibleRange, permissionType, masters). This clearly distinguishes it from siblings like works_drive_get (singular get) and works_files_list.

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 as the tool for listing shared drives, but it provides no explicit guidance on when to use it over alternatives, nor any exclusions. The name and verb alone make the intended use reasonably clear.

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

works_file_downloadA

Download a file to a local path (follows the storage redirect with auth).

ParametersJSON Schema
NameRequiredDescriptionDefault
userNo
file_idYes
out_pathYes
sharedrive_idNo

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does disclose that the tool 'follows the storage redirect with auth,' which is useful. However, it omits other important behaviors such as whether existing files are overwritten, required permissions, or the return format on success/error.

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 a single, front-loaded sentence: 'Download a file to a local path' followed by a useful parenthetical about auth redirect. Every word earns its place, with no fluff or redundancy.

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

Completeness2/5

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

Given the tool has 4 parameters, no output schema, and performs a side effect (writing to a local path), the description is under-specified. It does not mention what the tool returns, whether it overwrites files, how optional parameters (user, sharedrive_id) affect the operation, or any error conditions. The note about auth redirect is the only extra context.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It does not explain any of the four parameters (file_id, out_path, user, sharedrive_id) or their roles in the download. The parameter names are somewhat self-explanatory, but the description adds no explicit meaning beyond the 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 action: 'Download a file to a local path' with a specific verb and resource. It distinguishes from sibling tools like works_file_upload and works_files_list by focusing on the download operation, which no other sibling provides.

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 gives clear context for when to use the tool (when a file needs to be downloaded to a local path) and mentions the auth redirect behavior, which is a relevant usage consideration. It does not explicitly mention alternatives or exclusions, but since there is no alternative download tool among the siblings, the context is sufficient.

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

works_files_listB

List files/folders. With sharedrive_id: that shared drive; else the delegated user's My Drive.

ParametersJSON Schema
NameRequiredDescriptionDefault
userNo
folder_idNo
sharedrive_idNo

TDQS

B3/5.0
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 only states the action and scope condition, but omits any details about permissions, side effects, response format, pagination, or error handling. It doesn't even explicitly state that the operation is read-only, leaving the agent to infer it from 'List'.

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 extremely concise, using two short sentences to convey the action and the key conditional. There is no redundant phrasing or unnecessary detail. Every word contributes to the core meaning.

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

Completeness2/5

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

Given the tool has 3 optional parameters, no output schema, and no annotations, the description is quite sparse. It explains only the sharedrive_id behavior and leaves the user and folder_id semantics unclear. The description also fails to mention what data is returned (metadata, contents, recursive listing) or any constraints, making it insufficient for an agent to confidently invoke the tool.

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

Parameters2/5

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

The schema has 0% description coverage, and the description only explains sharedrive_id ('that shared drive' vs 'My Drive'). It does not clarify the meaning or usage of user or folder_id, which remain ambiguous despite having titles. Since the schema provides no descriptions, the description should compensate but only partially does.

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 states 'List files/folders', providing a clear verb and resource. It also distinguishes between shared drives and My Drive based on the sharedrive_id parameter, which gives specific scope. However, it does not explicitly reference sibling tools like works_drives_list or works_sharedfolders_list, so differentiation is implicit rather than explicit.

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 offers a conditional usage rule for sharedrive_id ('With sharedrive_id: that shared drive; else the delegated user's My Drive'), which clarifies when to use that parameter. But it provides no guidance on when to choose this tool over alternatives like works_search or works_drives_list, and it does not explain the role of user or folder_id parameters.

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

works_file_uploadB

Upload a local file into a My Drive folder (2-step metadata+PUT flow).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
userNo
file_pathYes
parent_folder_idYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must carry the burden of behavioral disclosure, but it only reveals a 2-step metadata+PUT flow. It does not mention needed permissions, overwrite behavior, partial-failure handling, or the response format.

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 a single, front-loaded sentence with no redundancy. The parenthetical '2-step metadata+PUT flow' efficiently adds useful behavioral context without wasting words.

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

Completeness2/5

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

For an upload tool with no annotations, no output schema, and 0% schema description coverage, one sentence is insufficient. Missing are prerequisites, error conditions, permission requirements, and any information about return values or success/failure indicators.

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

Parameters2/5

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

Schema description coverage is 0%, and the description partially maps 'local file' to file_path and 'My Drive folder' to parent_folder_id. However, the name and user parameters are left undocumented, and the description does not fully compensate for the low schema coverage.

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 uses a specific verb 'Upload' with a clear resource 'a local file into a My Drive folder', distinguishing it from siblings like works_file_download. The phrase '2-step metadata+PUT flow' adds technical specificity without ambiguity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, nor on prerequisites such as target folder existence or file accessibility. The only context is the action itself; there are no exclusions or alternative recommendations.

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

works_folder_createA

Create a folder in the delegated user's My Drive (root if no parent).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
userNo
parent_folder_idNo

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are present, so the description carries the full burden. It adds context about the delegated user's My Drive and the root-if-no-parent behavior, which is useful. However, it does not disclose potential side effects, permissions, or what happens when the user parameter is null, leaving gaps for a mutation tool.

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 a single sentence that is front-loaded with the action and resource, then adds the key scoping detail. Every word earns its place; it is appropriately concise.

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?

For a simple create tool with no annotations and no output schema, the description provides the core purpose and a key location behavior. However, it omits return value information, prerequisites, and edge-case behavior, making it less complete for an agent that must invoke it correctly without additional context.

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

Parameters3/5

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

With 0% schema description coverage, the description must compensate. It clarifies parent_folder_id via 'root if no parent' and references the user parameter via 'delegated user's My Drive', but it does not explain the name parameter or the optional nature of user beyond the schema default.

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 uses a specific verb ('Create') and resource ('folder'), and adds the scoping detail 'in the delegated user's My Drive (root if no parent)'. This clearly identifies the tool's function and distinguishes it from sibling tools like folder_enable/disable.

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 stating the target location and the parent-folder behavior, but it does not explicitly say when to use this tool versus alternatives or provide any exclusions. It gives clear context but no alternative guidance, so it falls short of a 4.

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

works_folder_disableA

Disable folder-level permissions. WARNING: drops folder grants, restores inheritance. Requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
userNo
confirmNo
folder_idYes
sharedrive_idYes

TDQS

A4.1/5.0
Behavior5/5

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

With no annotations provided, the description carries full responsibility for disclosing behavioral traits. It explicitly warns that the action 'drops folder grants, restores inheritance' and requires `confirm=true`, revealing a destructive and potentially irreversible effect. This goes well beyond what the schema alone indicates (confirm parameter exists, but its mandatory nature is not obvious) and is genuinely helpful.

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 extremely concise and well-structured. It front-loads the purpose, then delivers a warning, and finally states the confirmation requirement. Every sentence adds distinct value, with no filler or repetition.

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

Completeness4/5

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

Given the tool's complexity (no annotations, no output schema, 4 parameters), the description covers the core details: purpose, destructive warning, and confirmation requirement. It does not explain the `user` parameter's role or potential reversibility, but for a focused permission-disabling action, the provided context is mostly sufficient. Slight room for improvement in addressing parameter semantics.

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

Parameters2/5

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

The schema has 0% parameter description coverage, so the description must compensate. It explains only `confirm` (must be true) but leaves `sharedrive_id`, `folder_id`, and `user` without added meaning beyond their names. For instance, `user` is optional and could be interpreted as a filter, but no clarification is provided. This is a significant gap for a tool with multiple parameters.

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 opens with a specific verb plus resource: 'Disable folder-level permissions.' It clearly distinguishes from the sibling tool `works_folder_enable` by stating the opposite action. The additional detail on dropping grants and restoring inheritance further clarifies the exact scope.

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 when to use the tool (to disable folder-level permissions) but provides no explicit exclusions or alternatives. For instance, it does not contrast with `works_perm_revoke` for revoking specific user grants. The requirement to set `confirm=true` is a prerequisite, not a usage guideline, so guidance is limited to implied context.

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

works_folder_enableA

Enable folder-level permissions. WARNING: breaks inheritance (masters-only until granted). Requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
userNo
confirmNo
folder_idYes
sharedrive_idYes

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations provided, the description takes on the full burden of behavioral disclosure. It effectively warns that enabling folder-level permissions breaks inheritance and results in a 'masters-only' state until grants are made. This is significant, useful context. It does not mention reversibility or the fate of existing permissions, but the core side effect is clearly disclosed.

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 extremely concise, consisting of two sentences that deliver the core purpose, a critical warning, and a required parameter. There is no filler or redundancy, and the most important information is front-loaded.

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

Completeness4/5

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

Given the tool's complexity (4 parameters, no output schema) and the lack of annotations, the description covers the most critical aspects: the action, the warning about inheritance, and the confirm requirement. It does not describe return values or fully elaborate on the 'masters-only' state, but it is sufficient for an agent to understand the basic behavior and risk.

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

Parameters3/5

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

The input schema provides no descriptions (0% coverage), so the description must compensate. It does add crucial semantics for the 'confirm' parameter by stating it must be true. The other parameters (sharedrive_id, folder_id, user) are not explained, but their names and roles are reasonably self-explanatory from context.

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 action ('Enable folder-level permissions') with a specific verb and resource. It implies a distinction from siblings like works_folder_disable, but does not explicitly differentiate itself from similar permission-related tools such as works_perm_grant.

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 includes a prerequisite ('Requires confirm=true') and a cautionary warning ('breaks inheritance'), which provide some usage context. However, it does not explicitly state when to use this tool versus alternatives, nor does it mention any exclusions or conditions that would make it inappropriate.

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

works_perm_grantA

Grant READ/WRITE to a member (drive-level, or folder-level with folder_id). Requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
userNo
confirmNo
folder_idNo
perm_typeYes
target_emailYes
sharedrive_idYes

TDQS

A3.9/5.0
Behavior3/5

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

The description discloses the safety requirement 'Requires confirm=true' and clarifies the two scope modes. But with no annotations, it does not mention whether the grant is additive, if existing permissions are overwritten, or what the response looks like, leaving room for ambiguity.

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?

One concise sentence that is front-loaded with the core action and includes the critical confirm requirement. Every word earns its place.

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?

The tool has 6 parameters, no annotations, and no output schema, so the description should be more comprehensive. It covers the action and the confirm flag but omits side effects, return value, and idempotency, leaving the agent with partial understanding.

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

Parameters3/5

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

With 0% schema description coverage, the description helps interpret key parameters: folder_id (folder-level), perm_type (READ/WRITE), and confirm (must be true). However, it does not explain user, sharedrive_id, or target_email beyond their obvious meanings, so it partially compensates.

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 uses a specific verb 'Grant' and identifies the resource as 'READ/WRITE to a member', clearly distinguishing drive-level vs folder-level scope. This differentiates it from sibling tools like works_perm_revoke and works_perms_list.

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?

It clearly implies the use case: granting permissions to a member, with the optional folder_id for folder-level grants. However, it does not explicitly name alternatives or state when not to use it, so it stays at clear context without exclusions.

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

works_perm_revokeA

Delete ONE permission by perm_id or target_email. Bulk delete is unsupported by design. Requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
userNo
confirmNo
perm_idNo
folder_idNo
target_emailNo
sharedrive_idYes

TDQS

A3.7/5.0
Behavior3/5

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

The description discloses the need for confirm=true and the inability to bulk delete, which is useful behavioral information. However, it does not explain what happens when confirm is false, required prerequisites, or potential errors, leaving some ambiguity for a destructive operation.

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 three short sentences, front-loaded with the primary action, and contains no unnecessary words. Every sentence adds meaningful information about the operation.

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

Completeness2/5

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

Given the tool's complexity (6 parameters, no output schema, no annotations), the description is too sparse. It omits the role of sharedrive_id, user, and folder_id, and does not clarify return values or failure modes, making it incomplete for an agent to safely invoke.

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

Parameters2/5

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

With 0% schema coverage, the description must explain all parameters, but only perm_id and target_email are mentioned. The required sharedrive_id parameter is not described, and user, folder_id, and confirm (beyond 'required') lack semantic detail. This is insufficient for a 6-parameter tool.

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 verb 'Delete' and the resource 'permission', specifying the two identifier methods (perm_id or target_email). This unambiguously distinguishes it from sibling tools like works_perm_grant and works_perms_list.

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?

It gives practical usage context by stating that bulk delete is unsupported and that confirm=true is required, which helps the agent know constraints. It does not explicitly mention alternatives or when not to use this tool, but the guidance is clear enough.

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

works_perms_listA

List drive-level (or, with folder_id, folder-level) permissions.

ParametersJSON Schema
NameRequiredDescriptionDefault
userNo
folder_idNo
sharedrive_idYes

TDQS

A3.5/5.0
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 for behavioral disclosure. It states the action is 'List', which implies a read-only operation, but it does not mention return value, authentication needs, or any side effects. Beyond indicating scope, it offers no additional behavioral context.

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 a single, concise sentence that front-loads the purpose and includes a key modifier ('with folder_id') in a parenthetical. Every word contributes meaning, with no redundant content.

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?

For a simple list tool with no output schema, the description gives a clear overview and covers the folder_id nuance. However, it omits any mention of the 'user' parameter's role, and without an output schema, a brief return-value description would improve completeness. It is minimally adequate but has clear gaps.

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

Parameters3/5

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

There are three parameters with zero schema descriptions. The description adds meaning for 'folder_id' by indicating it changes the behavior to folder-level, and implies that omitting it means drive-level. However, it does not explain 'user' or 'sharedrive_id' beyond their names, leaving some semantics implicit.

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's function: listing permissions. It specifies the scope ('drive-level or, with folder_id, folder-level'), which distinguishes it from sibling list tools for drives, files, and shared folders. The verb 'List' is specific and matches the resource type.

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 when to use this tool (when you need to list permissions) and mentions the folder_id condition for folder-level permissions. However, it does not explicitly name alternatives or exclusions, leaving the usage context to inference from sibling names.

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

works_share_createA

Share a My Drive folder so it appears in the recipient's 'shared with me'. My Drive only (not shared drives). Requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
notifyNo
confirmNo
file_idYes
to_emailYes
perm_typeNoREAD
owner_emailYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the effect (appears in 'shared with me'), scope (My Drive only), and a requirement (confirm=true). But it omits side effects, return value, and how parameters like perm_type and notify affect behavior, leaving some transparency gaps.

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 three concise sentences, each adding value: the effect, the scope limitation, and the confirm prerequisite. It is front-loaded with the most critical information and contains no redundant content.

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 complexity (6 parameters, no annotations, no output schema), the description provides only the core purpose and two constraints. It fails to explain parameter relationships, when to prefer this over similar siblings, or expected outcomes, leaving significant contextual gaps.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should compensate. It only hints at confirm=true and that a My Drive folder is shared, leaving most parameters (file_id, owner_email, to_email, perm_type, notify) semantically unexplained. This is inadequate for a 6-parameter tool.

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 uses the specific verb 'Share' with the resource 'My Drive folder' and clearly states the outcome (appears in the recipient's 'shared with me'). It also differentiates from siblings by scoping to My Drive only and explicitly excluding shared drives.

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 gives clear context for when to use (sharing My Drive folders) and an exclusion (not shared drives), plus a prerequisite (confirm=true). However, it does not explicitly name alternative sibling tools like works_perm_grant, so it lacks the full when-to-use vs. alternative guidance.

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

works_share_deleteC

Remove sharing from a My Drive folder. Requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
file_idYes
owner_emailYes

TDQS

C2.8/5.0
Behavior2/5

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

The description discloses a confirm requirement, implying a safety mechanism, but does not explain its purpose or consequences. With no annotations, it fails to mention whether the operation is reversible, if special permissions are needed, or what side effects removing sharing may have on existing permissions.

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?

Two sentences, with the main action front-loaded and no extraneous detail. The confirm requirement is stated efficiently, making the description concise and easy to parse.

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

Completeness2/5

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

This is a destructive operation with no annotations and no output schema, yet the description is extremely sparse. It lacks details on what 'remove sharing' entails, whether it deletes all permissions, error conditions, or success indicators, leaving an AI agent under-informed for safe invocation.

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

Parameters2/5

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

The description adds minimal parameter meaning: it notes confirm must be true. However, it does not explain file_id or owner_email semantics, and given 0% schema coverage, the description bears the full burden of explaining these parameters but fails to do so.

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 action (remove sharing) and the resource (a My Drive folder), using a specific verb. It distinguishes itself from sibling tools like works_share_create by indicating the opposite operation, though it could more explicitly differentiate from works_perm_revoke which also deals with permissions.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as works_perm_revoke or works_share_create. The only hint is 'Requires confirm=true,' which is a prerequisite rather than an indication of appropriate usage context.

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

works_sharedfolders_listA

List a member's 'shared with me' folders (requires that member as delegated user).

ParametersJSON Schema
NameRequiredDescriptionDefault
userYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description bears the full burden. It does disclose the delegated user requirement, which is useful auth/behavioral context. However, it does not describe response format, pagination, or error behavior, leaving gaps for a read operation without annotations.

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 a single, clear sentence that immediately conveys the tool's purpose and key requirement. No unnecessary words or redundancy.

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

Completeness4/5

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

For a simple list tool with one parameter, the description covers the essential purpose and the delegated-user prerequisite. While there is no output schema, the return type (list of folders) is reasonably implied, but no explicit mention of return details prevents a 5.

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 schema provides only a bare 'user' parameter with no description. The description clarifies that the user must be a member and must be a delegated user, adding meaning that compensates for the 0% schema coverage.

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 a member's 'shared with me' folders, specifying the resource type (shared folders) and scope (member's). This distinguishes it from sibling tools like works_drives_list (which presumably lists all drives) and works_files_list (which lists files).

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 mentions the prerequisite that the member must be a delegated user, providing some usage context. However, it does not explicitly compare with alternatives or state when not to use this tool, so usage is implied rather than clearly guided.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 16 tool updatesv0.1.0
    • First observedworks_api_call
    • First observedworks_drive_get
    • First observedworks_drives_list
    • First observedworks_file_download
    • First observedworks_file_upload
    • First observedworks_files_list
    • First observedworks_folder_create
    • First observedworks_folder_disable
    • First observedworks_folder_enable
    • First observedworks_perm_grant
    • First observedworks_perm_revoke
    • First observedworks_perms_list
    • First observedworks_search
    • First observedworks_share_create
    • First observedworks_share_delete
    • First observedworks_sharedfolders_list

TDQS

B3.4/5.0
Disambiguation4/5

Most tools have clearly distinct purposes, with only minor potential overlap between works_share_create/works_perm_grant and works_files_list/works_search. The descriptions generally resolve ambiguity adequately.

Naming Consistency4/5

Tools follow a consistent noun_verb pattern (e.g., drive_get, files_list, perm_grant), with the exception of works_search, which lacks a resource prefix. This is a minor deviation from an otherwise predictable naming convention.

Tool Count4/5

16 tools is slightly above the typical 3-15 range, but the scope covers file management, permissions, sharing, and a raw API escape hatch. Each tool serves a distinct purpose, making the count reasonable for the apparent domain.

Completeness3/5

The toolkit covers listing, downloading, uploading, sharing, and permission management well, but lacks file delete, rename, move, and drive lifecycle operations (create/update/delete). These gaps are notable for a file management server.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/z0nam/worksmobile-mcp'

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