NOC.McpServer について
NOC.McpServer は、NiceOneCode のコンバーターを使って JSON サンプルを C# クラス定義に変換する .NET 製 MCP サーバーです。単一のツールを提供し、アカウント認証とトークン更新を処理します。
主な機能
- 01JSON サンプルを C# クラスに変換
- 02NiceOneCode のコンバーターを利用
- 03認証トークンをキャッシュして更新
- 04.NET ツールとしてインストール
活用シーン
- 01JSON サンプルから C# クラスを生成
- 02Web フォームを使わずに JSON を変換
MCP 対応
stdio の MCP サーバーが `json_to_c_sharp` ツールを MCP クライアントに提供し、JSON サンプルから生成したクラス定義を返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
NOC.McpServer
NiceOneCode の JSON → C# クラスコンバーターを、AI アシスタントが直接呼び出せるツールとして公開する MCP(Model Context Protocol)サーバーです。JSON を Web フォームに貼り付ける必要はありません。
公式の ModelContextProtocol C# SDK で構築され、stdio トランスポートで実行されます。NuGet.org で、McpServer パッケージタイプとして公開されています。
できること
JSON サンプルを受け取り、NiceOneCode のコンバーターが生成した同等の C# クラス定義を返す単一のツール json_to_c_sharp を公開します。
認証は透過的に処理されます。初回使用時にサーバーが NiceOneCode アカウントにログインして JWT をキャッシュし、有効期限が切れると自動的に再認証します。
前提条件
- NiceOneCode アカウント(userid とパスワード)
- ツールのインストール/実行には .NET 9 SDK 以降
- 永続インストールの代わりに
dnx(VS Code、単発実行)を使用する場合は .NET 10 SDK - ソースからビルドする場合は .NET 9 SDK
アカウントの作成
NiceOneCode アカウントをまだお持ちでない場合は、API 経由で登録できます。
curl -X POST \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
-d '{
"UserName": "your-username",
"Password": "your-password",
"Email": "[email protected]",
"GenderID": 1
}' \
'https://www.niceonecode.com/api/nc-register'
| フィールド | 説明 |
|---|---|
UserName | 希望するユーザー名 |
Password | 希望するパスワード — NOC_PASSWORD として使用します |
Email | 有効なメールアドレス |
GenderID | 1 = 男性、2 = 女性 |
重要: レスポンス本文は JSON オブジェクトではなく、通常の文字列です。たとえば次のようになります。
"your-userid"
この返された値を NOC_USERID として使用してください(送信した UserName と常に一致するとは限りません。送信した値ではなく、API が実際に返す値を必ず使用してください)。
インストール
dotnet tool install -g NOC.McpServer
これにより noc-mcp コマンドが利用できるようになります。以下のすべてのクライアント設定で使用します。
設定
サーバーは、次の必須環境変数を読み取ります。
| 変数 | 説明 |
|---|---|
NOC_USERID | NiceOneCode の userid |
NOC_PASSWORD | NiceOneCode のパスワード |
実際の認証情報をコミットしないでください。MCP クライアントの設定(以下を参照)またはローカルのシェル環境で設定してください。
MCP クライアントへの接続
Claude Desktop
claude_desktop_config.json を編集します(Windows:%APPDATA%\Claude\claude_desktop_config.json、macOS:~/Library/Application Support/Claude/claude_desktop_config.json)。
{
"mcpServers": {
"niceonecode": {
"command": "noc-mcp",
"env": {
"NOC_USERID": "your-userid",
"NOC_PASSWORD": "your-password"
}
}
}
}
編集後、Claude Desktop を完全に終了して再起動してください。
Claude Code
claude mcp add-json niceonecode '{"command":"noc-mcp","env":{"NOC_USERID":"your-userid","NOC_PASSWORD":"your-password"}}'
claude mcp list で確認します。
Codex
codex mcp add niceonecode --env NOC_USERID=your-userid --env NOC_PASSWORD=your-password -- noc-mcp
セッション内で /mcp を実行して確認します。
VS Code
ワークスペース内の .vscode/mcp.json または VS Code のグローバル MCP 設定に追加します。
{
"inputs": [
{
"type": "promptString",
"id": "NOC_USERID",
"description": "Your NiceOneCode account userid"
},
{
"type": "promptString",
"id": "NOC_PASSWORD",
"description": "Your NiceOneCode account password",
"password": true
}
],
"servers": {
"NOC.McpServer": {
"type": "stdio",
"command": "dnx",
"args": ["NOC.McpServer", "--yes"],
"env": {
"NOC_USERID": "${input:NOC_USERID}",
"NOC_PASSWORD": "${input:NOC_PASSWORD}"
}
}
}
}
サーバーの初回起動時に、VS Code から userid とパスワードの入力を求められます。dnx には .NET 10 SDK が必要です。オンデマンドで最新の公開バージョンをダウンロードして実行するため、別途インストールする必要はありません。常に最新バージョンではなく、再現可能な動作にしたい場合は、"NOC.McpServer" の代わりに "[email protected]" を指定して特定のバージョンに固定してください。
注: 作業ディレクトリに .NET 10 より古い SDK を指定する global.json があると、明確なバージョン不一致ではなく、分かりにくい「unrecognized argument」エラーが発生して dnx が失敗します。このエラーが発生した場合は、global.json がないか確認してください。
Gemini CLI
~/.gemini/settings.json(グローバル)または .gemini/settings.json(プロジェクト固有)を編集します。
{
"mcpServers": {
"niceonecode": {
"command": "noc-mcp",
"env": {
"NOC_USERID": "your-userid",
"NOC_PASSWORD": "your-password"
}
}
}
}
Gemini CLI を再起動し、/mcp を実行して接続を確認します。
Windows に関する注記: サーバーを直接起動できない場合は、cmd 経由で実行してください。
{
"mcpServers": {
"niceonecode": {
"command": "cmd",
"args": ["/c", "noc-mcp"],
"env": { "NOC_USERID": "your-userid", "NOC_PASSWORD": "your-password" }
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json(macOS/Linux)または %USERPROFILE%\.codeium\windsurf\mcp_config.json(Windows)を編集するか、Cascade パネルの MCP アイコン → Configure から開きます。
{
"mcpServers": {
"niceonecode": {
"command": "noc-mcp",
"env": {
"NOC_USERID": "your-userid",
"NOC_PASSWORD": "your-password"
}
}
}
}
保存後、Windsurf を完全に終了して再起動してください。
Devin
Devin(クラウド): Settings → Connections → MCP servers → Add a custom MCP:
{
"transport": "STDIO",
"command": "noc-mcp",
"args": [],
"env_variables": {
"NOC_USERID": "your-userid",
"NOC_PASSWORD": "your-password"
}
}
Devin for Terminal: .devin/config.json に追加します:
{
"mcpServers": {
"niceonecode": {
"command": "noc-mcp",
"env": {
"NOC_USERID": "your-userid",
"NOC_PASSWORD": "your-password"
}
}
}
}
Devin Desktop は Windsurf の mcp_config.json を共有するため、上記ですでに設定済みであれば、別途セットアップする必要はありません。
ソースからビルドする
NuGet からインストールする代わりに、ローカルでビルドする場合:
git clone https://github.com/nice-one-code/NOC.McpServer.git
cd NOC.McpServer
dotnet build
上記の任意のクライアントで、noc-mcp の代わりにコンパイル済み DLL を指定します。たとえば、Claude Desktop の場合:
{
"mcpServers": {
"niceonecode": {
"command": "dotnet",
"args": ["/absolute/path/to/NOC.McpServer/bin/Debug/net9.0/NOC.McpServer.dll"],
"env": {
"NOC_USERID": "your-userid",
"NOC_PASSWORD": "your-password"
}
}
}
}
Windows でも、パスにはスラッシュを使用してください。同じ置き換え(noc-mcp の代わりに dotnet と DLL のパスを指定する方法)は、この README 内のどのクライアント設定にも適用できます。
MCP Inspector でローカルテストする
npx @modelcontextprotocol/inspector dotnet bin/Debug/net9.0/NOC.McpServer.dll
ブラウザー UI が開き、json_to_c_sharp を手動で実行して、生のリクエストとレスポンスを確認できます。接続する前に、Inspector の Environment Variables パネルで認証情報を設定してください。
プロジェクト構成
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。