MCP服务器托管工具

一个基于.NET 9.0的应用程序,用于托管和运行模型上下文协议(MCP)服务器和工具,支持标准输入/输出作为传输层,并自动加载工具程序集。

  • by lgiuliani80
  • C#
  • 本地部署
  • 更新于
在 GitHub 查看 lgiuliani80/mcp-resolvetenant

使用说明

ResolveTenant(mcp ResolveTenant)

A.NET 9.0应用程序,用于托管和运行模型上下文协议(MCP)服务器和工具。该项目提供了一种使用标准IO作为传输层实例化MCP服务器的简单方法,并自动加载MCP的工具程序集。

特性

  • 使用控制台托管MCP服务器。净值9.0(Microsoft.Extensions.Hosting)
  • 使用详细的时间戳、范围和可定制的控制台输出进行日志记录
  • 通过标准输入/输出进行可插拔传输(WithStdioServerTransport)
  • 从程序集中发现和加载工具(WithToolsFromAssembly)
  • 设计用于与ModelContextProtocol配合使用

入门指南

先决条件

  • .NET 9.0 SDK
  • (可选)ModelContextProtocol工具和插件

设置

  1. 克隆存储库:

    git clone https://github.com/lgiuliani80/mcp-resolvetenant.git
    cd mcp-resolvetenant
    
  2. 恢复依赖关系:

    dotnet restore
    
  3. 构建应用程序:

    dotnet build
    
  4. 运行服务器:

    dotnet run
    

项目结构

  • Program.cs:主入口点,配置并启动MCP服务器,包括控制台日志记录和工具/传输集成。
  • ResolveTenant.csproj:项目配置、目标 net9.0,引用 Microsoft.Extensions.Hosting 和 ModelContextProtocol.
  • Tools/:将您的自定义MCP工具实现放在此处(详细信息可能因项目而异)。
  • Utils/:与MCP工作流相关的辅助脚本或实用程序。
  • 其他配置文件: .gitignore, .gitattributes,以及解决方案/项目文件。

示例用法

启动后,服务器通过STDIO进行监听,并加载用于处理MCP请求的工具插件。

var builder = Host.CreateApplicationBuilder(args);
builder.Logging.AddSimpleConsole(options => {
    options.IncludeScopes = true;
    options.SingleLine = true;
    options.TimestampFormat = "[HH:mm:ss.fff] ";
    options.UseUtcTimestamp = true;
});
builder.Services.AddMcpServer()
    .WithStdioServerTransport()
    .WithToolsFromAssembly();

await builder.Build().RunAsync();

集成:添加到mcp.json

添加 ResolveTenant 作为MCP生态系统中的工具/服务器,在您的 mcp.json 引用可执行路径和stdio传输的配置,例如:

{
  "getTenantId": {
    "command": "/path/to/ResolveTenant(.exe)",
    "type": "stdio"
  }
}

注: 根据需要调整“命令”路径,以匹配您的安装和平台(Windows:.exe,Linux/MOSC:ELF二进制文件,如果适用)。对于通过标准输入/输出进行通信的基于MCP的工具,“类型”必须设置为“stdio”。

依赖项

许可证

麻省理工学院 (如果不存在,请在此处指定)

贡献

请随时打开问题或提取增强功能、错误修复或工具集成请求。


有关详细信息或高级配置,请参阅源代码或联系 lgiuliani80.