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

POC MCP

MCP Server

一个基于.NET 9.0和Microsoft ModelContextProtocol SDK的概念验证实现,用于创建和分发MCP服务器,使AI助手能够通过标准化协议连接外部数据源和工具。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
.NET开发跨平台C#ClaudeGitHub CopilotClaudeVS Code

安装说明

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

作者 / 组织

ballombert

提供方

ballombert

最后核验

2026/5/17 20:20

快速接入

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

详细介绍

POC-MCP-。NET模型上下文协议服务器

使用的MCP(模型上下文协议)服务器的概念验证实现。NET 9.0和官方的微软ModelContextProtocol SDK。

🚀 GitHub复制品准备就绪! 该项目包括为VS Code预配置的MCP集成。打开项目并询问Copilot: *“启动带有图形界面的番茄钟”* 看看MCP在行动!

概述

本项目演示了如何使用C#和创建和分发MCP服务器。网。服务器公开了AI客户端(如GitHub Copilot、Claude等)可以通过标准化的MCP协议调用的工具。

什么是MCP?

模型上下文协议(MCP)是一个开放标准,使AI助手能够安全地连接到外部数据源和工具。它为人工智能模型提供了一种标准化的方式,通过一个通用界面与各种资源进行交互。

项目结构

POC-MCP/
├── .github/
│   └── copilot-instructions.md    # AI coding agent guidelines
├── docs/                          # Comprehensive documentation
│   ├── README.md                  # Documentation overview
│   ├── getting-started.md         # Setup and quick start guide
│   ├── architecture.md            # Technical architecture details
│   ├── api-reference.md           # MCP tools and API documentation
│   ├── deployment.md              # Build, versioning, and deployment guide
│   ├── adr/                       # Architecture Decision Records
│   │   ├── README.md              # ADR index and guidelines
│   │   ├── 001-dotnet-9-mcp-server.md
│   │   ├── 002-stdio-transport.md
│   │   ├── 003-attribute-based-tools.md
│   │   └── 004-self-contained-distribution.md
│   └── examples/                  # Code examples and patterns
├── scripts/
│   └── version.sh                 # Version management script
├── src/
│   └── SampleMcpServer/           # Main MCP server implementation
│       ├── .mcp/
│       │   └── server.json        # MCP server metadata
│       ├── Tools/
│       │   └── RandomNumberTools.cs # Example MCP tools
│       ├── Program.cs             # Application entry point
│       ├── SampleMcpServer.csproj # Project configuration
│       └── README.md              # Server-specific documentation
├── Directory.Build.props          # Centralized build properties and versioning
├── global.json                   # .NET SDK version specification
├── POC-MCP.sln                   # Visual Studio solution file
└── README.md                      # This file

特性

  • 跨平台:针对Windows、macOS和Linux(多种体系结构)的构建
  • 自足:没有。目标计算机上需要.NET运行时
  • NuGet分发:通过NuGet打包和分发
  • stdio传输:通过stdin/stdout使用JSON-RPC进行通信
  • 工具发现:AI助手可以自动发现可用的工具
  • IDE集成:适用于VS Code和Visual Studio
  • 🤖 GitHub复制集成:中预先配置了MCP设置 .vscode/mcp.json
  • 🍅 番茄钟定时器工具:控制台和图形界面Pomodoro会话
  • 🎲 示例工具:用于测试的随机数生成

快速开始

先决条件

  • .NET 9.0 SDK
  • 兼容的IDE(VS Code或支持MCP的Visual Studio)

发展

  1. 克隆并导航到项目:
   git clone https://github.com/ballombert/POC-MCP.git
   cd POC-MCP
  1. 构建解决方案:
   dotnet build
  1. 运行MCP服务器:
   dotnet run --project src/SampleMcpServer
  1. 使用GitHub Copilot进行测试(VS代码):

- MCP服务器已在中预先配置 .vscode/mcp.json - 在VS代码中打开GitHub Copilot聊天 - 尝试以下命令: - “给我3个随机数” - “启动带有图形界面的番茄钟” - “用法语开始30分钟的工作会议” - MCP服务器应自动调用!

建筑和配电

建筑和配电

  1. 为所有平台构建:
   dotnet pack -c Release

或者使用版本脚本:

   ./scripts/version.sh pack
  1. 管理版本:
   # Show current version
   ./scripts/version.sh show

   # Bump version
   ./scripts/version.sh bump patch

   # Set specific version
   ./scripts/version.sh set 1.0.0-rc1
  1. 发布到NuGet:
   dotnet nuget push bin/Release/*.nupkg --api-key  --source https://api.nuget.org/v3/index.json

🤖 GitHub复制集成

此项目预装了GitHub Copilot集成!在VS Code中打开此项目时,MCP服务器会自动可用。

可用命令

向GitHub Copilot询问以下任何命令:

🍅 番茄钟

  • *“启动带有图形界面的番茄钟”*
  • *“开始一个25分钟的工作会议,休息5分钟”*
  • *“打开法语番茄钟”*
  • *“停止我当前的番茄钟课程”*
  • *“我的番茄钟的状态如何?”*

🎲 公用事业

  • *“给我3个随机数”*
  • *“生成10到50之间的随机数”*

工作原理

  1. 自动检测:VS代码自动加载 .vscode/mcp.json
  2. 后台服务器:当Copilot需要时,MCP服务器会运行
  3. 工具调用:Copilot会自动为您的请求选择合适的工具
  4. 实际结果:获取实际的番茄钟和随机数!

看 有关详细的设置说明。

示例工具

示例服务器包括多个工具类,用于演示:

🎲 随机数字工具

  • 工具法装饰 [McpServerTool]
  • 参数文档 [Description] 属性
  • 默认参数值
  • 返回值处理

🍅 番茄工具

  • 基于控制台的番茄钟会话
  • 图形界面启动
  • 会话管理和状态检查
  • 多语言支持(6种语言)
  • 流程启动和错误处理
[McpServerTool]
[Description("Generates a random number between the specified minimum and maximum values.")]
public int GetRandomNumber(
    [Description("Minimum value (inclusive)")] int min = 0,
    [Description("Maximum value (exclusive)")] int max = 100)
{
    return Random.Shared.Next(min, max);
}

建筑

  • 主机:微软。扩展。应用程序生命周期托管
  • 运输:基于stdio的JSON-RPC通信
  • 软件开发工具包:官方ModelContextProtocol NuGet包
  • 日志记录:配置为stderr(stdout保留用于协议)
  • 包装:独立、单文件可执行

文档

贡献

这是一个概念验证项目。贡献时:

  1. 遵循现有代码库中建立的模式
  2. 添加新功能时更新文档
  3. 提交前与实际的AI助手进行测试
  4. 考虑跨平台兼容性

许可证

许可证MIT

______________________________________________________________________

有关详细的实施指南和开发模式,请参阅 .

目录标签

目录标签

.NET开发跨平台C#ClaudeGitHub CopilotAI工具集成本地部署GitHubCopilotJSON-RPC

支持客户端

ClaudeVS Code

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP