Skip to main content

Visual Basic .NET language support for Serena MCP Server

Project description

serena-vbnet

PyPI version Python 3.11+ License: MIT

Visual Basic .NET language support for Serena MCP Server

Enable AI-assisted development for VB.NET codebases with full language intelligence:

  • ✅ Symbol extraction (Module, Class, Sub, Function, Property)
  • ✅ Go-to-definition
  • ✅ Find references
  • ✅ Code completion
  • ✅ Diagnostics

Quick Start

# Install Serena and VB.NET plugin
pip install serena-agent serena-vbnet

# Setup VB.NET support (one-time)
serena-vbnet setup

# Use with your VB.NET project
cd my-vbnet-project
serena init
# Edit .serena/project.yml: add "vbnet" to languages list
serena start-mcp-server

That's it! Your VB.NET project now has AI-assisted development capabilities through Claude Code, Cursor, or other tools that support MCP.

Installation

Prerequisites

  • Python 3.11 or later
  • Serena MCP Server: pip install serena-agent

Install Plugin

pip install serena-vbnet

Update Plugin

pip install --upgrade serena-vbnet

Setup VB.NET Support

serena-vbnet setup

This command:

  1. Downloads pre-built Roslyn LanguageServer with VB.NET support (~25MB)
  2. Installs to ~/.serena/language_servers/roslyn_vbnet/
  3. Configures Serena to recognize VB.NET projects

Build from source (optional):

serena-vbnet setup --build

Requires .NET 8 SDK and takes 10-15 minutes.

Usage

Configure Your VB.NET Project

cd /path/to/your/vbnet-project
serena init

Edit .serena/project.yml:

languages:
  - vbnet

Start Serena

serena start-mcp-server

Use with AI Tools

Claude Code:

  • Configure MCP server in .mcp.json
  • Serena automatically provides VB.NET intelligence

Cursor / other IDEs:

  • Connect to Serena via MCP protocol
  • Get code completion, go-to-definition, find-references for VB.NET

CLI Commands

serena-vbnet setup          # Install and configure VB.NET support
serena-vbnet verify         # Verify installation
serena-vbnet info           # Show installation information
serena-vbnet update         # Update to latest version
serena-vbnet uninstall      # Remove VB.NET support
serena-vbnet --help         # Show all commands

What Makes This Work

Microsoft's Roslyn LanguageServer has full VB.NET support in source code, but the distributed NuGet packages don't include VB.NET workspace services.

This plugin uses a custom-built Roslyn LanguageServer with VB.NET enabled. Pre-built binaries are available for all platforms, or you can build from source.

See Why a custom build? for technical details.

Features

Symbol Extraction

Extracts VB.NET-specific constructs:

  • Module (similar to static class)
  • Class / Interface / Structure
  • Sub (void method) / Function (method with return value)
  • Property / Field
  • Enum / Event / Delegate

Code Intelligence

  • Go-to-definition: Jump to symbol declarations
  • Find references: Find all usages of symbols
  • Code completion: IntelliSense for VB.NET
  • Diagnostics: Real-time compiler errors and warnings

Project Support

Recognizes VB.NET projects:

  • .vb source files
  • .vbproj project files
  • .sln solution files

Example Project Structure

my-vbnet-app/
├── .serena/
│   └── project.yml           # Add "vbnet" to languages
├── MyApp.sln
├── MyApp/
│   ├── MyApp.vbproj
│   ├── Program.vb
│   ├── Module1.vb
│   └── Class1.vb
└── Tests/
    ├── Tests.vbproj
    └── UnitTests.vb

Troubleshooting

"Serena not found"

pip install serena-agent

"Language server not installed"

serena-vbnet setup --force

Build from source failing

Ensure .NET 8 SDK is installed:

dotnet --version  # Should show 8.0.x or later

Download from: https://dot.net

Verification

serena-vbnet verify

This checks:

  • Language server installation
  • VB.NET assemblies present
  • Serena configuration

Architecture

serena-vbnet (PyPI Plugin)
    ↓
Downloads from: roslyn-vbnet-languageserver (GitHub Releases)
    ↓
Installs to: ~/.serena/language_servers/roslyn_vbnet/
    ↓
Patches: Serena's ls_config.py
    ↓
Serena recognizes: .vb files and provides VB.NET intelligence

Contributing

Contributions welcome! Please:

  1. Report issues on GitHub Issues
  2. Submit PRs for improvements
  3. Help improve documentation

Related Projects

License

MIT License - See LICENSE

Support

Acknowledgments

  • Microsoft for the excellent Roslyn compiler platform
  • Serena team for the MCP server framework
  • VB.NET community for keeping the language alive

Made with ❤️ for the VB.NET community

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

serena_vbnet-1.0.5.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

serena_vbnet-1.0.5-py3-none-any.whl (20.8 kB view details)

Uploaded Python 3

File details

Details for the file serena_vbnet-1.0.5.tar.gz.

File metadata

  • Download URL: serena_vbnet-1.0.5.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for serena_vbnet-1.0.5.tar.gz
Algorithm Hash digest
SHA256 33969a802399c95198cd3f47c30104dacaed895242717c3fe5841b6f53f33aac
MD5 f4e368911572fe78eb24ca55ec3703ae
BLAKE2b-256 ffd50c1d09f57b1a3fdbdb0eacfa79b600c8280bd8da51fc01c45214a022d65e

See more details on using hashes here.

Provenance

The following attestation bundles were made for serena_vbnet-1.0.5.tar.gz:

Publisher: publish.yml on LaunchCG/serena-vbnet

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file serena_vbnet-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: serena_vbnet-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 20.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for serena_vbnet-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 07076ea82e88ce05726745a34457453de81c3ef8226e57d274b7ff91c8899d65
MD5 04ec6220fe531d265cf22a5b8ba52871
BLAKE2b-256 726424717673bbf6d19927d9df8e7aadbb44b3c561456df00f7672a8943b1f96

See more details on using hashes here.

Provenance

The following attestation bundles were made for serena_vbnet-1.0.5-py3-none-any.whl:

Publisher: publish.yml on LaunchCG/serena-vbnet

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page