内容
NOC.McpServer
一个MCP(模型上下文协议)服务器,公开了[NiceOneCode](https://www.niceonecode.com)的JSON → C#类转换器,作为AI助手可以直接调用的工具 — 不再需要将JSON粘贴到网页表单中。
使用官方的[ModelContextProtocol C# SDK](https://github.com/modelcontextprotocol/csharp-sdk)构建,通过stdio传输。
## 功能
公开一个工具,`json_to_c_sharp`,它接受一个JSON样本并返回由NiceOneCode转换器生成的等效C#类定义。
身份验证是透明的:服务器在第一次使用时登录到您的NiceOneCode帐户,缓存JWT,并在其过期时自动重新身份验证。
## 先决条件
- [.NET 9 SDK](https://dotnet.microsoft.com/download)
- 一个NiceOneCode帐户(用户ID + 密码)
## 创建帐户
如果您还没有NiceOneCode帐户,可以通过API注册:
```bash
curl -X POST \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
-d '{
"UserName": "您的用户名",
"Password": "您的密码",
"Email": "您的邮箱@example.com",
"GenderID": 1
}' \
'https://www.niceonecode.com/api/nc-register'
```
| 字段 | 描述 |
|---|---|
| `UserName` | 期望的用户名 |
| `Password` | 期望的密码 — 作为 `NOC_PASSWORD` 使用 |
| `Email` | 有效的电子邮件地址 |
| `GenderID` | `1` = 男, `2` = 女 |
**重要:** 响应正文是一个纯字符串,而不是JSON对象 — 例如:
```json
"您的用户ID"
```
将此返回的值用作 `NOC_USERID` (不一定假设它始终与您提交的 `UserName` 匹配 — 始终使用API实际返回的值,而不是您发送的值)。
## 设置
1. 克隆仓库:
```bash
git clone https://github.com/nice-one-code/NOC.McpServer.git
cd NOC.McpServer
```
2. 构建:
```bash
dotnet build
```
3. 将您的凭证变量(参见下面的[配置](#配置))— 在您的shell或MCP客户端的配置中,任选其一。
## 配置
两个必需的环境变量:
| 变量 | 描述 |
|---|---|
| `NOC_USERID` | 您的NiceOneCode用户| `NOC_PASSWORD` | 您的NiceOneCode密码 |
永远不要提交真实的凭证。在您的MCP客户端的配置(参见下文)或本地shell环境中设置它们。
## 连接到MCP客户端
首先构建,以便存在编译后的DLL:
```bash
dotnet build
```
然后将您的客户端指向 `bin/Debug/net9.0/NOC.McpServer.dll`。在Windows上使用正斜杠作为路径分隔符。
### Claude Desktop
编辑 `claude_desktop_config.json` (Windows: `%APPDATA%\Claude\claude_desktop_config.json`,macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`):
```json
{
"mcpServers": {
"niceonecode": {
"command": "dotnet",
"args": ["/绝对路径/to/NOC.McpServer/bin/Debug/net9.0/NOC.McpServer.dll"],
"env": {
"NOC_USERID": "您的用户ID",
"NOC_PASSWORD": "您的密码"
}
}
}
}
```
完全退出并重新打开Claude Desktop后进行编辑。
### Claude Code
```bash
claude mcp add-json niceonecode '{"command":"dotnet","args":["/绝对路径/to/NOC.McpServer/bin/Debug/net9.0/NOC.McpServer.dll"],"env":{"NOC_USERID":"您的用户名","NOC_PASSWORD":"您的密码"}}'
```
通过 `claude mcp list` 验证。
### Codex
```bash
codex mcp add niceonecode --env NOC_USERID=您的用户ID --env NOC_PASSWORD=您的密码 -- dotnet /绝对路径/to/NOC.McpServer/bin/Debug/net9.0/NOC.McpServer.dll
```
在会话中通过 `/mcp` 验证。
## 在本地使用MCP Inspector测试
```bash
npx @modelcontextprotocol/inspector dotnet bin/Debug/net9