mcpField
N
NOC.McpServer

NOC.McpServer

ローカル
github.com/nice-one-code開発ツール117 週間前に更新

NOC.McpServer について

NOC.McpServerは、JSONサンプルをC#クラス定義に変換するNiceOneCodeのコンバーターを提供する.NET製MCPサーバーです。単一のツールを公開し、アカウント認証とトークン更新を処理します。

主な機能

  1. 01JSONサンプルをC#クラスに変換
  2. 02単一のMCPツールで変換機能を提供
  3. 03JWT認証情報をキャッシュ
  4. 04JWTの期限切れ時に再認証

活用シーン

  1. 01JSONサンプルからC#クラスを生成
  2. 02MCP対応アシスタントからコンバーターを呼び出す

MCP 対応

stdioで動作し、MCPクライアントに `json_to_c_sharp` ツールを公開します。NiceOneCodeアカウントで認証し、必要に応じてJWTを更新します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
nugetNOC.McpServer1.0.7

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

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有効なメールアドレス
GenderID1 = 男性、2 = 女性

重要: レスポンス本文は JSON オブジェクトではなく、通常の文字列です。たとえば次のようになります。

"your-userid"

この返された値を NOC_USERID として使用してください(送信した UserName と常に一致するとは限りません。送信した値ではなく、API が実際に返す値を必ず使用してください)。

インストール

dotnet tool install -g NOC.McpServer

これにより noc-mcp コマンドが利用できるようになります。以下のすべてのクライアント設定で使用します。

設定

サーバーは、次の必須環境変数を読み取ります。

変数説明
NOC_USERIDNiceOneCode の userid
NOC_PASSWORDNiceOneCode のパスワード

実際の認証情報をコミットしないでください。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 パネルで認証情報を設定してください。

プロジェクト構成

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。