MCP server that exposes Cloudflare OS Context Library to external coding agents (Claude Code, Cursor, etc.) for read-only access to shared team context, with optional write capabilities for workspace management and agent-driven development
Server defines 6 tools with complete input schemas and descriptions. Naming follows verb_noun convention (list_, search_, read_, ask_, check_). Descriptions are substantive (100-250 chars) and explain WHEN to use each tool. However, output schemas are entirely undocumented, LLMs cannot predict what fields to expect from responses. Parameters lack type constraints (enums, ranges, patterns). Error handling is minimal; no recovery guidance. ask_cfos_agent and check_cfos_chat lack idempotency/confirmation patterns despite being write operations. Thai-language comments in code do not affect scoring but indicate this is a prototype/internal tool.
Ask the Cloudflare OS agent to build or change an app inside an EXISTING workspace. You must pass a workspaceId from list_cfos_workspaces — this tool never creates a new workspace, because a workspace the human is not a collaborator on would hide any action waiting for their approval. Returns the transcript so far; the agent may still be running, in which case poll with check_cfos_chat.
Poll a chat started by ask_cfos_agent: returns the transcript, whether the agent is still running, and anything waiting for a human to approve.
List the Cloudflare OS workspaces this agent has been invited into. Use it to find the workspaceId required by ask_cfos_agent. If the list is empty, a human must invite this agent's account as a collaborator first.
List the context collections and documents available in the company's Cloudflare OS Context Library. Call with no arguments to see all collections, then pass collectionId to see the documents inside one.
Read one context document in full. Pass the docId returned by search_context or list_context.
No output schemas documented. LLMs cannot predict response structure, forcing them to guess field names and types. This breaks tool chaining and increases hallucination risk.
ask_cfos_agent and check_cfos_chat are write operations (WRITE risk) but lack confirmation/dry-run patterns. Agents can trigger unintended workspace changes without approval.
Parameters lack type constraints. 'limit' in search_context accepts any number; no min/max bounds. 'waitSeconds' in ask_cfos_agent has no validation. LLMs can pass absurd values (limit=999999, waitSeconds=1000).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | 2026-07-28+ | v2 |
Full-text search the company's shared context. Use this before answering questions about internal conventions, processes, or decisions — it is the team's single source of truth.
Error handling is absent. No recovery guidance, no actionable error messages. If a tool fails, the LLM has no direction on what to try next.
list_cfos_workspaces returns a 'hint' field with natural-language guidance when the list is empty. This is good UX but should be formalized as a structured error response with error_code and recovery_action fields.