MCPSharp - MCP服务,MCP服务器,MCP教程

基本能力

产品定位

MCPSharp是一个用于构建MCP协议兼容服务器和客户端的.NET库,旨在简化AI助手和模型与后端服务的集成。

核心功能

  • 创建MCP兼容的工具和函数,供AI模型发现和使用
  • 通过简单的属性将.NET方法暴露为MCP端点
  • 处理MCP协议细节和JSON-RPC通信
  • 支持动态工具注册和工具变更通知
  • 支持复杂对象参数和更好的错误处理
  • 与Microsoft.Extensions.AI和Semantic Kernel集成

适用场景

  • 创建AI助手(如Anthropic的Claude Desktop)可以使用的工具
  • 构建MCP兼容的API而不需要处理协议细节
  • 将现有.NET代码暴露为MCP端点
  • 通过标准化接口为应用程序添加AI能力
  • 与Microsoft.Extensions.AI和/或Semantic Kernel集成而不锁定单一供应商

工具列表

  • [McpTool]:标记类或方法为MCP工具
  • [McpParameter]:为函数参数提供元数据
  • [McpResource]:标记属性或方法为MCP资源

常见问题解答

  • [McpFunction]已弃用,改用[McpTool]
  • 使用MCPServer.Register<T>()而不是MCPServer.RegisterTool<T>()(旧方法仍可用但已弃用)

使用教程

使用依赖

安装教程

bash
dotnet add package MCPSharp

快速开始

  1. 定义工具
    ```csharp
    using MCPSharp;

public class Calculator
{
[McpTool("add", "Adds two numbers")]
public static int Add([McpParameter(true)] int a, [McpParameter(true)] int b)
{
return a + b;
}
}
```

  1. 启动服务器
    csharp
    await MCPServer.StartAsync("CalculatorServer", "1.0.0");

调试方式

  • 使用XML注释生成文档
    xml
    <PropertyGroup>
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
    <NoWarn>$(NoWarn);1591</NoWarn>
    </PropertyGroup>
  • 动态注册工具并测试功能
    csharp
    MCPServer.AddToolHandler(new Tool()
    {
    Name = "dynamicTool",
    Description = "A dynamic tool",
    InputSchema = new InputSchema {
    Type = "object",
    Required = ["input"],
    Properties = new Dictionary<string, ParameterSchema>{
    {"input", new ParameterSchema{Type="string", Description="Input value"}}
    }
    }
    }, (string input) => { return $"You provided: {input}"; });

点击访问

搜索工具

MCP Server for Data Exploration - MCP服务,MCP服务器,MCP教程

2025-4-29 12:06:30

搜索工具

MoLing MCP Server - MCP服务,MCP服务器,MCP教程

2025-4-29 12:06:38

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索