Brain Bridge
Click on "Deploy 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., "@Brain Bridgesearch artifacts for 'API design'"
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.
⨠Features
š MCP Server
Cross-conversation artifact access ā Read, list, and search artifacts across all Antigravity conversations
Shared notes ā Write notes accessible by any conversation (
_shared/directory)Task delegation ā Spawn headless child conversations to parallelize complex work
Task monitoring ā Check status, results, and manage delegated sub-tasks
š„ļø VS Code Extension
Sidebar UI ā Dedicated activity bar panel with three views:
š Delegated Tasks ā Real-time task status with inline actions (check result, focus, cancel)
š¬ Conversations ā Browse all Antigravity conversations and their artifacts
š Shared Notes ā View notes written by any conversation
One-click delegation ā Delegate tasks from the command palette or status bar
Auto-refresh ā Tasks update automatically every 5 seconds
File watcher ā Instant pickup of MCP-delegated tasks
Related MCP server: kitty-hive
šļø Architecture
brain-bridge/
āāā src/ # MCP Server (TypeScript)
ā āāā index.ts # Server with 8 MCP tools
āāā ext/ # VS Code Extension
ā āāā src/
ā āāā extension.ts # Extension entry point
ā āāā task-delegation.ts # Task delegation manager
ā āāā task-tree-provider.ts # TreeView data providers
āāā .agents/ # Agent skills
ā āāā skills/parallel-delegation/
āāā test/ # Test suite
āāā package.jsonData directory: ~/.gemini/antigravity/brain/
<uuid>/ā Conversation artifacts (task.md, implementation_plan.md, etc.)_shared/ā Cross-conversation shared notes_tasks/ā Delegated task state files
š Quick Start
Prerequisites
Node.js ā„ 18
Antigravity (or any MCP-compatible IDE)
1. Install the MCP Server
# Clone the repository
git clone https://github.com/0xlicy/antigravity-brain-bridge.git
cd antigravity-brain-bridge
# Install dependencies & build
npm install
npm run build2. Configure MCP
Add the following to your MCP client configuration (e.g., Antigravity settings):
{
"mcpServers": {
"brain-bridge": {
"command": "node",
"args": ["/absolute/path/to/antigravity-brain-bridge/dist/index.js"]
}
}
}Tip: Replace
/absolute/path/to/with the actual path where you cloned the repo.
3. Install the VS Code Extension (Optional)
cd ext
# Install dependencies & build
npm install
npm run build
# Package and install
npm run package
# Then install the generated .vsix file in Antigravity / VS Code4. Verify
Once configured, you can use the MCP tools in any conversation:
# List all conversations
ā list_conversations
# Search across all artifacts
ā search_artifacts(query: "authentication")
# Delegate a task to a child conversation
ā delegate_task(task: "Write unit tests for the auth module")š MCP Tools Reference
Tool | Description |
| List all Antigravity conversations with summaries |
| List artifact files in a specific conversation |
| Read the full content of a conversation artifact |
| Full-text search across all artifacts |
| Write a note to the shared |
| Delegate a task to a new child conversation |
| Check the status and result of a delegated task |
| List all delegated tasks with optional status filter |
š ļø Development
# Build the MCP server
npm run build
# Run the MCP server
npm start
# Run tests
npm testExtension development:
cd ext
# Watch mode (rebuild on changes)
npm run dev
# Package into .vsix
npm run packageš¤ Contributing
Fork the repository
Create your feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
š License
This project is licensed under the MIT License ā see the LICENSE file for details.
Available Tools
8 toolscheck_task_resultA
Check the status and result of a delegated task. Returns the task description, current status, and result if completed.
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes | Task ID (UUID) of the delegated task |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden. It discloses the return payload (task description, current status, result if completed) which adds value. However, it does not mention side effects (e.g., read-only nature), error handling for invalid task_id, or behavior when the task is not found, leaving some gaps.
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 conveys purpose and return value without unnecessary fluff. Every word contributes to understanding the tool's function.
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 read-only tool with one well-documented parameter and no output schema, the description adequately covers purpose and return values. It lacks workflow guidance (e.g., polling until completion) but is otherwise sufficient for the tool's simplicity.
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 coverage is 100% with task_id fully described. The description does not add any parameter-specific semantics beyond what the schema provides, so it earns the baseline score of 3.
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 checks the status and result of a delegated task, using a specific verb and resource. It distinguishes from sibling tools like delegate_task and list_delegated_tasks implicitly by focusing on a single task's result, but does not explicitly differentiate from list_delegated_tasks which is for listing all tasks.
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?
Usage is implied: this is for checking a specific task's status/result. The description does not provide explicit when-to-use versus alternatives, nor any exclusions, but the purpose strongly suggests the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delegate_taskA
Delegate a task to a new child conversation. Creates a pending task that the Brain Bridge Extension will automatically pick up and execute via a headless cascade. Use check_task_result to monitor progress.
| Name | Required | Description | Default |
|---|---|---|---|
| cwd | No | Working directory for the child (defaults to current) | |
| task | Yes | Task description for the child conversation |
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. It discloses that the task is pending, automatically picked up by the Brain Bridge Extension, and executed via a headless cascade, revealing key asynchronous behavior. It doesn't cover rate limits, auth needs, or failure modes, but the most important non-obvious behavior is addressed.
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 three sentences, each providing distinct value: action, mechanism/behavior, and monitoring guidance. It is front-loaded and concise, with every sentence earning 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 simple 2-parameter tool with no output schema, the description covers the core purpose, async behavior, and monitoring approach. It doesn't mention return values or error conditions, but the essential workflow is clear and sufficient for the tool's complexity.
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 100% coverage for both parameters ('task' and 'cwd'), so the schema already documents their meaning. The description adds no extra parameter semantics beyond what's in the schema, which is acceptable given the full schema coverage.
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+resource: 'Delegate a task to a new child conversation,' and elaborates on the mechanism ('headless cascade'). It clearly differentiates from sibling tools by focusing on delegation and referencing check_task_result for monitoring, making its purpose unmistakable.
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 clear context that the tool creates a pending task executed asynchronously, and instructs the user to 'Use check_task_result to monitor progress,' which acts as a follow-up guideline. However, it does not explicitly state when not to use it or name alternative tools for similar purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_artifactsA
List all artifact files in a specific conversation. Returns the markdown files with their sizes and metadata summaries.
| Name | Required | Description | Default |
|---|---|---|---|
| conversation_id | Yes | UUID of the conversation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It discloses the output format ('Returns the markdown files with their sizes and metadata summaries'), which is helpful, but it does not mention pagination, limits, or behavior when the conversation has no artifacts. Overall, it provides meaningful context beyond the name.
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 two concise sentences, front-loaded with the primary action, and contains no unnecessary repetition or filler. Every word adds value.
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 tool with one parameter and no output schema, the description adequately covers the main behavior: listing artifacts with basic metadata. It does not mention error cases or ordering, but these are not critical for the tool's basic use. It is reasonably complete given the tool's simplicity.
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 coverage is 100% and the parameter definition already states 'UUID of the conversation'. The description adds that the conversation is the scope for listing artifacts, but this is a minor clarification consistent with the parameter's purpose. It does not significantly enhance semantics beyond the 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 clearly states the action ('List all artifact files') and the scope ('in a specific conversation'), and it distinguishes the tool from siblings like list_conversations and read_artifact by focusing specifically on artifact enumeration within a conversation.
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 the tool is used to list artifacts in a conversation but does not explicitly mention when to use it over alternatives like search_artifacts or read_artifact. There are no exclusions or alternative direction provided, so usage is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_conversationsA
List all Antigravity conversations with their summaries. Scans the brain directory for conversation folders and reads metadata to provide summaries.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of conversations to return (default: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that it 'scans the brain directory for conversation folders and reads metadata,' adding context beyond the pure listing function. Since no annotations are provided, it carries the full burden; however, it omits any side effects, permission requirements, or read-only guarantee, though 'list' implies a safe read.
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 two sentences, both informative and free of fluff. It efficiently states the purpose and the underlying mechanism.
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 listing tool with one optional parameter and no output schema, the description is sufficient. It mentions summaries and the scanning mechanism, providing adequate context for an agent to select and invoke the 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?
The schema describes the 'limit' parameter with its default and type, giving 100% coverage. The description does not add further parameter semantics, but it doesn't contradict the schema; baseline 3 is appropriate.
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 lists 'all Antigravity conversations with their summaries' using the specific verb 'list' and resource. It distinguishes itself from sibling tools like list_artifacts, which target a different resource, and list_delegated_tasks.
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 usage context is implied: use this when you need to retrieve conversations. However, it provides no explicit alternatives, exclusions, or comparison to sibling tools, though the sibling set makes the use case fairly obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_delegated_tasksB
List all delegated tasks and their current status. Optionally filter by status.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Optional: filter by task status |
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 only states the basic function and does not mention read-only nature, pagination, ownership scope (delegated by vs to the user), or any other behavioral characteristics.
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 two concise sentences with the action front-loaded. Every word contributes meaning, with no 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?
The tool is simple, but without an output schema or annotations, the description leaves ambiguity about the scope of 'delegated tasks' and lacks any behavioral context. It would benefit from clarifying who delegated the tasks and what the response contains.
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 already fully documents the single 'status' parameter with enums and a description, and the tool description simply repeats 'Optionally filter by status' without adding new meaning. Schema coverage is 100%, so the baseline of 3 applies.
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 'List' and the resource 'delegated tasks', with additional detail about current status and optional filtering. This distinguishes it from sibling list tools like list_conversations and list_artifacts.
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 usage (use this to list delegated tasks) but provides no explicit when-to-use or alternative guidance. There are no mentions of exclusions or when to prefer another tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_artifactA
Read the full content of a specific artifact file from a conversation.
| Name | Required | Description | Default |
|---|---|---|---|
| filename | Yes | Filename of the artifact (e.g. 'task.md', 'implementation_plan.md') | |
| conversation_id | Yes | UUID of the conversation |
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 only states that the tool reads 'full content,' which is essentially a restatement of its purpose. It does not mention error handling, access requirements, rate limits, or the return format, leaving the agent with limited insight into the tool's runtime 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 a single, front-loaded sentence that is immediately understandable and free of extraneous words. It earns its place by conveying the essential action and scope.
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 read tool with well-documented parameters, the description is mostly complete. It conveys the core function and includes 'full content' to clarify the return. The lack of an output schema is mitigated by this clarity, though it does not address edge cases like missing artifacts or errors.
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 already provides 100% coverage of parameter descriptions, so the baseline is 3. The description does not add any further meaning beyond the schema, such as parameter relationships or usage nuances.
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 the specific verb 'read' with a clear resource ('full content of a specific artifact file from a conversation'), making the tool's function immediately obvious. It distinguishes itself from sibling tools like list_artifacts (which lists) and search_artifacts (which searches).
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 usage (read full content of a specific artifact) but does not explicitly state when to prefer this tool over alternatives or any exclusions. It lacks guidance such as 'use list_artifacts to find filenames first' or 'use search_artifacts to locate artifacts.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_artifactsA
Full-text search across artifact files. Searches all conversations or a specific one. Returns matching lines with context.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search keyword or phrase | |
| conversation_id | No | Optional: limit search to a specific conversation UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosure. It states the output (matching lines with context) and the scope, but does not explicitly mention that it is read-only or any limitations such as case-sensitivity or result limits. It provides some behavioral context but not a full safety profile.
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 concise, with two sentences covering purpose, scope, and output. It is front-loaded with the action and contains no redundant wording.
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 description covers action, optional conversation scoping, and expected return format. While there is no output schema, the description adequately explains what the agent will receive. It does not mention pagination or result ordering, but these are not essential for a search tool at this complexity.
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 coverage is 100%, so the schema already documents both query and conversation_id. The description reinforces the conversation_id behavior ('searches all conversations or a specific one') but adds no additional semantic detail beyond what's in the 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 clearly identifies the tool as a full-text search across artifact files, distinguishing it from listing or reading operations. It specifies the resource (artifacts) and the scope (all or one conversation), making it 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?
The description implies using this tool when a full-text search is needed, but does not explicitly contrast it with sibling tools like list_artifacts or read_artifact. It provides context about conversation scoping but lacks explicit when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
v1.0.0- First observed
check_task_result - First observed
delegate_task - First observed
list_artifacts - First observed
list_conversations - First observed
list_delegated_tasks - First observed
read_artifact - First observed
search_artifacts - First observed
write_shared_note
TDQS
Scored across 8 tools
Each tool targets a distinct resource and action: conversations, artifacts, shared notes, and delegated tasks. No two tools overlap in purpose, making selection unambiguous.
All tools follow a consistent verb_noun pattern (e.g., list_conversations, read_artifact, delegate_task). This predictability aids agent comprehension and selection.
With 8 tools, the server is well-scoped. It covers the core domains (conversations, artifacts, notes, tasks) without unnecessary bloat or sparse coverage.
The tool set covers list/read/search for artifacts and task delegation, but lacks conversation detail reading, artifact writing, shared note reading, and task cancellation. These gaps create potential dead ends (e.g., writing a note with no way to read it).
Maintenance
Related MCP Connectors
An MCP memory server. One memory your agents share ā across models, devices and apps.
LLM Orchestration Agent (Mcp)
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceMCP server that dynamically extracts and manages user memory from LLM conversations, enabling consistent personalization across different models.7-
- AlicenseNot gradedqualityAmaintenanceMCP server for multi-agent collaboration enabling AI agents to communicate, delegate tasks, and share artifacts across clients and machines with federation support.21 npm1MIT
- FlicenseNot gradedqualityBmaintenanceMCP server orchestrating local multi-agent workflows with gated lifecycle, handoff events, and host-level continuation.-
- AlicenseNot gradedqualityCmaintenanceMulti-AI collaboration MCP server enabling message passing, code review workflows, shared todo lists, and agent management with authentication and role-based access.74 npmMIT