Token导航 LogoToken导航

MCP Server · AI代理

shos.mcpsample2

一个展示Model Context Protocol (MCP)在C#中实现的综合示例解决方案,包含多种服务器类型和客户端应用。

未说明官方级别未说明来源级核验工具 8
服务器实现C#AI代理

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
Fujiwo
提供方
Fujiwo

工具数量

8

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

shos.mcpsample2 属于AI代理类 MCP Server,公开资料标注 8 个工具,通过传输方式未标注接入,客户端适配情况以官方文档为准,没有现成的安装命令;接入前要先准备 OAuth 授权。

分类

AI代理

传输方式

未说明

认证方式

OAuth 授权

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 8 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

公开资料仍需确认:安装命令

详细介绍

肖。MCPSample2

一个全面的示例解决方案,展示了 模型上下文协议(MCP) 用C#实现,具有多种服务器类型和客户端应用程序。

概述

此解决方案展示了三种不同的MCP服务器实现和一个可以连接到所有这些实现的客户端:

  • 控制台STDIO MCP服务器 -使用标准输入/输出进行MCP通信
  • Web SSE MCP服务器 -使用HTTP进行服务器发送事件传输
  • Web HTTP MCP服务器 -使用流式HTTP传输
  • MCP客户端 -连接到所有服务器类型的交互式控制台应用程序

建筑

┌─────────────────┐    ┌──────────────────────┐
│   MCP Client    │    │   Shared MCP Tools   │
│                 │    │                      │
│ - Interactive   │    │ - GetRandomNumber    │
│ - Multi-server  │    │ - CalculateFactorial │
│ - Transport     │    │ - IsPrime            │
│   demos         │    │ - ReverseString      │
│ - OAuth 2.1     │    │ - GetCurrentTime     │
│   PKCE Client   │    │ - FormatDate         │
└─────────────────┘    │ - CalculateDistance  │
         │              │ - GenerateFibonacci   │
         │              └──────────────────────┘
         ▼                        ▲
┌─────────────────┐              │
│ OAuth 2.1       │              │
│ Protected       │              │
│ MCP Servers     │              │
│                 │              │
│ ├ Console STDIO │──────────────┤ (No OAuth)
│ ├ Web SSE       │──────────────┤ (OAuth 2.1)
│ └ Web HTTP      │──────────────┘ (OAuth 2.1)
└─────────────────┘

项目

1.鞋子。MCPSample2.Server。控制台

控制台STDIO MCP服务器

  • 传输:标准输入/输出(STDIO)
  • 端口:N/A(使用STDIN/STDOUT)
  • 用途:直接过程通信
  • 最适合:本地集成、CLI工具、GitHub Copilot

2.鞋子。MCPSample2.Server。WebSSE

使用OAuth 2.1的Web SSE MCP服务器

  • 传输:HTTP与服务器发送的事件
  • 端口:5001(HTTP),7001(HTTPS)
  • 端点: /api/mcp (OAuth 2.1受保护)
  • OAuth:使用PKCE的授权代码流
  • 最适合:实时web应用程序、持久连接

3.鞋子。MCPSample2.Server。WebHTTP

基于OAuth 2.1的Web HTTP MCP服务器

  • 传输:流式HTTP
  • 端口:5002(HTTP),7002(HTTPS)
  • 端点: /api/mcp (OAuth 2.1受保护)
  • OAuth:使用PKCE的授权代码流
  • 最适合:类似REST的集成、无状态连接

4.鞋子。MCPSample2.客户端

支持OAuth 2.1的MCP客户端应用程序

  • 交互式控制台应用程序
  • 连接到所有三种服务器类型
  • 演示不同的运输方法
  • 显示服务器功能和运行状况检查
  • OAuth 2.1 PKCE客户端实现
  • 测试OAuth授权流

5.鞋子。MCPSample2.共享

共享库

  • 所有服务器使用的通用MCP工具
  • 演示各种工具类型:

- 数学的:随机数、阶乘、素数检验、斐波那契 - 字符串操作:反向字符串 - 日期/时间:当前时间、日期格式 - 几何的:距离计算

可用的MCP工具

所有服务器通过共享库公开相同的工具集:

工具说明参数
GetRandomNumber生成随机数min (int), max (int)
CalculateFactorial计算阶乘number (int)
IsPrime检查数字是否为素数number (int)
ReverseString反转字符串input (字符串)
GetCurrentTime获取当前UTC时间无
FormatDate格式化日期字符串date (日期时间), format (字符串)
CalculateDistance计算二维距离x1, y1, x2, y2 (双)
GenerateFibonacci生成斐波那契数列count (int)

快速开始

先决条件

运行应用程序

  1. 克隆和构建:
   git clone https://github.com/Fujiwo/Shos.MCPSample2.git
   cd Shos.MCPSample2
   dotnet build
  1. 启动MCP客户端:
   cd Shos.MCPSample2.Client
   dotnet run
  1. 启动单个服务器 (在单独的终端中):

控制台STDIO服务器:

   cd Shos.MCPSample2.Server.Console
   dotnet run

网络SSE服务器:

   cd Shos.MCPSample2.Server.WebSSE  
   dotnet run
   # Server starts at: http://localhost:5001

