Visual Basic .NET language support for Serena MCP Server
Project description
serena-vbnet
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 project generate-yml
# Edit .serena/project.yml: set "language: vbnet"
serena start-mcp-server
claude mcp add serena -- 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.
Prerequisites
- Python 3.11 or later
- Serena MCP Server:
pip install serena-agent
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/StructureSub(void method) /Function(method with return value)Property/FieldEnum/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:
.vbsource files.vbprojproject files.slnsolution files
Example Project Structure
my-vbnet-app/
├── .serena/
│ └── project.yml # Set "language: vbnet"
├── 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:
- Report issues on GitHub Issues
- Submit PRs for improvements
- Help improve documentation
Related Projects
- roslyn-vbnet-languageserver - Build automation for Roslyn LS with VB.NET
- Serena MCP Server - AI-assisted development framework
- Roslyn - .NET Compiler Platform (upstream)
License
MIT License - See LICENSE
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Serena Docs: oraios.github.io/serena
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file serena_vbnet-1.0.25.tar.gz.
File metadata
- Download URL: serena_vbnet-1.0.25.tar.gz
- Upload date:
- Size: 26.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb6e99c380eab1b91881fa7398f3e57d106b3927bc5fa94af62ec7a66b6e19f9
|
|
| MD5 |
2c83ba34856989389f54ce28f0dfeaad
|
|
| BLAKE2b-256 |
edf3c3ce096a8016de6f402150ccf768926057f7c7be101cac21f83e60daeccc
|
Provenance
The following attestation bundles were made for serena_vbnet-1.0.25.tar.gz:
Publisher:
publish.yml on LaunchCG/serena-vbnet
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
serena_vbnet-1.0.25.tar.gz -
Subject digest:
bb6e99c380eab1b91881fa7398f3e57d106b3927bc5fa94af62ec7a66b6e19f9 - Sigstore transparency entry: 823590025
- Sigstore integration time:
-
Permalink:
LaunchCG/serena-vbnet@6510aed9feb95954762a6d0634db3abea6c7a5f7 -
Branch / Tag:
refs/tags/v1.0.25 - Owner: https://github.com/LaunchCG
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6510aed9feb95954762a6d0634db3abea6c7a5f7 -
Trigger Event:
push
-
Statement type:
File details
Details for the file serena_vbnet-1.0.25-py3-none-any.whl.
File metadata
- Download URL: serena_vbnet-1.0.25-py3-none-any.whl
- Upload date:
- Size: 26.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d29221fa8003282d9666909b19e451cb7b7ada6651ecffaa7ee51492e1be44b5
|
|
| MD5 |
0bc6ce063b1ef5c342004be93f79d9a8
|
|
| BLAKE2b-256 |
cd94fa1ece2b3fb7ea29afa2e0b916f647165eeb5f801552d366242b45332f7a
|
Provenance
The following attestation bundles were made for serena_vbnet-1.0.25-py3-none-any.whl:
Publisher:
publish.yml on LaunchCG/serena-vbnet
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
serena_vbnet-1.0.25-py3-none-any.whl -
Subject digest:
d29221fa8003282d9666909b19e451cb7b7ada6651ecffaa7ee51492e1be44b5 - Sigstore transparency entry: 823590199
- Sigstore integration time:
-
Permalink:
LaunchCG/serena-vbnet@6510aed9feb95954762a6d0634db3abea6c7a5f7 -
Branch / Tag:
refs/tags/v1.0.25 - Owner: https://github.com/LaunchCG
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6510aed9feb95954762a6d0634db3abea6c7a5f7 -
Trigger Event:
push
-
Statement type: