MCP SeriesGenerator

by marlonfaraujo

Not rated
GitHub

About

A .NET server for generating and validating vehicle serial numbers.

Details

Author
marlonfaraujo
Categories
Developer Tools, Other

Setup

Install MCP SeriesGenerator in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/marlonfaraujo/mcp_seriesgenerator

Follow the installation instructions in the repository README, then restart your MCP client.

A .NET server for generating and validating vehicle serial numbers.

This is a repository for testing with Model Context Protocol

1.Access the root directory folder in the terminal, example:

3.Then run the below powershell script command, the docker.ps1 file is located in the root directory (The script will copy the files from the docker container to your local machine)

powershell -ExecutionPolicy ByPass -File docker.ps1

1.Open Claude desktop app for configuration

2.Menu - File - Settings - Developer - Edit Config

3.Open config file in location: \user\AppData\Roaming\Claude\claude_desktop_config.json (Save the file, and restart Claude for Desktop)

{ "mcpServers": { "serialNumberGenerator": { "command": "dotnet", "args": [ "run", "--project", "C:\\ABSOLUTE\\PATH\\TO\\PROJECT", "--no-build" ] } } }

4.Look for the "Search & Tools" icon, type something like Upload Vehicle and insert the file with the serial numbers. Example:

series.txt 1313MEXXXA7989-1 0708BRAXXC4014-3 1414ARGXXA5834-9 1213ASMXXC8348-2 0202ARGXXC2614-E 0606BRAXXA6466-8 0606MEXXXA3820-4

5.More information in:https://modelcontextprotocol.io/quickstart/server

Tests with Mcp Server without client applications:

1.The Model Context Protocol (MCP) allows servers to expose tools that can be invoked externally in a standardized way.

1.1.First, it is necessary to configure the Mcp Server and its tools that will be exposed in the application. Here we configure with StdioServerTransport:

//class src/McpSeriesGenerator.App/Program.cs builder.Services.AddMcpServer() .WithStdioServerTransport() .WithTools<VehicleTool>(); builder.Services.AddScoped<VehicleTool>();

1.2.In the project, there are resources created for the Mcp Server tool. Among some of them, we have, for example, ReturnsIfTheSerialNumberIsValid.

//class src/McpSeriesGenerator.App/McpServer/VehicleTool.cs [McpServerTool(Name = "ReturnsIfTheSerialNumberIsValid"), Description("Validate serial number with check digit.")] public string ReturnsIfTheSerialNumberIsValid( [Description("Enter a serial number with check digit")] string SerialNumber) { if (string.IsNullOrWhiteSpace(SerialNumber)) { return "Serial number cannot be empty."; } var vehicle = Vehicle.Create(SerialNumber); if (vehicle.VehicleSerialNumber.ValidateCheckDigit()) { return "This serial number is valid"; } return "This serial number is invalid"; }

2.In the integration test project, there is communication via StdioServerTransport for real simulation of an integration between client application and Mcp Server.

2.1.In the following code, in the constructor method, a process instance is created to run the Mcp Server project externally from the integration test project.

//class test/McpSeriesGenerator.Integration/McpServer/ProcessFixture.cs public ProcessFixture() { string appDll = Path.Combine(AppContext.BaseDirectory, "McpSeriesGenerator.App.dll"); _process = new Process { StartInfo = new ProcessStartInfo { FileName = "dotnet", Arguments = $"\"{appDll}\"", RedirectStandardInput = true, RedirectStandardOutput = true, RedirectStandardError = true, UseShellExecute = false, CreateNoWindow = true } }; _process.Start(); if (_process == null) { throw new InvalidOperationException("Failed to start MCP server process"); } }

2.2.Example test method with the ReturnsIfTheSerialNumberIsValid tool:

//class test/McpSeriesGenerator.Integration/McpServer/VehicleToolTest.cs public async Task MCPServer_ShouldResponseToReturnsIfTheSerialNumberIsValid() { Assert.NotNull(_fixture._process); _ = Task.Run(async () => { string? err; while ((err = await _fixture._process.StandardError.ReadLineAsync()) != null) Console.WriteLine("[STDERR] " + err); }); var jsonString = JsonSerializer.Serialize(new { jsonrpc = "2.0", id = 1, method = "tools/call", @params = new { name = "ReturnsIfTheSerialNumberIsValid", arguments = new { SerialNumber = "0202ARGXXC2614-E" } } }); await _fixture._process.StandardInput.WriteLineAsync(jsonString); await _fixture._process.StandardInput.FlushAsync(); if (_fixture._process.StandardOutput.Peek() > 0) { var responseOut = await _fixture._process.StandardOutput.ReadLineAsync(); Assert.True(!string.IsNullOrWhiteSpace(responseOut)); Assert.Contains("jsonrpc", responseOut); JsonNode? node = JsonNode.Parse(responseOut); Assert.NotNull(node); Assert.NotNull(node?["result"]); Assert.NotNull(node?["result"]?["isError"]); Assert.True(bool.TryParse(node?["result"]?["isError"]?.ToString(), out bool isError)); Assert.False(isError); } }

- XUnit- Unit tests to ensure code stability;
-
Docker- Containerizing the application to facilitate testing;
-
MCP- Model context protocol (Version: 0.3.0-preview.1);
-
Claude- Claude desktop app for client MCP (Windows Version: 0.10.38).

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

MCP server that gives coding agents program-analysis primitives — data flow, call graphs, taint analysis — so they reason from ground truth instead of grep-and-guess. (same as the GitHub About — keeps your messaging consistent across the web).

Access LeetCode problems, user information, and contest data.

Execute MATLAB scripts and functions via MCP clients. Requires a local MATLAB installation.

A collection of MCP servers for Electronic Design Automation (EDA) workflows, including tools for die yield calculation and Verilog/SystemVerilog analysis.

Neo is the first autonomous AI engineering agent that plans, researches and executes multi-step work for tasks such as building AI agents, AI model fine-tuning and evals, and ML pipelines; using your codebase, data, and experiments to ship faster with inspectable artifacts. It can reason over your repository, wire tools and retrieval, debug training runs, and help you develop production-ready AI workflows

17 developer tools for AI agents — JSON, JWT, regex with code gen, cron from English, secrets scanner, batch ops. 7 free, 10 Pro ($7).

Run Stata commands and execute .do files directly from VS Code and Cursor, with AI assistant integration.

An MCP server for accessing tidymodels GitHub information and generating code.

An MCP server to help AI assistants to answer questions and generate AccelByte Extend SDK code more effectively .

MCP server that gives AI assistants on-demand access to 1,500+ amCharts docs, ~300 code examples, and 1000+ class API references.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.