位置管理服务

一个基于.NET 8和ModelContextProtocol库的位置管理服务,用于通过Model Context Protocol(MCP)与AI模型和工具进行交互。

  • by nisalgunawardhana
  • C#
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 nisalgunawardhana/Try-mcp-location-server-demo

使用说明

LocationService MCP服务器(演示)

本项目演示了使用管理位置的模型上下文协议(MCP)服务器。NET 8和ModelContextProtocol库。


快速开始

克隆并运行

  1. 克隆存储库:
    git clone https://github.com/nisalgunawardhana/Try-mcp-location-server-demo.git
    cd LocationServer
    
  2. 恢复依赖关系:
    dotnet restore
    
  3. 运行服务器:
    dotnet run --project LocationServer.csproj
    
  4. (可选)与VS Code Copilot聊天一起使用:
    • 在VS Code中打开此文件夹。

    • 确保 .vscode/mcp.json 存在并已配置(见下文)。

      1. 开始聊天会话:
        • 在Copilot Chat中,只需键入:
          Can you retrieve all locations from the server
          
        • Copilot Chat将使用MCP工具获取所有位置。

什么是MCP?

模型上下文协议(MCP) 是一种开放协议,用于以结构化、语言无关的方式与人工智能模型和工具进行交互。MCP使客户端(如VS Code Copilot Chat)能够使用标准接口发现、调用服务器端工具和模型并与之交互。这使得构建、测试和扩展AI驱动的工具和服务变得容易。

为什么选择MCP?

  • 标准化: 公开和使用工具/模型的统一方式。
  • 互操作性: 适用于任何兼容MCP的客户端(例如,VS Code Copilot Chat)。
  • 可扩展性: 通过注释方法/类,可以轻松添加新工具。
  • 自动化: 在编辑器和其他客户端中启用高级工作流和自动化。

项目结构

  • Models/Location.cs -位置模型
  • Services/LocationService.cs -地点管理服务
  • Data/locations.json -包含50个真实位置的数据文件
  • Tools/LocationsTools.cs -用于定位操作的MCP工具
  • Program.cs -入口点和服务器设置

任务和工具(演示)

此演示展示了以下MCP工具,可用于Copilot Chat或任何MCP客户端:

  1. GetAll位置:从服务器检索所有位置。
  2. GetLocationById:(尚未实现)通过ID检索位置。您可以通过在中创建静态方法来添加此工具 Tools/LocationsTools.cs 并对其进行注释 [McpServerTool].
  3. 添加位置:(尚未实现)向服务器添加新位置。要启用此功能,请在中定义一个静态方法 Tools/LocationsTools.cs 并使用 [McpServerTool] 属性。

添加更多工具

要添加新工具,请在中创建静态方法 Tools/LocationsTools.cs 并为其添加注释 [McpServerTool].


与我联系

在社交媒体上关注我,了解更多会议、技术提示和赠品:

随时联系并保持更新!


许可证

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