Token导航 LogoToken导航TokenDH.com
Dotnet MCP CLI logo
开发工具未说明官方级别未说明来源级核验

Dotnet MCP CLI

MCP Server

一个通用的命令行界面,用于与模型上下文协议(MCP)服务器交互,支持交互式REPL模式、脚本执行和服务器管理。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
命令行工具C#开发工具

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ericstj

提供方

ericstj

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

MCP CLI-模型上下文协议命令行界面

用于与模型上下文协议(MCP)服务器交互的通用命令行界面,由构建。净10.0。

快速开始

先决条件

  • .NET 10.0 SDK或更高版本

构建并运行

cd McpCli
dotnet build
dotnet run                                    # Interactive mode
dotnet run -- --script ../example-script.txt # Script mode
dotnet run -- --help                          # Show help

特性

  • 交互式REPL模式:用于实时MCP服务器交互的命令提示符
  • 脚本执行:从支持注释的文本文件运行批处理命令
  • 高级命令处理:系统。基于命令行的解析和验证
  • 服务器管理:连接、断开连接和管理多个MCP服务器
  • 基于配置:基于JSON的服务器配置,支持环境变量
  • 原住民。NET日志记录:微软。扩展。使用控制台输出进行日志记录
  • 依赖注入:建立在微软之上。扩展。托管
  • 现代。网:目标。NET 10.0,具有最新的C#功能

可用命令(REPL)

核心命令

命令别名描述
help-显示可用命令
listls列出所有已配置的MCP服务器
status-显示连接状态和所选服务器
exit, quit-退出应用程序

服务器连接

命令描述
connect [--no-select]连接到MCP服务器(除非使用--no select,否则自动选择)
disconnect 断开与MCP服务器的连接
use [server]选择服务器作为默认服务器(如果省略,则清除选择)

服务器资源

所有资源命令都支持可选的服务器参数。如果未指定,则使用所选服务器或单个连接的服务器。

命令描述
tools list [server]列出可用工具
tools call [server] [--args ]调用工具
resources list [server]列出可用资源
resources read [server]阅读资源
prompts list [server]列出可用提示
`prompts get
[server] [--args ]`获得提示

服务器选择

CLI支持灵活的服务器选择,以简化多服务器工作流程:

自动选择

当您连接到服务器时,它会自动选择为默认值:

mcp> connect everything
Connecting to MCP server 'everything'...
Successfully connected to 'everything'
mcp:everything>

提示显示所选服务器名称(mcp:servername>),明确哪些服务器命令将作为目标。

显式选择

使用 use 更改所选服务器的命令:

mcp> connect server1
mcp:server1> connect server2
mcp:server1> use server2
Now using server 'server2' as default.
mcp:server2>

清除选择

呼叫 use 没有论据来清除选择:

mcp:everything> use
Server selection cleared. Will use single connected server if available.
mcp>

选择退出自动选择

使用 --no-select 如果您不想自动选择,请在连接时:

mcp> connect server1 --no-select
Connecting to MCP server 'server1'...
Successfully connected to 'server1'
mcp>

隐式服务器解析

执行命令时,服务器按以下顺序解析:

  1. 明确规定 -如果在命令中提供服务器名称
  2. 所选服务器 -如果你用过 use 选择服务器的命令
  3. 单连接 -如果只连接了一台服务器
  4. 错误 -如果连接了多个服务器,但未选择任何服务器

示例:

# Using selected server
mcp:everything> tools list
Listing tools from server 'everything'...

# Explicitly specifying server
mcp:everything> tools list other-server
Listing tools from server 'other-server'...

# Multiple servers without selection
mcp> connect server1 --no-select
mcp> connect server2 --no-select
mcp> tools list
Error: Multiple servers connected (server1, server2). Please specify server or use 'use ' to set a default.

命令行选项

选项别名描述
--script -s执行脚本文件中的命令
--log-level -l设置日志级别(跟踪、调试、信息、警告、错误、严重)
--config -c使用自定义配置文件
--help-h, -?显示帮助信息
--version-显示版本信息

配置

通过以下方式配置应用程序 appsettings.json:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "System": "Warning"
    }
  },
  "MaxHistoryItems": 100,
  "McpServers": {
    "my-server": {
      "Name": "my-server",
      "Command": "node",
      "Args": ["path/to/server.js"],
      "Env": {},
      "Description": "My MCP server",
      "AutoConnect": false
    }
  }
}

配置部分

日志记录 -标准。NET日志配置(由Microsoft.Extensions.logging自动使用):

  • Default:应用程序代码的基本日志级别
  • Microsoft:Microsoft框架库的日志级别
  • System:系统库的日志级别

McpServers -MCP服务器配置词典:

  • Name:服务器的唯一标识符
  • Command:启动服务器的可执行文件
  • Args:命令行参数为数组
  • Env:环境变量作为键值对
  • Description:列表中显示的可选描述
  • AutoConnect:启动时自动连接(尚未实现)

环境变量

使用环境变量覆盖配置 MCPCLI_ 前缀:

$env:MCPCLI_Logging__LogLevel__Default="Debug"
$env:MCPCLI_McpServers__myserver__Command="node"

脚本文件

每行使用一个命令创建文本文件。使用 # 评论:

# example-script.txt
list
status
help

执行方式:

dotnet run -- --script example-script.txt

示例会话

PS> dotnet run
MCP CLI starting...
╔══════════════════════════════════════╗
║   MCP CLI - Interactive Mode         ║
║   Type 'help' for commands           ║
║   Type 'exit' or 'quit' to exit      ║
╚══════════════════════════════════════╝

mcp> list
Configured MCP Servers:
  • everything           [Disconnected] - This MCP server attempts to exercise all the features...

mcp> connect everything
Connecting to MCP server 'everything'...
Successfully connected to 'everything'

mcp:everything> status
Connected to 1 server(s):
  • everything [SELECTED]

Default server: everything

mcp:everything> tools list
Listing tools from server 'everything'...
Available tools (10):
  • echo - Echoes back the input
  • add - Adds two numbers
  • longRunningOperation - Demonstrates a long running operation
  ...

mcp:everything> tools call echo --args '{"message":"Hello MCP!"}'
Calling tool 'echo' on server 'everything'...
Result:
Tool calling not yet fully implemented for 'echo'

mcp:everything> use
Server selection cleared. Will use single connected server if available.

mcp> exit
Goodbye!

技术栈

组件技术目的
运行时。NET 10.0最新版本。NET平台
托管微软。扩展。托管应用程序生命周期和DI
CLI解析系统。CommandLine 2.0应用程序和REPL命令解析
日志微软。扩展。日志记录本机。NET日志记录
MCP SDKModelContextProtocol 0.4.0-preview.3MCP客户端(已准备好进行第2阶段)
配置Microsoft。扩展。配置设置管理

项目结构

c:\src\dotnetMcpCli\
├── McpCli/
│   ├── Models/
│   │   ├── AppConfiguration.cs       # App-level settings
│   │   └── McpServerConfig.cs        # Server configuration model
│   ├── Services/
│   │   ├── IConsoleService.cs        # Console I/O interface
│   │   ├── ConsoleService.cs         # Console implementation
│   │   ├── IMcpConnectionManager.cs  # MCP connection interface
│   │   └── McpConnectionManager.cs   # MCP connection implementation
│   ├── CliOptions.cs                 # CLI options model
│   ├── McpCliHostedService.cs        # REPL & script executor
│   ├── Program.cs                    # Application entry point
│   ├── appsettings.json              # Configuration
│   └── McpCli.csproj                 # Project file
├── example-script.txt                # Example command script
├── README.md                         # User documentation (this file)
├── ARCHITECTURE.md                   # Developer documentation
└── .gitignore                        # Git ignore rules

发展

有关架构细节、设计决策和开发路线图,请参阅 建筑.md.

许可证

\[在此处指定您的许可证\]

目录标签

目录标签

命令行工具C#开发工具本地部署服务器管理交互式REPL脚本执行.NET

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP