Skip to content

nice-one-code/NOC.McpServer

Repository files navigation

NOC.McpServer

An MCP (Model Context Protocol) server that exposes NiceOneCode's JSON → C# class converter as a tool AI assistants can call directly — no more pasting JSON into a web form.

Built with the official ModelContextProtocol C# SDK, running over stdio transport.

What it does

Exposes a single tool, json_to_c_sharp, which takes a JSON sample and returns the equivalent C# class definitions, generated by NiceOneCode's converter.

Authentication is handled transparently: the server logs in to your NiceOneCode account on first use, caches the JWT, and automatically re-authenticates if it expires.

Prerequisites

  • .NET 9 SDK
  • A NiceOneCode account (userid + password)

Creating an Account

If you don't already have a NiceOneCode account, you can register one via API:

curl -X POST \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json' \
  -d '{
    "UserName": "your-username",
    "Password": "your-password",
    "Email": "your-email@example.com",
    "GenderID": 1
  }' \
  'https://www.niceonecode.com/api/nc-register'
Field Description
UserName Desired username
Password Desired password — use this as NOC_PASSWORD
Email A valid email address
GenderID 1 = Male, 2 = Female

Important: the response body is a plain string, not a JSON object — for example:

"your-userid"

Use this returned value as NOC_USERID (not necessarily assumed to always match the UserName you submitted — always use the value the API actually returns, rather than the value you sent).

Setup

  1. Clone the repo:
   git clone https://github.com/nice-one-code/NOC.McpServer.git
   cd NOC.McpServer
  1. Build:
   dotnet build
  1. Set your credentials as environment variables (see Configuration below) — either in your shell or in your MCP client's config, whichever you're using.

Configuration

The server reads two required environment variables:

Variable Description
NOC_USERID Your NiceOneCode userid
NOC_PASSWORD Your NiceOneCode password

Never commit real credentials. Set them via your MCP client's config (see below) or your local shell environment.

Connecting to an MCP client

Build first so a compiled DLL exists:

dotnet build

Then point your client at bin/Debug/net9.0/NOC.McpServer.dll. Use forward slashes in the path even on Windows.

Claude Desktop

Edit claude_desktop_config.json (Windows: %APPDATA%\Claude\claude_desktop_config.json, macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "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"
      }
    }
  }
}

Fully quit and reopen Claude Desktop after editing.

Claude Code

claude mcp add-json niceonecode '{"command":"dotnet","args":["/absolute/path/to/NOC.McpServer/bin/Debug/net9.0/NOC.McpServer.dll"],"env":{"NOC_USERID":"your-username","NOC_PASSWORD":"your-password"}}'

Verify with claude mcp list.

Codex

codex mcp add niceonecode --env NOC_USERID=your-userid --env NOC_PASSWORD=your-password -- dotnet /absolute/path/to/NOC.McpServer/bin/Debug/net9.0/NOC.McpServer.dll

Verify inside a session with /mcp.

Testing locally with the MCP Inspector

npx @modelcontextprotocol/inspector dotnet bin/Debug/net9.0/NOC.McpServer.dll

This opens a browser UI where you can invoke json_to_c_sharp manually and inspect the raw request/response. Set your credentials under the Inspector's Environment Variables panel before connecting.

Project structure

About

No description, website, or topics provided.

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages