Typecheck Project
typecheckTypecheck the project (incremental tsc on the project VM). Type errors don't block the app from running.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| paths | No | ||
| projectId | Yes |
typecheckTypecheck the project (incremental tsc on the project VM). Type errors don't block the app from running.
| Name | Required | Description | Default |
|---|---|---|---|
| paths | No | ||
| projectId | Yes |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds the key behavioral fact that 'type errors don't block the app from running', which is useful context beyond the annotations. However, it does not describe what the tool outputs (e.g., exit codes, error list), so the additional disclosure is limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, with the core purpose first and a behavioral note second. No wasted words or redundant details. It is appropriately sized for a simple tool, though the sentence order could optionally front-load the non-blocking behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple typecheck tool with annotations covering safety, the description covers the basic purpose and a key behavioral nuance. However, it omits semantics for the optional 'paths' parameter and does not describe the return value or how errors are surfaced. Given the low schema coverage, this is a notable incompleteness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description implies projectId from 'the project' but provides no explanation of the optional 'paths' parameter. An agent cannot infer whether 'paths' restricts typechecking to specific files or directories. The lack of parameter documentation is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Typecheck the project') and provides implementation detail ('incremental tsc on the project VM'). It is specific about the resource (project) and the operation, distinguishing it from siblings like run_tests or run_code_in_vm without explicit differentiation, but the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention that it is lightweight or incremental compared to a full typecheck, nor does it reference any sibling tool or condition. The note about type errors not blocking the app is informative but not a usage directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Tools are mostly distinct, but there is some overlap among file-modifying tools (edit_file, write_file, apply_patch) and between run_code_in_vm and run_code_in_browser. Detailed descriptions and clearly scoped use cases help agents select correctly.
Most tools follow a verb_noun snake_case pattern (create_project, list_files, execute_sql), but a few deviate (apply_patch, card_upload_asset, run_code_in_vm). Overall readable and predictable, with only minor inconsistencies.
With 46 tools, the server exceeds the typical well-scoped range and approaches the extreme threshold. While the broad scope of a full development platform justifies many tools, this count may overwhelm agents and increase misselection risk.
The tool surface covers the full development lifecycle: project creation, file operations, database management, resource provisioning, deployment, testing, and debugging. Minor gaps exist (e.g., no delete_project or checkpoint management), but core workflows are well-supported.