cloudflare-workspace-mcp
Server Quality Checklist
Latest release: v1.1.0
- Disambiguation4/5
Most tools have clearly distinct purposes: file operations, shell execution, Cloudflare resource listing, API gateway, D1 query, and deployment. However, cloudflare_status, cloudflare_api, and d1_query all offer Cloudflare data access with different scope, so an agent could be uncertain which to use for a given resource query.
Naming Consistency3/5Naming mixes verb_noun patterns for workspace tools (read_file, write_file, list_files) with product-prefixed names for Cloudflare tools (cloudflare_status, d1_query, cloudflare_deploy). The conventions are readable but not uniformly applied, reducing predictability.
Tool Count5/5Eight tools is well-scoped for a workspace-and-Cloudflare MCP server. Each tool fills a distinct role—file operations, command execution, resource inspection, generic API access, D1 queries, and deployment—without unnecessary bloat.
Completeness3/5The set covers core file read/write/list and Cloudflare management via a generic API gateway, but lacks a dedicated delete_file operation and a D1 write query. These gaps can be worked around using execute_command or cloudflare_api, but they are obvious omissions for a workspace and database tool.
Average 3.9/5 across 8 of 8 tools scored. Lowest: 3.2/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 18 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is failing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose the tool's behavioral traits. It provides some context (local shell vs. proot sandbox, Node/wrangler installed) but fails to mention critical safety aspects such as potential destructive effects, permission model, output behavior, or timeout handling. This is a significant gap for an arbitrary command execution tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is front-loaded with the key verb. However, it is too underspecified for a tool of this complexity; an effective description would include safety and output notes, making the current version too short to be fully useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a complex tool that executes arbitrary commands, the description lacks essential information about return values (stdout/stderr), error handling, and execution environment details beyond the backend distinction. This incomplete context would leave an agent uncertain about how to interpret results or handle failures.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all three parameters (command, cwd, timeout) with clear descriptions, so schema coverage is 100%. The tool description only repeats the cwd default, adding no new parameter-level insight beyond what the schema provides, thus baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it executes arbitrary shell commands in the workspace, using the verb 'execute' and resource 'shell commands'. This distinguishes it from sibling tools like read_file, write_file, and cloudflare_api, which handle file operations and API calls respectively.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (if you need to run a shell command) but does not explicitly mention when to use this tool over alternatives, nor does it state exclusions. It mentions backend differences (local vs. proot) but these are about behavior, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It does add context beyond the simple name by specifying the UTF-8 encoding and workspace-relative scope. However, it does not mention behavior on errors (e.g., file not found), return format (e.g., raw string), or any constraints like file size limits. Thus, it provides some transparency but not comprehensive details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that conveys the essential purpose and a key detail (UTF-8) without any unnecessary fluff. It is front-loaded with the verb and resource, making it immediately understandable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema) and lack of annotations, the description is minimally sufficient. It states the action and encoding but does not mention the return value or error behavior. Since there is no output schema, the description could have added that it returns the file content, which is a notable omission. Overall, it is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the 'path' parameter is already well-documented in the schema with an example. The tool description does not add additional parameter semantics beyond what the schema provides; the UTF-8 note in the description relates to file content, not the path parameter. Therefore, the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: reading file content within the workspace, with UTF-8 encoding specified. It uses a specific verb ('读取') and resource ('文件内容'), and the scope is defined as '工作区下' (under the workspace). This distinguishes it from siblings like write_file, list_files, and execute_command, which have different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for reading text file contents from the workspace but does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention any exclusions (e.g., binary files, large files, or non-existent paths). The sibling context suggests it is for reading, but the description lacks explicit 'when to use' or 'when not to use' information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 output format for directories ('d 前缀=目录'), which is helpful. However, it does not mention other behavioral aspects such as recursion, hidden files, or read-only nature, leaving some 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately states the action and the key output detail. No filler words or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation with one well-documented parameter and no output schema, the description is appropriately concise. It includes the critical 'd prefix' detail, but could add a note about whether hidden files are included or if the operation is recursive. Still, given the low complexity, it is complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description covers 100% of the parameter meaning, including a default value. The tool description adds a contextual note about directory prefixes but does not further elaborate on the path parameter, which is already well-documented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('列出' = list) and resource ('工作区下目录内容' = workspace directory contents), and even clarifies the output prefix for directories. This distinguishes it from sibling tools like read_file and write_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or comparison with alternatives is provided. However, the verb 'list' and the context of workspace make it evident that this tool is for directory exploration, which is implied by the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the important behavior of automatically creating parent directories, but it does not mention whether writes overwrite existing files or any path traversal restrictions. This is a partial disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that includes the core action, the target workspace, and a key behavioral detail. It is front-loaded and free of unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only two required parameters, no output schema, and low complexity, the description is fairly complete. It states the primary function and an important side effect. It could mention overwriting behavior, but for a write tool this is often assumed, so the description is sufficient for most use cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% because both path and content have descriptions in the input schema. The description adds no new parameter-level details beyond the schema's own descriptions, so it stays at the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'write' plus resource 'file to workspace' and adds a distinct behavioral detail (auto-creating parent directories). This clearly identifies the tool's function and distinguishes it from siblings like read_file and list_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/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool or mention alternatives, but it implies usage for writing files in the workspace. The context of sibling tool names provides some implicit guidance, but there is no explicit when-to-use or when-not-to-use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries behavioral burden. It discloses the production-impacting nature, the need for explicit authorization, the script execution behavior, and the wrangler dependency. It does not cover rollback or error behavior, but the most critical safety and invocation traits are transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences front-load the purpose and risk, then detail parameterization and dependencies. No redundant filler; every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deploy tool with four optional parameters and no output schema, the description covers prerequisites, invocation modes, and risk. It lacks explicit return-value expectations but is otherwise complete enough for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with descriptions for all four parameters, so the baseline is 3. The description only restates that parameters are configurable and adds the deploy-script context, which is useful but does not add per-parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb '部署' (deploy) with a clear resource 'Cloudflare Pages' and names all key inputs (project/branch/src_dir/build_cmd). It clearly distinguishes itself from sibling tools like cloudflare_status or d1_query by focusing on deployment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit context: requires user authorization for production changes, and mentions the script-based fallback and wrangler prerequisite. However, it does not explicitly state when to prefer this over alternatives like execute_command or cloudflare_api, so it stops short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 and explicitly discloses 'read-only, pure REST' behavior, plus the type parameter semantics. It does not cover additional details like auth or rate limits, but for a simple read-only listing tool, 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence. It front-loads the purpose, then lists the type options and default, with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one optional parameter, no output schema, and a straightforward listing purpose, the description provides sufficient context: what it does, the type values, and the read-only/REST nature. It could mention output format, but 'resource inventory' implies the response is a list of resources.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description already covers 100% of the parameter meaning with the same list of resource types and default. The description repeats this information without adding extra nuance, so it adds no value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'views the Cloudflare account resource inventory' with a specific verb and resource, and lists the distinct resource types. This distinguishes it from sibling tools like cloudflare_api (general API calls) and d1_query (querying D1).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it is a read-only, pure REST operation for listing resources, with a type parameter enumerating the resource categories. However, it does not explicitly mention alternatives or when not to use this tool, though the read-only scope makes its usage fairly obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
无 annotations,描述承担全部披露责任,明确说明只读、仅 SELECT、防止误写、默认数据库来源等关键行为,但未提认证或错误处理等细节。
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
单句描述,先核心功能,再安全性和实现说明,再默认配置,信息密度高且无冗余,结构清晰。
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
对于两个参数、无输出 schema 的简单工具,描述已覆盖核心用途和默认值,但缺少返回格式说明,略有不足。
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
schema 覆盖率为 100%,描述只是重复了 sql 是 SELECT 查询和 database 默认值,没有增加超出 schema 的语义,因此按基线评 3 分。
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
描述明确说明“对 D1 数据库执行只读 SQL(仅 SELECT)”,动词+资源+限定条件清晰,与 read_file、execute_command 等兄弟工具区分明显。
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
明确表明用于只读 SQL 查询,并强调“纯 REST,无需 wrangler/jq”,隐含了使用场景,但没有明确列出“何时不用”或替代工具名称,因此扣一分。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description takes on the full burden of safety disclosure. It warns '全权限直通' (full-permission passthrough) and that delete operations require explicit user authorization, which is critical risk information. It also explains auto-injection of token/account_id and placeholder replacement, adding valuable behavior context beyond a simple call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, front-loaded with the primary purpose, and includes examples and a safety warning without unnecessary fluff. Every sentence earns its place, making it efficient and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex raw API gateway, the description covers purpose, usage, parameter semantics, and safety. It lacks explicit mention of the response format or error behavior, which could be inferred from 'REST API', but for an agent to invoke correctly, the provided info is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description goes beyond the schema by explaining that {account_id} placeholders are automatically replaced, and provides concrete path examples for each parameter context. This adds meaningful semantics that the schema alone does not convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is a 'Cloudflare REST API 通用网关' (universal gateway) that directly calls Cloudflare API via method/path/body, with explicit examples like GET /zones and POST /zones. This distinguishes it from specialized siblings like d1_query and cloudflare_deploy by positioning it as a general-purpose API passthrough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for usage: it is a universal gateway for direct API calls, auto-injects credentials, and points to CF_API.md for common paths. However, it does not explicitly name alternatives or state when not to use this tool, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/NingFlos/cloudflare-workspace-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server