Rotbarsch.ReqnrollBindingMetadataExtractor
0.0.1
dotnet add package Rotbarsch.ReqnrollBindingMetadataExtractor --version 0.0.1
NuGet\Install-Package Rotbarsch.ReqnrollBindingMetadataExtractor -Version 0.0.1
<PackageReference Include="Rotbarsch.ReqnrollBindingMetadataExtractor" Version="0.0.1" />
<PackageVersion Include="Rotbarsch.ReqnrollBindingMetadataExtractor" Version="0.0.1" />
<PackageReference Include="Rotbarsch.ReqnrollBindingMetadataExtractor" />
paket add Rotbarsch.ReqnrollBindingMetadataExtractor --version 0.0.1
#r "nuget: Rotbarsch.ReqnrollBindingMetadataExtractor, 0.0.1"
#:package Rotbarsch.ReqnrollBindingMetadataExtractor@0.0.1
#addin nuget:?package=Rotbarsch.ReqnrollBindingMetadataExtractor&version=0.0.1
#tool nuget:?package=Rotbarsch.ReqnrollBindingMetadataExtractor&version=0.0.1
ReqnRollMcpServer
This is a Proof-of-Concept (PoC) implementation of a MCP (Model Context Protocol) server for ReqnRoll bindings, to enable AI agents to get information on the available bindings.
Mission Statement
This project aims to simplify the creation of ReqnRoll feature files by allowing AI agents to query available ReqnRoll bindings and their documentation directly in a format suited for AI agents, minimizing AI hallucinations and providing necessary context to the agent.
Setting up the server
Clone the repository and ensure it builds (.NET 10 required). Currently, it is not published to any repositories.
That's it! The provided tool accepts a file-path as a parameter, which will then be recursively scanned for eligible dll files. In the context of an IDE like VS Code, this would in most cases be the root of the current working directory.
Making the MCP server available to AI agents
Visual Studio Code with GitHub Copilot extension
Assuming you have the GitHub Copilot extension installed in Visual Studio Code, you can configure it to use the MCP server as follows:
- If not open already, open the GitHub Copilot chat, e.g., by pressing
CTRL+ALT+Ior whatever shortcut is configured for your environment. - Make sure GitHub Copilot is set to "Agent" on the bottom left of the chat window.
- Click the small icon depicting a wrench and screwdriver on the bottom of the chat, next to the selection of the model. At the top of the Visual Studio Code window, a list of available MCP servers opens.
- Click the small icon labeled "Add MCP Server..." at the top of the list of available MCP servers.
- Next, select "Command (stdio)".
- Enter the following command in the prompt and confirm:
dotnet run --project PATH_TO_YOUR_CLONED_REPO/ReqnRollMcpServer/ReqnRollMcpServer.csproj
Replace PATH_TO_YOUR_CLONED_REPO with your local path to the cloned ReqnRollMcpServer repository.
- Enter a unique and informative name for your configuration, e.g., "ReqnRoll MCP Server".
- A file named
mcp.jsonlocated in your%APPDATA%/Code/Userdirectory will open. It should look something like this:
{
"servers": {
"ReqnRollMcp": {
"type": "stdio",
"command": "dotnet",
"args": [
"run",
"--project",
"C:\\...\\ReqnRollMcpServer\\ReqnRollMcpServer.csproj"
]
}
},
"inputs": []
}
- Save the file. Notice the small
Startprompt on top of the JSON node describing your newly added MCP server. Click it to start the server. If anything goes wrong, Visual Studio Code will display the console output of the server with a detailed stack trace. - Clicking the wrench and screwdriver icon again will now show your MCP server. If the checkbox next to it is unchecked, check it.
- GitHub Copilot is now ready for use. Try prompting it with:
List all available ReqnRoll bindings.
- Before using a specific functionality (named "Tool" in the MCP world) for the first time, the chat will ask for your permission via a prompt. After confirming that prompt, you should get an answer listing all available ReqnRoll bindings in the defined assemblies.
Visual Studio with GitHub Copilot
- Open the window "GitHub Copilot Chat".
- Click the small wrench icon on the bottom right of the chat window labeled "Select tools". A list of available MCP servers opens.
- Click the small green plus on the top right of the tool list. A new dialog opens.
- Fill out the dialog:
- Destination: Select whether you want the server to be available globally or in the current solution only.
- Server ID: Enter a unique and informative name for your configuration, e.g., "ReqnRoll MCP Server".
- Type: Select "stdio".
- Command: Enter
dotnet run --project PATH_TO_YOUR_CLONED_REPO/ReqnRollMcpServer/ReqnRollMcpServer.csproj, replacingPATH_TO_YOUR_CLONED_REPOwith your local file path.
- Click "Save". The MCP server is now added to your list of available tools.
- GitHub Copilot is now ready for use. Try prompting it with:
List all available ReqnRoll bindings.
- Before using a specific functionality (named "Tool" in the MCP world) for the first time, the chat will ask for your permission via a prompt. After confirming that prompt, you should get an answer listing all available ReqnRoll bindings in the defined assemblies.
"Unable to load type" and similar messages
Make sure all dependencies of the assemblies configured in inputs.json lie either next to the assembly or in the base directory of the MCP server. The easieest way to achieve this is by setting the paths of a runnable, buildable ReqnRoll project referencing and using those bindings instead of the bindings project itself.
The documentation XML is nowhere to be found
Depending on the configuration of the bindings csproj file, XML documentation is not always copied to the output directory.
In that case, either adjust the bindings project to copy the XML documentation to the output directory or provide the path to the XML documentation manually in inputs.json.
In case of nuget packages, check %HOMEPATH%/.nuget/packages for the XML documentation files.
Bonus: Markdown Documentation Generator
The repository also includes a simple console application that generates markdown documentation for all available ReqnRoll bindings based on the same inputs.json file used by the MCP server. Simply start the console app with an argument providing the desired output file path (eg. C:/source/Bindings.md) and prepared inputs.json.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Mono.Cecil (>= 0.11.6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.0.1 | 78 | 2/8/2026 |
| 0.0.1-preview7 | 63 | 2/8/2026 |