pzalutski-pixel/sharplens-mcp
Developer toolsこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
AI 駆動型 MCP サーバー C#セマンティック解析、リファクタリング、コード生成
概要
Microsoft Roslyn を使用して、.NET/C# のコード解析、ナビゲーション、リファクタリング、およびコード生成のために提供するモデルコンテキストプロトコル(MCP)サーバー。 AI コーディングエージェント向けに構築 - AI がソースファイルだけを読み込むことができないというコンパイラ精度のコード理解を提供します。 4。 ClaudeにRoslynサーバーで健康チェックを実行するように依頼することで クロードコードは、基本的なナビゲーション(go-to-definition、参照を見つける)のためのネイティブLSPサポートを持っています。 SharpLensMcp は : 最後の4つの変数のpre-1.6.0 ROSLYN *のスペルは、まだ1つのリリースのフォールバックとして読み込まれています。両方が設定されていると、SHAPLENS *のスペルが勝ちます。 DOTNET SOLUTION PATHが設定されていない場合は、他のツールを使用する前に load solution ツールを呼び出す必要があります。 ツール名が roslyn: 接頭辞 — コロンは MCP ツール名パターン (^[a-zA-Z0-9 -]{1,64}$) に違反し、一部のクライアントが強制します。 すべてのツールは、その名前がプレフィックスをマイナスにします。 ツール/リストは新しい名前だけを公開します.
概要(AI 翻訳)
.NET/C# のコード解析、ナビゲーション、リファクタリング、およびMicrosoft Roslyn を用いたコード生成のための 92 AI 最適化ツール を提供するモデルコンテキストプロトコル (MCP) サーバー。
AI コーディングエージェント向けに構築 - AI がソースファイルだけを読み込むことができないというコンパイラ精度のコード理解を提供します。
インストール
##NuGet経由(推奨)
で実行します:
##ビアnpm
ソースからビルドする
クロード コード セットアップ
1。 ツールをインストール(いずれかを選択):
2.プロジェクトルートで[.mcp.jsonを作成:
3。MCPサーバーをロードするためにClaudeコードを再始動
4。Verify ClaudeにRoslynサーバー上の健康チェックを実行するように依頼することで**
##Claudeコードでこれを使用する理由
クロードコードは、基本的なナビゲーション(go-to-definition、参照を見つける)のためのネイティブLSPサポートを持っています。 SharpLensMcpはディープセマンティック分析を追加:
| 機能 | ネイティブ LSP | SharpLensMcp | お問い合わせ | 定義へ進む | ✅ | ✅ | | | 参照を探す | ✅ | ✅ | | キャンセルできない方法を見つける トークン | ✕ | ✅ | | 衝撃解析(休憩時間) | ✕ | ✅ | | デッドコード検出 | ✕ | ✅ | | 複雑性メトリック | ✕ | ✅ | | | プレビューで安全リファクタリング | ✕ | ✅ | | バッチ操作 | ✕ | ✅ |
このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。
README
以下は原文 README の抜粋です。原文を見る。
SharpLensMcp
A Model Context Protocol (MCP) server providing 92 AI-optimized tools for .NET/C# semantic code analysis, navigation, refactoring, and code generation using Microsoft Roslyn.
Built for AI coding agents - provides compiler-accurate code understanding that AI cannot infer from reading source files alone.
Installation
Via NuGet (Recommended)
dotnet tool install -g SharpLensMcp
Then run with:
sharplens
Via npm
npx -y sharplens-mcp
Build from Source
dotnet build -c Release
dotnet publish -c Release -o ./publish
Claude Code Setup
- Install the tool (pick one):
dotnet tool install -g SharpLensMcp
# or
npx -y sharplens-mcp
- Create
.mcp.jsonin your project root:
{
"mcpServers": {
"sharplens": {
"type": "stdio",
"command": "npx",
"args": ["-y", "sharplens-mcp"],
"env": {
"DOTNET_SOLUTION_PATH": "/path/to/your/Solution.sln (or .slnx)"
}
}
}
}
-
Restart Claude Code to load the MCP server
-
Verify by asking Claude to run a health check on the Roslyn server
Why Use This with Claude Code?
Claude Code has native LSP support for basic navigation (go-to-definition, find references). SharpLensMcp adds deep semantic analysis:
| Capability | Native LSP | SharpLensMcp |
|---|---|---|
| Go to definition | ✅ | ✅ |
| Find references | ✅ | ✅ |
| Find async methods missing CancellationToken | ❌ | ✅ |
| Impact analysis (what breaks?) | ❌ | ✅ |
| Dead code detection | ❌ | ✅ |
| Complexity metrics | ❌ | ✅ |
| Safe refactoring with preview | ❌ | ✅ |
| Batch operations | ❌ | ✅ |
Configuration
| Environment Variable | Description | Default |
|---|---|---|
DOTNET_SOLUTION_PATH |
Path to a .sln, .slnx or .slnf file (or a directory holding exactly one) to auto-load on startup; the load runs beside the request loop, so initialize answers immediately |
None (must call load_solution) |
SHARPLENS_ABSOLUTE_PATHS |
Use absolute paths instead of relative | false (relative paths save tokens) |
SHARPLENS_LOG_LEVEL |
Logging verbosity: Trace, Debug, Information, Warning, Error |
Information |
SHARPLENS_TIMEOUT_SECONDS |
Timeout for long-running operations | 30 |
SHARPLENS_MAX_DIAGNOSTICS |
Maximum diagnostics to return | 100 |
SHARPLENS_ENABLE_SEMANTIC_CACHE |
Cache the file-path to document lookup | true (set to false to disable) |
インストール
npx -y sharplens-mcp設定
{
"mcpServers": {
"sharplens": {
"type": "stdio",
"command": "npx",
"args": ["-y", "sharplens-mcp"],
"env": {
"DOTNET_SOLUTION_PATH": "/path/to/your/Solution.sln (or .slnx)"
}
}
}
}