Claude-Opencode-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Claude-Opencode-mcpImplement the login endpoint in /src/auth and run the tests."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Claude Desktop → OpenCode CLI Development Bridge MCP
A local Model Context Protocol (MCP) server that connects Claude Desktop (Planner / Architect) to OpenCode CLI (Coding Engineer / Executor) via standard input/output (stdio) transport.
1. Architecture
USER
│
CLAUDE DESKTOP
PLANNER/ARCHITECT
│
dynamic prompt
│
MCP SERVER
BRIDGE
│
┌──────────┴──────────┐
▼ ▼
IDE Launcher OPENCODE CLI
(VS Code / Antigravity) CODING ENGINEER
│
┌─────────────────────┼─────────────────────┐
▼ ▼ ▼
Files Terminal Tests
│ │ │
└─────────────────────┼─────────────────────┘
│
LOCAL PROJECT
│
REAL EXECUTION
│
PASS / PARTIAL / FAIL
│
MCP SERVER
│
CLAUDE DESKTOP
│
next engineering instructionKey Principles
Claude Desktop is the Planner/Architect: Requirements analysis, architectural design, task decomposition, and reviewing execution feedback.
OpenCode CLI is the Coding Engineer: Inspects the workspace, writes/edits code, executes commands, builds projects, runs automated tests, and fixes implementation errors.
MCP Server is the Bridge: Handles environment verification, opens workspaces in VS Code or Antigravity IDE when requested, launches OpenCode CLI process as a local subprocess, parses output/session events, and returns execution feedback.
Related MCP server: MCP-Claude Code Bridge
2. Requirements
Operating System: Windows 10/11, macOS, or Linux
Python: Version 3.10 or higher
OpenCode CLI: Installed globally (
npm install -g opencode-aior similar)Target IDE (Optional): VS Code (
code) or Antigravity IDE (antigravity-ide)
3. Installation
Step 1: Navigate to Project Directory
cd "d:\AI tools\MCP's\Claude-Opencode"Step 2: Create & Activate Virtual Environment
python -m venv .venv
.\.venv\Scripts\Activate.ps1Step 3: Install Package
pip install -r requirements.txt
pip install -e .4. Claude Desktop Configuration
Locate your Claude Desktop configuration file:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Add the opencode server configuration:
{
"mcpServers": {
"opencode": {
"command": "d:\\AI tools\\MCP's\\Claude-Opencode\\.venv\\Scripts\\python.exe",
"args": [
"-m",
"antigravity_mcp.server"
],
"env": {
"PYTHONPATH": "src",
"DEFAULT_IDE": "cli_direct",
"OPENCODE_PATH": "C:\\Users\\LENOVO\\AppData\\Roaming\\npm\\opencode.cmd",
"VSCODE_PATH": "C:\\Users\\LENOVO\\AppData\\Local\\Programs\\Microsoft VS Code\\bin\\code.cmd",
"ANTIGRAVITY_PATH": "D:\\AI tools\\Antigravity\\Antigravity IDE\\bin\\antigravity-ide.cmd"
}
}
}
}Path Overrides
If Claude Desktop does not inherit your full environment PATH, configure explicit executable paths:
OPENCODE_PATH: Path toopencode/opencode.cmd/opencode.exeVSCODE_PATH: Path tocode.cmd/code.exeANTIGRAVITY_PATH: Path toantigravity-ide.cmdDEFAULT_IDE: Preferred execution environment (cli_direct,vs_code,antigravity)
5. Primary MCP Tools
Tool Name | Parameters | Description |
|
| Primary Engineering Tool. Forwards dynamic engineering instructions to OpenCode CLI in target workspace. Returns structured execution status ( |
|
| Continue an active OpenCode session using real OpenCode session ID ( |
|
| Open workspace directory in VS Code or Antigravity IDE. |
| None | Check OpenCode CLI installation, version, and IDE environment status. |
Backward compatibility aliases (delegate_to_antigravity, ask_antigravity, continue_antigravity, open_antigravity_workspace) are also provided and route directly to OpenCode CLI.
6. Testing
To run the complete test suite:
$env:PYTHONPATH="src"; .venv\Scripts\python.exe -m pytestTo run with live OpenCode CLI LLM execution smoke tests:
$env:PYTHONPATH="src"; $env:RUN_REAL_OPENCODE_SMOKE="1"; .venv\Scripts\python.exe -m pytestClaude-Opencode-mcp
Available Tools
15 toolsask_antigravityD
Alias for delegate_to_opencode.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, but it provides none. It does not mention side effects, permissions, request routing, or any observable behavior beyond being an alias. This is a complete absence of behavioral transparency.
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?
The description is extremely short, but this is under-specification rather than effective conciseness. It loses the opportunity to add any useful information and does not front-load a clear purpose.
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?
Even though the input schema is simple and an output schema exists, the description is fundamentally incomplete for a tool that an agent must invoke correctly. It does not explain the core behavior, when to use it, or how the prompt parameter should be handled.
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?
The schema's only parameter, prompt, has no description and schema description coverage is 0%. The description does not compensate at all; it says nothing about what prompt means, how it is used, or what format it should take.
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 only states that the tool is an alias for delegate_to_opencode, which does not actually specify what the tool does, what action it performs, or what resource it acts on. It relies entirely on the reader knowing the semantics of delegate_to_opencode. Without that, the purpose is vague and indirect.
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?
There is no guidance on when to use ask_antigravity versus any of its siblings such as delegate_to_antigravity or continue_opencode. The alias relationship implies interchangeability with delegate_to_opencode, but no context, conditions, or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
continue_antigravityD
Alias for continue_opencode.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| interaction_id | Yes | ||
| workspace_path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 reveals that this is an alias, not what side effects exist, whether it resumes an interaction, what happens to the workspace, or what permissions are needed. The alias statement adds minimal transparency but leaves the core behavior undisclosed.
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?
The description is extremely short and free of filler, but it is under-specified rather than appropriately concise. A single alias reference cannot substitute for the functional information an agent needs to select and invoke the tool.
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?
This is a three-parameter tool with no annotations, no parameter documentation, and a description that merely points to a sibling. Even though an output schema exists, the description leaves the tool's purpose, side effects, and argument semantics almost entirely unspecified.
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%, and the description says nothing about interaction_id, prompt, or workspace_path. With all parameters effectively undocumented in both schema and description, an agent has no semantic grounding for constructing arguments beyond their names.
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 'Alias for continue_opencode' does not state what the tool does; it only references another tool by name. An agent must look up continue_opencode to understand the operation, so the purpose is effectively deferred rather than clarified. It is nearly tautological, substituting the sibling name for a functional explanation.
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?
There is no guidance on when to choose this tool over alternatives such as continue_opencode or delegate_to_opencode. The alias relationship implies identical usage, but no explicit when-to-use or when-not-to-use conditions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
continue_opencodeA
Continue an active OpenCode engineering session while preserving session context.
Use this tool to send follow-up instructions, fix build/test failures, or proceed to the next engineering task in the development loop.
Args: interaction_id: The OpenCode session ID of the previous interaction session to continue. prompt: Dynamic follow-up instruction generated by Claude Desktop. workspace_path: Local workspace directory path. ide: Optional IDE environment preference ('vs_code', 'antigravity', or 'cli_direct').
| Name | Required | Description | Default |
|---|---|---|---|
| ide | No | ||
| prompt | Yes | ||
| interaction_id | Yes | ||
| workspace_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden of behavioral disclosure. It discloses that session context is preserved and implies execution of follow-up instructions, but it does not mention potential filesystem mutations, authentication requires, or behavior when the session is no longer active.
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?
The description is well-organized with a purpose sentence, a usage sentence, and a parameter list. It is slightly longer than necessary but every section adds value, especially given the schema's lack of parameter descriptions.
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?
The presence of an output schema covers return-value documentation. The description covers purpose, usage, and all parameters. The only substantive gap is the lack of disclosure about side effects or preconditions beyond 'active session,' but overall the description is adequate for a continuation tool.
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%, but the Args section fully compensates. Each parameter gets a meaningful explanation, including the allowed values for 'ide' ('vs_code', 'antigravity', 'cli_direct'), which the schema does not provide as an enum.
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 action: 'Continue an active OpenCodeengineering session while preserving session context,' which is a specific verb and resource. It also lists concrete use cases, distinguishing it from sibling tools that start or status-check sessions, though it does not explicitly name an alternative.
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?
The description gives explicit when-to-use scenarios: 'send follow-up instructions, fix build/test failures, or proceed to the next engineering task in the development loop.' It does not state when not to use it or mention alternatives, but the active-session framing provides sufficient context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delegate_to_antigravityC
Alias for delegate_to_opencode.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| workspace_path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 discloses only that behavior matches delegate_to_opencode, but says nothing about side effects, authentication needs, errors, or what happens on invocation. The behavioral traits are merely delegated to another tool rather than described.
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?
The text is short and free of filler, but this is under-specification rather than effective conciseness. A single sentence that delegates all meaning to another tool does not earn its place as a usable definition.
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?
Despite having an output schema and two parameters, the description does not explain behavior, expected return, or when to invoke this tool. It is only self-sufficient if the agent separately resolves delegate_to_opencode's full documentation, so it is incomplete in context.
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%, and the description adds no meaning to either parameter. The agent gets no explanation of what 'prompt' should contain or how workspace_path affects behavior. This is a complete failure to compensate for the schema's silence.
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 states only that this tool is an alias for delegate_to_opencode. It communicates a relationship to a sibling, so it is not a pure tautology, but it never explains what delegation does or which resource it affects. An agent must dereference the sibling's documentation to learn the actual purpose.
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 is given about when to choose this alias vs delegate_to_opencode or get_antigravity_status. There is no stated condition, exclusion, or alternative; the agent is left to infer that both aliases are interchangeable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delegate_to_opencodeA
Delegate a real-time software engineering instruction to OpenCode CLI.
Claude Desktop acts as the Planner and Architect. OpenCode CLI acts as the Coding Engineer. The dynamic prompt is forwarded unchanged to OpenCode executing in the target workspace.
Args: prompt: Dynamic, real-time natural language engineering instruction generated by Claude. workspace_path: Absolute or relative local workspace directory path. ide: Optional IDE environment preference ('vs_code', 'antigravity', or 'cli_direct').
| Name | Required | Description | Default |
|---|---|---|---|
| ide | No | ||
| prompt | Yes | ||
| workspace_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden and does add useful behavior: the prompt is 'forwarded unchanged to OpenCode executing in the target workspace,' revealing a passthrough to an external CLI. However, it does not disclose side effects such as workspace file modifications, prerequisites like OpenCode CLI installation/authentication, or failure modes, which is significant for a delegation tool.
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?
The description is compact and front-loaded: one opening purpose sentence, one role-context sentence, one passthrough sentence, and a short Args list. Every sentenceearns its place without filler or redundancy.
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 3-param tool with an output schema and no annotations, the definition covers purpose, target, and parameters well. But it lacks operational completeness: no preconditions, side-effect warnings, or post-invocation behavior beyond the passthrough statement. An agent selecting among sibling delegation tools would benefit from explicit outcome and prerequisite context.
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%, but the Args block fully compensates by defining prompt as a dynamic real-time instruction, workspace_path as an absolute or relative path, and ide as an optional preference with specific allowed values: 'vs_code', 'antigravity', or 'cli_direct'. This adds meaning beyond the bare schema titles and default null.
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?
Description opens with 'Delegate a real-time software engineering instruction to OpenCode CLI,' a specific verb, resource, and target workspace. It also clarifies the role split between Claude Desktop and OpenCode CLI, so an agent can distinguish it from sibling delegate_to_antigravity and other OpenCode-related tools.
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?
The role framing ('Claude Desktop acts as the Planner and Architect. OpenCode CLI acts as the Coding Engineer') provides clear workflow context: use this when a coding instruction should be handed off to OpenCode rather than executed by Claude. It does not name alternatives or exclusions explicitly, but the intended usage is strongly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diagnose_antigravity_workspaceC
Run project diagnostics in local workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 says 'run project diagnostics' without stating whether the operation is read-only, whether it executes commands or modifies files, whether it requires network access, or what the output actually contains. The existence of fix_antigravity_workspace suggests diagnostics is analysis-only, but that is left to inference.
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?
The description is a single seven-word sentence with the verb front-loaded and zero filler words. It is efficient and readable, though it is brief to the point of under-specification — that deficiency is more appropriately penalized in the purpose, parameter, and behavioral dimensions.
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?
Even though an output schema exists (so return values need not be described), the definition omits the safety profile (no annotations), the meaning of the sole required parameter, and the functional boundary against at least three overlapping siblings. For a tool an agent is expected to invoke with a user-supplied path, this description leaves too much unspecified.
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%, so the description must compensate for the undocumented 'path' parameter. It only weakly implies that 'path' is a local workspace path via the phrase 'local workspace,' but it does not explain whether the path is a directory or file, whether it must already exist, whether it should be absolute, or what happens if it is invalid. With a single required parameter, this is a meaningful 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 states a clear verb (run) and target (project diagnostics in local workspace), but 'diagnostics' itself is underspecified and the description does nothing to distinguish it from heavily overlapping siblings such as inspect_antigravity_workspace, get_antigravity_status, and fix_antigravity_workspace. The verb essentially restates the tool name ('diagnose' → 'diagnostics'), adding little information.
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?
There is no guidance on when to use this tool versus the 14 sibling tools. Notably, inspect_antigravity_workspace, get_antigravity_workspace, and get_antigravity_status plausibly overlap with running diagnostics, yet no exclusion criteria or routing hints are provided. An agent has no basis to select this tool over its near-name twins.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fix_antigravity_workspaceC
Apply targeted file write within workspace boundary.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | ||
| relative_path | Yes | ||
| workspace_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of disclosing behavior. It does reveal the operation is a write and that it is constrained to a workspace boundary, but it does not mention overwrite behavior, file creation, permission requirements, or what happens on failure. This is a mutation tool with minimal behavioral disclosure.
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?
The description is a single short sentence with no filler, which is positive for parsability. However, it is under-specified rather than efficiently complete; it omits essential usage and parameter context while focusing only on the core action.
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?
Given three required parameters, no annotations, no parameter descriptions, and a complex set of sibling tools, the description is not complete enough. It does not explain how to correctly supply paths and content, nor does it clarify boundaries or error behavior. The presence of an output schema reduces the need to describe return values, but the input side is still inadequately documented.
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%, so the description must compensate for undocumented parameters. It gives vague hints: 'targeted file write' suggests content and relative_path, and 'workspace boundary' suggests workspace_path. However, it does not explain the format of relative_path, the expected content encoding, or the precise role of workspace_path.
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 it applies a targeted file write within a workspace boundary, identifying the verb ('write'), the resource (files in a workspace), and a key constraint. It is distinguishable from read/inspect/diagnose siblings, though it does not explicitly name the alternative it differs from.
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?
There is no guidance on when to use this tool versus alternatives like read_antigravity_workspace_file, inspect_antigravity_workspace, or open_antigravity_workspace. The description only implies a write/fix scenario but never states conditions, exclusions, or which sibling tools to prefer in other cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_antigravity_statusB
Alias for get_opencode_status.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the behavioral burden. It discloses only that this is an alias, saying nothing about whether the call is read-only, what the response contains, or whether there are side effects. The name 'status' weakly implies a read operation, but that is not stated.
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?
The description is a single sentence with no filler, efficiently conveying that it is an alias. It is appropriately sized, though the brevity leaves behavioral and contextual gaps.
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?
With no annotations and a large sibling set, the description should at least clarify that Antigravity and Opencode are equivalent and which name is canonical. It leaves the relationship implicit and gives no guidance about when to use this alias versus get_opencode_status. The presence of an output schema covers return values, but the alias context is still insufficiently explained.
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?
The tool has zero parameters and the schema description coverage is 100%, so there is no parameter information for the description to add. Per the baseline for zero-parameter tools, this is adequate.
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 says only 'Alias for get_opencode_status,' which points to another tool rather than stating the function directly. It is clear only if the agent already understands get_opencode_status, and it does distinguish this tool from siblings by naming the canonical tool, but it never explains what the status operation actually does.
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?
The alias statement implies that get_antigravity_status should be used in the same circumstances as get_opencode_status, providing indirect usage guidance. However, it gives no explicit when-to-use or when-not-to-use guidance and no reason for choosing one name over the other.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_antigravity_workspaceB
Query currently active workspaces in local IDE.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It conveys that the operation is a query/read, which implies non-mutating behavior, and scopes the query to 'currently active workspaces' in the local IDE. It does not mention error cases, whether it contacts a remote service, or how 'active' is determined, but for a parameterless query tool the description is reasonably transparent.
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?
The description is a single concise sentence that states the action, the target ('workspaces'), the state filter ('currently active'), and the scope ('local IDE') without unnecessary words. It is front-loaded and easy to parse.
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 parameterless query tool with an output schema, the description is minimally adequate: the agent knows what to call and roughly what to expect. However, given the large sibling set and the lack of annotations, it would be stronger if it clarified how this differs from related tools or when 'currently active' matters. The output schema likely covers return shape, so the main gap is usage context.
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?
The tool has zero parameters, so there is no parameter meaning for the description to clarify. The baseline for no-parameter tools is 4, and the description does not introduce any misleading parameter-related information.
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 uses a specific verb and resource: 'Query currently active workspaces in local IDE.' It clearly identifies what the tool does and the environment it operates in. However, it does not explicitly distinguish itself from siblings like get_antigravity_status or inspect_antigravity_workspace, so it stops short of a 5.
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 is provided on when to use this tool versus alternatives such as inspect_antigravity_workspace or open_antigravity_workspace. The description only states what the tool does, leaving the agent to infer appropriate usage from the tool name and siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_opencode_statusA
Check OpenCode CLI executable availability, version, and IDE readiness.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden, and it does so reasonably: 'Check' signals a read-only observation and the three enumerated data points make the behavior concrete. It does not discuss failure modes or environment assumptions, but the presence of an output schema covers the return shape.
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?
One compact sentence with no filler, front-loaded with the action and resource, and it names the three specific checks. Every phrase earns its place.
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 zero-parameter status tool with an output schema, the description covers the essential purpose and scope. It loses a point only because it does not connect to the surrounding workflow (e.g., verifying readiness before delegate_to_opencode), which would make the context fully self-sufficient.
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?
The input schema is empty, so there are no parameter semantics to clarify; per the zero-parameter baseline this is a 4. The description focuses on the status information returned rather than any arguments.
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 names a specific verb ('Check'), a specific resource ('OpenCode CLI executable'), and the exact facets checked (availability, version, IDE readiness). This clearly separates it from sibling tools like get_antigravity_status, which target a different environment.
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?
The description implies this is a pre-flight status check, but it does not explicitly state when to call it versus siblings like delegate_to_opencode or continue_opencode. No alternatives or exclusion conditions are given, so the agent must infer the workflow context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_antigravity_workspaceC
Inspect local workspace directory structure and manifest files.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. 'Inspect' implies a read-only operation and 'local' narrows scope, but the description does not explicitly state side effects, permissions, file traversal behavior, or what the output contains. This is too sparse for an unannotated tool.
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?
A single front-loaded sentence with no filler or repetition. Every word adds meaning, and the essential action and resource are stated immediately.
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 one-parameter inspect tool with an output schema, this is minimally viable: an agent can guess that path points at the workspace to inspect. However, missing parameter semantics, explicit read-only confirmation, and any sibling routing leave noticeable gaps, especially given the large family of similar workspace tools.
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?
The input schema has a single required 'path' parameter with no description, and schema description coverage is 0%. The phrasing 'directory structure and manifest files' implies path selects the workspace area to inspect, but it does not specify whether path should be a directory or file, absolute or relative, or how it maps to results. The description fails to compensate for the undocumented schema.
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?
States a specific verb and object: inspecting the local workspace's directory structure and manifest files. This distinguishes it from sibling tools like open_workspace_in_ide or read_antigravity_workspace_file, but it does not explicitly name alternatives or say what it is not, so it misses full differentiation.
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?
The description gives no explicit when-to-use guidance or comparisons to sibling tools such as get_antigravity_workspace, diagnose_antigravity_workspace, or read_antigravity_workspace_file. There are no stated conditions, prerequistes, or exclusions, so an agent must infer when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
launch_antigravity_workspaceC
Launch application in workspace using detected launcher.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It doesn't mention what happens on launch (e.g., does it block until the app exits? Does it detach or stream logs? Does it require specific state like workspace loaded or antigravity running?). The phrase 'detected launcher' implies automatique detection, but there'ss no detail about what happens if no launcher is found or if the path is invalid. Significant behavioral gaps remain.
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?
The description is a single concise sentence with no redundant phrasing. It front-loads the action ('Launch') and the object ('application in workspace'). However, it's somewhat underspecified, which borders on under-specification rather than effective conciseness, so a 4 is appropriate.
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?
Given the il_min_rich oc_schema (one simple parameter) and no output_schema (skip→ false unless provided), the description must be self-sufficient. nIt isn't: it doesn't explain what 'antigravity' is, what a 'detected launcher' means, what the output will be, or what to do when launcher detection fails. For a launch operation with operational risk (fires a process), this is incomplete. An agent would likely need to ask for clarification.
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%, so the description doesn't add any parameter details. The only parameter is 'path', which is self-explanatory from its name and required status. However, the description doesn't specify what kind of path is expected (absolute/relative, to the workspace root, to an executable, etc.). With one simple required parameter and a basic name, a baseline 3 is appropriate, but it could have added clearer semantics by specifying the expected format.
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 states a specific action ('Launch application in workspace') and a mechanism ('using detected launcher'), which gives a basic understanding of what the tool does. However, it doesn't clarify what 'antigravity workspace' refers to or how it differs from sibling tools like 'open_workspace_in_ide' or 'launch_antigravity_workspace' (if it's a sibling itself, which it isn't). The verb+resource is present, but the context is vague enough that an agent might confuse it with other launch or open tools.
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?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., whether the workspace must already be open or if antigravity is running), nor does it distinguish when to use this over 'open_workspace_in_ide' or 'delegate_to_opencode'. The 'using detected launcher' is a slight hint but doesn't provide explicit when/when-not conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_antigravity_workspaceC
Alias for open_workspace_in_ide with Antigravity IDE.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden of behavioral disclosure. It merely states it is an alias and offers no information about side effects, permissions, whether it launches a new process, or what happens to an existing Antigravity session. The behavior is entirely delegated to another tool's definition, which is not included here.
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?
The description is a single concise sentence with no redundant words, and it front-loads the alias relationship. It earns its place but is arguably too terse, providing only routing information without any behavioral or parameter context.
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?
With only one required string parameter and an output schema present, the definition could have been minimally complete by explaining the path format and the expected effect. Instead, it leaves all behavioral details to another tool's definition. An agent using this tool in isolation would not know what 'open' means for Antigravity or how to construct a correct path.
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%, and the description provides no explanation of the 'path' parameter beyond its name. An agent cannot infer whether path should be a directory path, a workspace URI, an absolute or relative path, or what format is expected. The description adds no value over the bare schema field.
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 that this tool is an alias for open_workspace_in_ide and specifically targets Antigravity IDE, which conveys the verb (open) and resource (workspace in Antigravity). It distinguishes itself from generic open_workspace_in_ide by naming the IDE, though it relies on the referenced tool for the full meaning of 'open workspace.'
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?
The phrasing 'Alias for open_workspace_in_ide with Antigravity IDE' implies this tool should be used when the target IDE is Antigravity and the generic tool would otherwise be appropriate. However, it does not explicitly state when to choose this over launch_antigravity_workspace or open_workspace_in_ide, nor does it describe any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_workspace_in_ideB
Open an existing workspace directory in VS Code or Antigravity IDE.
Args: workspace_path: Directory path of the workspace to open. ide: Target IDE ('vs_code' or 'antigravity'). Defaults to configured default IDE.
| Name | Required | Description | Default |
|---|---|---|---|
| ide | No | ||
| workspace_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden, but it only says 'Open' and does not mention side effects such as launching a GUI application, focusing windows, returning immediately, or requiring the IDE to be installed. The default-IDE note is useful but is more about parameter behavior than operational behavior.
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?
The description is compact and front-loaded: a clear purpose sentence followed by a concise Args block. There is no redundant or filler text, and the parameter details are structured for quick scanning.
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 tool with only two flat parameters and an output schema, the invocation details are largely present. However, the lack of usage guidance alongside several closely related sibling workspace tools leaves an agent without enough context to reliably choose between this tool and open_antigravity_workspace or launch_antigravity_workspace.
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%, so the description must fully explain the parameters, and it does: workspace_path is defined as a directory path, and ide specifies target IDE with the two accepted values 'vs_code' and 'antigravity' plus default behavior. This adds significant meaning beyond the bare string schema.
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 identifies a specific verb and resource: 'Open an existing workspace directory in VS Code or Antigravity IDE.' It clearly says what the tool does, though it does not explicitly differentiate itself from the sibling open_antigravity_workspace beyond mentioning both VS Code and Antigravity as targets.
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?
The description gives no guidance about when to use this tool versus alternatives such as open_antigravity_workspace, launch_antigravity_workspace, or inspect_antigravity_workspace. It states only what the tool does and a parameter default, leaving the choice of tool to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_antigravity_workspace_fileC
Safely read content of a workspace file.
| Name | Required | Description | Default |
|---|---|---|---|
| max_lines | No | ||
| relative_path | Yes | ||
| workspace_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. The word 'safely' weakly implies a read-only, side-effect-free operation, but the description does not explain what happens on missing files, path traversal constraints, or the effect of max_lines. Significant behavioral ambiguity remains.
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?
The description is a single concise sentence with no filler words, and 'safely read' is front-loaded. However, it is so terse that it omits useful contextual details, which slightly limits the value of its brevity.
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?
Despite having three parameters, no annotations, and many sibling tools, the description provides only a one-sentence overview. Essential context such as path resolution rules, max_lines behavior, and safety guarantees is missing. While an output schema exists, the description itself is insufficient for reliable tool selection and invocation.
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%, and the description adds no parameter-specific meaning. It does not clarify the roles of workspace_path, relative_path, or max_lines beyond what the parameter names already suggest. The description fails to compensate for the schema's lack of documentation.
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 action ('read') and the resource ('content of a workspace file'), and adds 'safely' to signal a non-destructive operation. It is specific enough to understand the tool's basic purpose, though it does not explicitly differentiate it from sibling tools like inspect_antigravity_workspace or get_antigravity_workspace.
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?
There is no guidance about when to use this tool versus alternatives such as inspect_antigravity_workspace, get_antigravity_workspace, or diagnose_antigravity_workspace. The description only states what the tool does, not when it should be chosen over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Several tools are explicit aliases for the same operation, such as delegate_to_opencode/delegate_to_antigravity/ask_antigravity, get_opencode_status/get_antigravity_status, continue_opencode/continue_antigravity, and open_workspace_in_ide/open_antigravity_workspace. This creates serious ambiguity because an agent can select multiple different tool names to perform the same action, and the remaining antigravity workspace tools also have overlapping file/diagnostic boundaries.
There is no consistent naming pattern across the set: some tools use verb_to_target like delegate_to_opencode, others are target-prefixed like get_antigravity_status, and others are generic like open_workspace_in_ide. Aliases also have divergent names such as ask_antigravity, making the convention even less predictable.
15 tools is on the higher side for a single integration server, and the presence of at least five aliases makes the count feel padded rather than purposeful. However, once aliases are removed, the remaining unique session and workspace operations are roughly reasonable for the stated scope.
The core workflow of delegating to OpenCode, continuing sessions, checking status, opening workspaces, inspecting files, and running diagnostics is well covered. Minor gaps such as no session listing or cancellation can be worked around using returned interaction IDs and workspace queries.
Maintenance
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
Source-checked CLI guides and model-aware planning for Claude Code, Codex, and Grok Build.
Adaptive plan/build/review cycles for AI coding assistants, persisted across sessions.
Your Aurentia workspace — projects, CRM, tasks, deliverables — in Claude, Cursor or any MCP client.
Claude Code / MCP skills for the dev pipeline: discover, spec, design, build, ship, operate.
Related MCP Servers
- FlicenseAqualityNot gradedmaintenanceBridges Claude Desktop, Claude Code CLI, and Claude Code for VS Code, enabling developers to plan in Desktop, save specs to project directories, and invoke Claude Code CLI with seamless state sharing across interfaces.4
- FlicenseBqualityDmaintenanceBridges Claude Desktop with Claude Code CLI to delegate complex coding tasks like creating React apps, building APIs, and debugging scripts while maintaining interaction through the Desktop interface.51
- FlicenseNot gradedqualityCmaintenanceEnables ISLI agents and MCP clients to dispatch natural-language coding and terminal tasks to a locally-installed Claude Code CLI, supporting both one-shot execution and persistent sessions with workspace and security controls.
- AlicenseNot gradedqualityBmaintenanceEnables Claude Code to delegate prompts to an OpenCode agent session for cheaper executor-role work, supporting different providers and session persistence.23,488MIT
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/Joshua-zlitch/Claude-Opencode-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server