OpenCliToMcp.Core
1.0.1
dotnet add package OpenCliToMcp.Core --version 1.0.1
NuGet\Install-Package OpenCliToMcp.Core -Version 1.0.1
<PackageReference Include="OpenCliToMcp.Core" Version="1.0.1" />
<PackageVersion Include="OpenCliToMcp.Core" Version="1.0.1" />
<PackageReference Include="OpenCliToMcp.Core" />
paket add OpenCliToMcp.Core --version 1.0.1
#r "nuget: OpenCliToMcp.Core, 1.0.1"
#:package OpenCliToMcp.Core@1.0.1
#addin nuget:?package=OpenCliToMcp.Core&version=1.0.1
#tool nuget:?package=OpenCliToMcp.Core&version=1.0.1
OpenCliToMcp.Core
Core library for creating MCP (Model Context Protocol) servers from OpenCLI tool definitions.
Overview
OpenCliToMcp.Core provides the foundational components needed to execute CLI tools and convert their outputs into MCP-compatible responses. It includes:
- CLI Executors: Base classes and interfaces for executing command-line tools
- Process Management: Robust process execution with timeout and error handling
- Response Formatting: Flexible response formatting (JSON, plain text, structured data)
- Configuration: Options pattern for configuring CLI execution behavior
Installation
dotnet add package OpenCliToMcp.Core
Basic Usage
using OpenCliToMcp.Core;
// Create a simple CLI executor
var executor = new SimplifiedCliExecutor(new SimplifiedCliExecutorOptions
{
ExecutablePath = "git",
ResponseFormat = ResponseFormat.Json
});
// Execute a command
var response = await executor.ExecuteAsync(new[] { "status", "--porcelain" });
Console.WriteLine(response.Content);
Key Components
ICliExecutor
The main interface for executing CLI commands:
public interface ICliExecutor
{
Task<CliResponse> ExecuteAsync(string[] arguments, CancellationToken cancellationToken = default);
}
CliExecutorBase
Abstract base class providing common CLI execution functionality with built-in logging and error handling.
ConfigurableCliExecutor
Advanced executor with configurable executable resolution, custom process options, and response formatting.
Response Formats
- Json: Structured JSON output
- PlainText: Raw text output
- Auto: Automatic format detection
Advanced Features
Custom Process Execution
var executor = new ConfigurableCliExecutor(
executableResolver,
processExecutor,
responseFormatter,
logger);
Executable Resolution
Automatically find executables using glob patterns:
var resolver = new GlobbingExecutableResolver(new GlobbingExecutableResolverOptions
{
SearchPattern = "**/bin/my-tool.exe"
});
License
Licensed under the Apache License, Version 2.0. See LICENSE for details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. 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. |
-
net9.0
- Microsoft.Extensions.FileSystemGlobbing (>= 9.0.7)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.7)
- Microsoft.Extensions.Options (>= 9.0.7)
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 |
---|---|---|
1.0.1 | 161 | 8/4/2025 |