Web HTTP服务器:

   cd Shos.MCPSample2.Server.WebHTTP
   dotnet run  
   # Server starts at: http://localhost:5002

测试服务器

控制台STDIO服务器

STDIO服务器通过标准输入/输出进行通信。它的设计用途是:

  • 可以启动流程的MCP客户端
  • GitHub Copilot(正确配置后)
  • 支持MCP的其他开发工具

Web服务器(SSE和HTTP)

两个web服务器都提供:

  • MCP端点: /api/mcp
  • 健康检查: /weatherforecast
  • Swagger用户界面: /swagger (处于开发模式)

测试web服务器:

# Health check
curl http://localhost:5001/weatherforecast  # SSE server
curl http://localhost:5002/weatherforecast  # HTTP server

# Access Swagger UI
open http://localhost:5001/swagger  # SSE server  
open http://localhost:5002/swagger  # HTTP server

MCP客户端使用情况

客户端应用程序提供了一个支持OAuth 2.1的交互式菜单:

=== MCP Client Sample with OAuth 2.1 ===
Select a server to connect to:
1. Console STDIO MCP Server (No OAuth - Local only)
2. Web SSE MCP Server (HTTP) - OAuth 2.1 Protected
3. Web HTTP MCP Server (HTTP) - OAuth 2.1 Protected
4. Test OAuth 2.1 Flow
5. Exit

每个选项都演示了:

  • 如何连接到该传输类型
  • 可用服务器功能
  • 健康检查结果
  • OAuth 2.1保护状态
  • 服务器未运行时的安装说明

选项4 提供了一个完整的OAuth 2.1 PKCE流程演示,显示:

  • OAuth发现
  • PKCE挑战生成
  • 授权码交换
  • 受保护端点的访问令牌使用情况

开发说明

技术栈

  • .NET 8.0:目标框架
  • 模型上下文协议:官方C#MCP SDK(预览版)
  • 模型上下文协议。AspNetCore:ASP。NET核心集成
  • 微软。扩展。托管:依赖注入和托管

运输类型

  1. STDIO传输

- 直接过程沟通 - 使用人: WithStdioServerTransport() - 最适合:本地工具、IDE集成

  1. HTTP传输(SSE和流式传输)

- 基于网络的通信 - 使用人: WithHttpTransport() - 最适合:Web应用程序、远程服务

架构优势

  • 共享工具:所有服务器的通用功能
  • 运输灵活性:相同的工具,不同的连接方法
  • 可扩展:易于添加新工具或服务器
  • 遵从标准:使用官方MCP SDK

OAuth 2.1集成

✅ OAuth 2.1实现现已完成!

MCP web服务器(WebSSE和WebHTTP)现在使用PKCSE(代码交换证明密钥)通过OAuth 2.1授权进行保护,以增强安全性。

OAuth 2.1功能

  • PKCE 需要:所有授权流都使用PKCE进行安全保护
  • JWT承载代币:访问令牌为JWT格式,具有安全签名
  • 发现端点:标准OAuth发现位于 /.well-known/oauth-authorization-server
  • 授权码流:标准OAuth 2.1授权代码流
  • MCP保护:MCP端点需要有效的承载令牌

OAuth 2.1端点

这两个web服务器都公开了以下OAuth端点:

终点目的
/.well-known/oauth-authorization-serverOAuth发现信息
/oauth/authorize授权端点(需要PKCE)
/oauth/token令牌交换端点
/api/mcp受保护的MCP端点(需要Bearer令牌)

测试OAuth 2.1

  1. 启动web服务器:
   cd Shos.MCPSample2.Server.WebSSE
   dotnet run  # Starts on http://localhost:5001
  1. 使用OAuth测试运行客户端:
   cd Shos.MCPSample2.Client
   dotnet run
   # Select option 4: "Test OAuth 2.1 Flow"
  1. 手动OAuth流测试:
   # Discovery
   curl http://localhost:5001/.well-known/oauth-authorization-server

   # Test protected endpoint (should return 401)
   curl -I http://localhost:5001/api/mcp

   # Generate PKCE challenge and test full flow
   # (See client implementation for complete example)

OAuth 2.1配置

OAuth设置已在中配置 appsettings.json:

{
  "OAuth": {
    "Issuer": "https://localhost:7001",
    "Audience": "mcp-api",
    "AccessTokenExpirationMinutes": 60,
    "DefaultClientId": "mcp-sample-client",
    "DefaultRedirectUri": "http://localhost:8080/callback"
  }
}

安全说明:JWT签名密钥目前是硬编码的,用于演示目的。在生产环境中,使用安全密钥管理(Azure密钥库等)。

贡献

这是一个演示MCP概念的示例/教育项目。您可以将其作为您自己的MCP实现的起点。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

资源

工具与能力

工具数量

8

资源数量

0

提示词数量

0

能力标签

MCP协议C#本地部署C#开发OAuth2.1服务器实现客户端应用

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 8 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备OAuth 授权,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到OAuth 授权的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
shos.mcpsample2

MCP World · 本页

8未说明未标注1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

shos.mcpsample2 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

shos.mcpsample2 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

shos.mcpsample2 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

shos.mcpsample2 需要 API Key 吗?

公开资料标注的认证方式是OAuth 授权,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

shos.mcpsample2 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP