C# Language Features

by biegehydra

73 stars
613 downloads
Not rated
GitHub

About

Integrates with Visual Studio Code's C# extension to provide language features like symbol reference finding across codebases, enhancing coding workflows for C# projects.

Details

Author
biegehydra
Repository
biegehydra/BifrostMCP
GitHub stars
73
Downloads
613
License
GNU Affero General Public License v3.0
Categories
Productivity, Developer Tools, Design, AI, Search, Infrastructure, Project Management

- 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

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name C# Language Features
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 -y
    • Argument 2 supergateway
    • Argument 3 --sse
    • Argument 4 http://localhost:8008/sse

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

The extension will automatically start an MCP server when activated. To configure an AI assistant to use this server:

1. The server runs on port 8008 by default (configurable with bifrost.config.json)
2. Configure your MCP-compatible AI assistant to connect to:
- SSE endpoint: http://localhost:8008/sse
- Message endpoint: http://localhost:8008/message

- Step 1. Install Supergateway
- Step 2. Add config to cline
- Step 3. It will show up red but seems to work fine

{
  "mcpServers": {
    "Bifrost": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "supergateway",
        "--sse",
        "http://localhost:8008/sse"
      ],
      "disabled": false,
      "autoApprove": [],
      "timeout": 600
    }
  }
}
{
  "mcpServers": {
    "Bifrost": {
      "command": "npx",
      "args": [
        "-y",
        "supergateway",
        "--sse",
        "http://localhost:8008/sse"
      ],
      "disabled": false,
      "autoApprove": [],
      "timeout": 600
    }
  }
}

- Step 1: Add the SSE config to your global or project-based MCP configuration

{
"mcpServers": {
"Bifrost": {
"url": "http://localhost:8008/sse"
}
}
}

Screenshot_78

Follow this video to install and use with cursor

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

1. Backend API Project:

{
"projectName": "BackendAPI",
"description": "Node.js REST API with TypeScript",
"path": "/backend-api",
"port": 5643
}

2. Frontend Web App:

{
"projectName": "FrontendApp",
"description": "React frontend application",
"path": "/frontend-app",
"port": 5644
}

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

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.

Bifrost MCP: Start Server

Manually start the MCP server on port 8008.

Bifrost MCP: Start Server on port

Manually start the MCP server on specified port.

Bifrost MCP: Stop Server

Stop the running MCP server.

Bifrost MCP: Open Debug Panel

Open the debug panel to test 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.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "c# language features": {
            "env": {},
            "args": [
                "-y",
                "supergateway",
                "--sse",
                "http://localhost:8008/sse"
            ],
            "command": "npx",
            "timeout": 600,
            "disabled": false
        }
    }
}

Linux

{
    "env": [],
    "args": [
        "-y",
        "supergateway",
        "--sse",
        "http://localhost:8008/sse"
    ],
    "command": "npx",
    "timeout": 600,
    "disabled": false
}

Macos

{
    "env": [],
    "args": [
        "-y",
        "supergateway",
        "--sse",
        "http://localhost:8008/sse"
    ],
    "command": "npx",
    "timeout": 600,
    "disabled": false
}

Windows

{
    "env": [],
    "args": [
        "/c",
        "npx",
        "-y",
        "supergateway",
        "--sse",
        "http://localhost:8008/sse"
    ],
    "command": "cmd",
    "timeout": 600,
    "disabled": false
}

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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.