Token导航 LogoToken导航TokenDH.com
Sync Env MCP logo
运维云端stdio官方级别未说明来源级核验

Sync Env MCP

MCP Server

一个展示如何在.NET 9中实现模型上下文协议(MCP)的演示应用,支持HTTP和StdIO传输,适用于游戏/体育数据管理场景。

工具数

6

提示词数

0

GitHub Stars

1

资源数

0
数据同步.NET开发C#Claude协议实现Claude DesktopClaude

安装说明

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

作者 / 组织

LyubomirPetrovski

提供方

LyubomirPetrovski

最后核验

2026/5/17 20:23

运行时

Docker

快速接入

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

命令预览

docker run -p 5000:5000 syncenv-mcp-http

详细介绍

SyncEnv MCP-模型上下文协议演示。网

全面示范实施 模型上下文协议(MCP) 在。网9。此示例应用程序展示了如何使用HTTP和StdIO传输构建MCP服务器,以游戏/体育数据管理的真实数据同步场景为特色。

🤔 什么是MCP?

模型上下文协议(MCP)是一个开放协议,它规范了应用程序如何向大型语言模型(LLM)提供上下文。这使得Claude、ChatGPT等AI助手能够以标准化的方式与应用程序的数据和工具进行交互。

📚 一般资源

📚 安全漏洞

✨ 特性

此演示应用程序演示:

  • 双重运输支持:HTTP和StdIO(标准输入/输出)MCP服务器实现
  • 自定义MCP工具:用于环境管理和数据同步的即用型工具
  • 依赖关系映射:自动解析实体关系以实现复杂的数据同步
  • 内存数据存储:具有真实体育/比赛数据的示例数据生成器
  • Docker支持:容器化部署就绪
  • 综合测试:包括单元和集成测试

🛠️ 已实施MCP工具

环境工具

  • ListEnvironments -列出所有可用环境(生产环境、本地环境)
  • TestConnection -测试与特定环境的连接
  • GetDatabaseStats -获取环境的数据库统计信息

游戏同步工具

  • FindGames -按球队名称和日期范围搜索比赛
  • PreviewGameSync -预览要同步的数据(模拟运行模式)
  • SyncGame -在环境之间同步特定游戏及其所有依赖关系

📁 溶液结构

SyncEnvMcp/
SyncEnvMcp/
├── SyncEnv.Mcp/                    # Core MCP library
│   ├── Services/                   # Data services and dependency mapping
│   ├── Tools/                      # MCP tool implementations
│   └── Prompts/                    # MCP prompts (future enhancement)
├── SyncEnv.Mcp.Http/               # HTTP transport MCP server
│   ├── Program.cs                  # HTTP server configuration
│   ├── Examples/                   # Example client implementations
│   └── Dockerfile                  # Container configuration
├── SyncEnv.Mcp.StdIo/             # StdIO transport MCP server
│   ├── Program.cs                  # StdIO server configuration
│   └── Dockerfile                  # Container configuration
├── SyncEnv.Mcp.Tests/             # Unit tests
├── SyncEnv.Mcp.Tests.Integration/ # Integration tests
└── MongoDAL/                       # Data models and abstractions

🚀 技术

  • .NET 9 -最新。NET框架与C#13
  • ASP。NET核心 -用于HTTP传输服务器
  • 模型上下文协议。网 -官方MCP SDK。网
  • x单位 -测试框架
  • 码头工人 -集装箱化支持

📦 安装和设置

先决条件

  • .NET 9 SDK
  • Visual Studio 2022或VS代码
  • Docker(可选,用于容器化部署)

运行HTTP服务器

cd SyncEnv.Mcp.Http
dotnet run

服务器将于启动 http://0.0.0.0:5000 MCP端点位于 /mcp.

测试运行状况端点:

curl http://localhost:5000/health

运行StdIO服务器

cd SyncEnv.Mcp.StdIo
dotnet run

