该项目实现了一个基于Model Context Protocol (MCP) 的服务器,专门用于与Advent of Code网站进行交互。它通过提供标准的MCP工具接口,让外部MCP客户端(如支持MCP的LLM应用)能够便捷地查询指定年份在Advent of Code上的解题进度。

主要功能点

  • 获取年度解题进度: 提供一个工具,根据指定的年份,查询用户在该年份的Advent of Code上获得的星星总数。
  • MCP协议支持: 实现标准的MCP服务器功能,通过JSON-RPC协议与客户端通信,支持Stdio传输方式。

安装步骤

  1. 确保你的系统已安装 .NET SDK。
  2. 克隆该仓库到本地。
  3. 在项目根目录下,运行以下命令编译项目:
    dotnet build

服务器配置

MCP客户端需要配置连接到此服务器。配置信息通常包含服务器的名称、启动命令及其参数。对于此服务器,你需要提供你的Advent of Code会话令牌作为启动参数。

配置示例结构(请根据你的MCP客户端的具体格式调整):

{
  "name": "AoC Server", // 服务器名称
  "command": "dotnet", // 启动服务器的可执行文件或脚本命令
  "args": [
    "run",
    "--project",
    "path/to/your/aoc-mcp.csproj", // 替换为你的aoc-mcp.csproj文件在系统中的实际路径
    "--", // 分隔符,用于将后续参数传递给你的.NET应用
    "YOUR_SESSION_TOKEN" // **替换为你的Advent of Code网站的会话令牌**
  ]
}

注意: 'YOUR_SESSION_TOKEN' 是你的Advent of Code账户的会话令牌,用于服务器登录并获取你的个人进度数据。这是一个敏感信息,请妥善保管。你可以在登录Advent of Code网站后,通过浏览器开发者工具查看Cookie中名为 'session' 的值来获取。

基本使用方法

  1. 根据上方“服务器配置”部分的信息,在你的MCP客户端中配置并添加此服务器。
  2. 通过MCP客户端启动此服务器。服务器将通过Stdio与客户端建立通信。
  3. 一旦连接成功,你可以通过客户端调用服务器提供的工具。目前主要工具为 'GetAocProgress',接受一个整数参数 'year' (年份)。
  4. 调用 'GetAocProgress' 工具并传入你想查询的年份(例如 2023),服务器将返回你在该年份获得的星星总数。具体调用方式和结果展示取决于你的MCP客户端界面。

信息

分类

网页与API