Labsco
biegehydra logo

Bifrost VSCode Dev Tools

โ˜… 221

from biegehydra

Exposes VSCode dev tools features to MCP clients, with support for project-specific configurations.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeQuick setup

Bifrost - VSCode Dev Tools MCP Server

VSCode Extension Downloads

This VS Code extension provides a Model Context Protocol (MCP) server that exposes VSCode's powerful development tools and language features to AI tools. It enables advanced code navigation, analysis, and manipulation capabilities when using AI coding assistants that support the MCP protocol.

image

Table of Contents

Features

  • Language Server Integration: Access VSCode's language server capabilities for any supported language
  • Code Navigation: Find references, definitions, implementations, and more
  • Symbol Search: Search for symbols across your workspace
  • Code Analysis: Get semantic tokens, document symbols, and type information
  • Smart Selection: Use semantic selection ranges for intelligent code selection
  • Code Actions: Access refactoring suggestions and quick fixes
  • HTTP/SSE Server: Exposes language features over an MCP-compatible HTTP server
  • AI Assistant Integration: Ready to work with AI assistants that support the MCP protocol

Multiple Project Support

When working with multiple projects, each project can have its own dedicated MCP server endpoint and port. This is useful when you have multiple VS Code windows open or are working with multiple projects that need language server capabilities.

Project Configuration

Create a bifrost.config.json file in your project root:

{
    "projectName": "MyProject",
    "description": "Description of your project",
    "path": "/my-project",
    "port": 5642
}

The server will use this configuration to:

  • Create project-specific endpoints (e.g., http://localhost:5642/my-project/sse)
  • Provide project information to AI assistants
  • Use a dedicated port for each project
  • Isolate project services from other running instances

Example Configurations

  1. Backend API Project:
{
    "projectName": "BackendAPI",
    "description": "Node.js REST API with TypeScript",
    "path": "/backend-api",
    "port": 5643
}
  1. Frontend Web App:
{
    "projectName": "FrontendApp",
    "description": "React frontend application",
    "path": "/frontend-app",
    "port": 5644
}

Port Configuration

Each project should specify its own unique port to avoid conflicts when multiple VS Code instances are running:

  • The port field in bifrost.config.json determines which port the server will use
  • If no port is specified, it defaults to 8008 for backwards compatibility
  • Choose different ports for different projects to ensure they can run simultaneously
  • The server will fail to start if the configured port is already in use, requiring you to either:
    • Free up the port
    • Change the port in the config
    • Close the other VS Code instance using that port

Connecting to Project-Specific Endpoints

Update your AI assistant configuration to use the project-specific endpoint and port:

{
  "mcpServers": {
    "BackendAPI": {
      "url": "http://localhost:5643/backend-api/sse"
    },
    "FrontendApp": {
      "url": "http://localhost:5644/frontend-app/sse"
    }
  }
}

Backwards Compatibility

If no bifrost.config.json is present, the server will use the default configuration:

  • Port: 8008
  • SSE endpoint: http://localhost:8008/sse
  • Message endpoint: http://localhost:8008/message

This maintains compatibility with existing configurations and tools.

Available Tools

The extension provides access to many VSCode language features including:

  • find_usages: Locate all symbol references.
  • go_to_definition: Jump to symbol definitions instantly.
  • find_implementations: Discover implementations of interfaces/abstract methods.
  • get_hover_info: Get rich symbol docs on hover.
  • get_document_symbols: Outline all symbols in a file.
  • get_completions: Context-aware auto-completions.
  • get_signature_help: Function parameter hints and overloads.
  • get_rename_locations: Safely get location of places to perform a rename across the project.
  • rename: Perform rename on a symbol
  • get_code_actions: Quick fixes, refactors, and improvements.
  • get_semantic_tokens: Enhanced highlighting data.
  • get_call_hierarchy: See incoming/outgoing call relationships.
  • get_type_hierarchy: Visualize class and interface inheritance.
  • get_code_lens: Inline insights (references, tests, etc.).
  • get_selection_range: Smart selection expansion for code blocks.
  • get_type_definition: Jump to underlying type definitions.
  • get_declaration: Navigate to symbol declarations.
  • get_document_highlights: Highlight all occurrences of a symbol.
  • get_workspace_symbols: Search symbols across your entire workspace.

Debugging

Use the MCP: Open Debug Panel command image