这将使用标准输入/输出启动MCP服务器,以便与MCP客户端通信。

使用Docker运行

# Build the HTTP server image
docker build -f SyncEnv.Mcp.Http/Dockerfile -t syncenv-mcp-http .

# Run the container
docker run -p 5000:5000 syncenv-mcp-http

🧪 运行测试

# Run unit tests
dotnet test SyncEnv.Mcp.Tests/SyncEnv.Mcp.Tests.Unit.csproj

# Run integration tests
dotnet test SyncEnv.Mcp.Tests.Integration/SyncEnv.Mcp.Tests.Integration.csproj

# Run all tests
dotnet test

💡 使用示例

示例1:列出可用环境

{
  "method": "tools/call",
  "params": {
    "name": "ListEnvironments",
    "arguments": {}
  }
}

示例2:按团队查找游戏

{
  "method": "tools/call",
  "params": {
    "name": "FindGames",
    "arguments": {
      "teamName": "Manchester",
      "startDate": "2024-01-01",
      "environment": "Production"
    }
  }
}

示例3:预览游戏同步

{
  "method": "tools/call",
  "params": {
    "name": "PreviewGameSync",
    "arguments": {
      "gameId": "game_12345",
      "sourceEnvironment": "Production"
    }
  }
}

示例4:将游戏与依赖项同步

{
  "method": "tools/call",
  "params": {
    "name": "SyncGame",
    "arguments": {
      "gameId": "game_12345",
      "sourceEnvironment": "Production",
      "targetEnvironment": "Local"
    }
  }
}

🔌 连接MCP客户端

克劳德桌面

添加到您的Claude Desktop配置文件中:

对于HTTP服务器:

{
  "mcpServers": {
    "syncenv": {
      "url": "http://localhost:5000/mcp"
    }
  }
}

对于StdIO服务器:

{
  "mcpServers": {
    "syncenv": {
      "command": "dotnet",
      "args": ["run", "--project", "path/to/SyncEnv.Mcp.StdIo"]
    }
  }
}

🎓 关键概念演示

1.MCP工具注册

使用属性和依赖注入注册工具:

[McpServerToolType]
public sealed class EnvironmentTools
{
    [McpServerTool, Description("List all available environments")]
    public static string ListEnvironments() { ... }
}

2.依赖关系映射

自动解析复杂数据同步的实体关系:

public interface IDependencyMapper
{
    Task GetGameDependenciesAsync(string gameId, string environment);
}

3.双重运输支持

相同的工具适用于HTTP和StdIO传输:

// HTTP Transport
builder.Services.AddMcpServer()
    .WithHttpTransport()
    .WithTools();

// StdIO Transport
builder.Services.AddMcpServer()
    .WithStdioTransport()
    .WithTools();

🤝 贡献

这是一个示范项目,但请随时:

  • 报告问题或提出改进建议
  • 使用您自己的MCP工具进行分叉和增强
  • 用作您自己的MCP实现的模板

📄 许可证

这是一个示例/演示项目。您可以自由地使用它来学习和构建您自己的MCP实现。

🔮 未来的增强功能

  • \[\]添加MCP提示支持
  • \[\]实施MCP资源
  • \[\]添加身份验证/授权
  • \[\]支持MongoDB而不是内存存储
  • \[\]与ViewModel实时同步
  • \[\]添加更复杂的依赖场景
  • \[\]GraphQL集成示例

📧 联系

作为MCP在中的演示而创建。NET-您可以自由地学习并调整此代码以适应您自己的项目!

______________________________________________________________________

备注:这是一个示例应用程序,旨在演示MCP概念。出于学习目的,有意简化内存中的数据存储。在生产场景中,您将与实际数据库集成并实施适当的安全措施。

目录标签

目录标签

数据同步.NET开发C#Claude协议实现本地部署游戏数据管理AI集成

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

oauth

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiooauth部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP