Skip to content

kjanat/bun-docs-mcp-zed

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

15 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Bun Docs MCP for Zed

Rust CI

Search Bun documentation directly in Zed using the Model Context Protocol (MCP).

Pure Rust implementation with zero runtime dependencies.

Features

  • πŸ” Search Bun Docs - Query Bun documentation from Zed Assistant
  • ⚑ Pure Rust - Native binary with automatic download from GitHub Releases
  • πŸͺΆ Lightweight - 1.3 MB compressed, 2.7 MB extracted
  • πŸš€ Fast - 4ms startup time
  • 🌍 Multi-Platform - Supports Linux, macOS, Windows (x86_64/ARM64)
  • πŸ”„ Auto-Update - Downloads latest binary on installation

Installation

From Zed Extensions (Coming Soon)

  1. Open Zed
  2. Cmd+Shift+X (macOS) or
    Ctrl+Shift+X (Linux/Windows)
    β†’ Extensions
  3. Search: "Bun Docs MCP"
  4. Click Install

As Dev Extension (Local Development)

# Clone this repository
git clone https://github.com/kjanat/bun-docs-mcp-zed
cd bun-docs-mcp-zed

Then, install in Zed:

  • Press Cmd+Shift+P (macOS) or
    Ctrl+Shift+P (Linux/Windows)
  • Type: "zed: install dev extension"
  • Select this directory

No build required! The extension auto-downloads the Rust binary from GitHub Releases on first use.

Usage

  1. Open Assistant:
    Cmd+Shift+A (macOS) or
    Ctrl+Shift+A (Linux/Windows)
  2. Enable Context: Click context dropdown β†’ Enable "bun-docs-mcp"
  3. Ask Questions: "How does Bun.serve work?"

Example Queries

  • How does Bun.serve work?
  • Explain Bun's WebSocket support
  • What are Bun's TCP APIs?
  • How do I use Bun.file?
  • Show me Bun.spawn examples

Architecture

flowchart TD
    A["πŸ”§ Zed Extension (WASM)<br/>β€’ Auto-downloads binary<br/>β€’ Platform detection<br/>β€’ Daily update checks<br/>β€’ Size: 171 KB"]
    B["πŸ“¦ GitHub Releases<br/>kjanat/bun-docs-mcp-proxy<br/>β€’ 6 platforms supported<br/>β€’ ~1.3 MB compressed"]
    C["βš™οΈ Rust MCP Proxy (Native)<br/>β€’ stdio ↔ HTTP ↔ SSE<br/>β€’ 2.7 MB extracted<br/>β€’ 4ms startup"]
    D["🌐 Bun Docs API<br/>https://bun.com/docs/mcp"]

    A -->|"downloads from"| B
    B -->|"extracts to /work/"| C
    C -->|"queries"| D
Loading

How It Works

  1. Extension: Zed loads the WASM extension from this repo
  2. Auto-Download: On first use, downloads platform-specific binary from GitHub Releases
  3. Proxy Binary: Rust binary translates between:
    • Zed's stdin/stdout (JSON-RPC)
    • Bun Docs HTTP API (SSE responses)
  4. Search: Queries Bun documentation and returns results

Supported Platforms

All platforms auto-detected and supported:

Platform Binary Size
Linux x86_64 bun-docs-mcp-proxy-linux-x86_64.tar.gz 1.3 MB
Linux ARM64 bun-docs-mcp-proxy-linux-aarch64.tar.gz 1.25 MB
macOS Intel bun-docs-mcp-proxy-macos-x86_64.tar.gz 1.19 MB
macOS Apple Silicon bun-docs-mcp-proxy-macos-aarch64.tar.gz 1.13 MB
Windows x86_64 bun-docs-mcp-proxy-windows-x86_64.zip 1.09 MB
Windows ARM64 bun-docs-mcp-proxy-windows-aarch64.zip 1.04 MB

Static Linux builds (musl) also available.

Performance

Metric Value
First Use ~2-3 seconds (one-time download)
Subsequent ~4ms startup (instant!)
Binary Size 2.7 MB
Memory ~2-5 MB
Dependencies None (standalone binary)

Development

Project Structure

bun-docs-mcp-zed/
β”œβ”€β”€ extension.toml      # Zed extension metadata
β”œβ”€β”€ Cargo.toml          # Rust build configuration
β”œβ”€β”€ src/
β”‚   └── lib.rs          # Extension (auto-downloads proxy binary)
β”œβ”€β”€ ARCHITECTURE.md     # Technical architecture
└── README.md           # This file

Proxy implementation: Separate repo at kjanat/bun-docs-mcp-proxy

Building

# Build extension WASM
cargo build --release --lib

# Extension auto-downloads proxy binary from GitHub
# No need to build proxy locally!

Testing

# Install as dev extension in Zed
# Cmd+Shift+P (macOS) or Ctrl+Shift+P (Linux/Windows) β†’ "zed: install dev extension"
# Select this directory

# Enable in Assistant and test
# Open Assistant β†’ Enable "bun-docs-mcp"
# Ask: "How does Bun.serve work?"

Technical Details

MCP Protocol: JSON-RPC 2.0 over stdio
Transport: Server-Sent Events (SSE) over HTTPS
API Endpoint: https://bun.com/docs/mcp
Binary Source: Auto-downloaded from GitHub Releases

For detailed architecture information, see ARCHITECTURE.md.

Troubleshooting

Extension won't enable

Check Zed log:
Cmd+Shift+P (macOS) or
Ctrl+Shift+P (Linux/Windows)
β†’ "zed: open log"

Common issues:

  • First use takes 2-3 seconds (downloading binary)
  • Network issues prevent download β†’ Check internet connection
  • Binary not for your platform β†’ Check supported platforms above

Binary downloaded but won't run

Find the binary location:

The extension stores the binary in Zed's extension work directory. The exact path varies by platform:

  • Linux: ~/.local/share/zed/extensions/work/bun-docs-mcp/bun-docs-mcp-proxy/
  • macOS: ~/Library/Application Support/Zed/extensions/work/bun-docs-mcp/bun-docs-mcp-proxy/
  • Windows: %APPDATA%\Zed\extensions\work\bun-docs-mcp\bun-docs-mcp-proxy\

Verify binary exists (Linux/macOS):

ls -lh ~/.local/share/zed/extensions/work/bun-docs-mcp/bun-docs-mcp-proxy/
# Should show: bun-docs-mcp-proxy (executable)

Test manually (Linux/macOS):

~/.local/share/zed/extensions/work/bun-docs-mcp/bun-docs-mcp-proxy/bun-docs-mcp-proxy <<< '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
# Should return: {"jsonrpc":"2.0","id":1,"result":{"tools":[...]}}

Note: Replace paths with your platform-specific location from above.

Why Rust?

This extension is implemented in pure Rust for:

  • Performance: 4ms startup time
  • Size: Compact 2.7 MB binary
  • Dependencies: Zero runtime dependencies
  • Reliability: Compile-time safety guarantees
  • Boredom: Why not...

See ARCHITECTURE.md for migration history and technical details.

Contributing

Contributions welcome!

Proxy implementation: kjanat/bun-docs-mcp-proxy
Extension: This repository

License

MIT - See LICENSE

Credits


Ready to search Bun docs in Zed! Install the extension and start asking questions. πŸš€

About

MCP server integration for searching Bun documentation directly in Zed editor

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages