mcpField
E
EasyChatDM - Demonstrates creating a simple MCP Server tools

EasyChatDM - Demonstrates creating a simple MCP Server tools

本地服务
github.com/cote游戏娱乐1654 周前更新

关于 EasyChatDM - Demonstrates creating a simple MCP Server tools

EasyChatDM 是用于演示如何创建 MCP 工具的 D&D 示例项目,面向学习 Spring AI MCP 的开发者。它提供随机判定、事件与角色描述等游戏素材,并包含可持久化的 DM 日志。

主要功能

  1. 01提供随机判定与游戏素材
  2. 02包含 DM Journal 持久化
  3. 03默认使用 SQLite,可切换 PostgreSQL
  4. 04示例涵盖工具、资源与提示词

适用场景

  1. 01为 D&D 游戏生成随机结果
  2. 02在游戏中引入事件或角色
  3. 03学习创建 Spring AI MCP 工具

MCP 相关

该项目提供供 Claude desktop 等 MCP 客户端使用的工具,并展示 MCP 资源与提示词的实现。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

EasyChatDM - 演示如何创建简单的 MCP 服务工具

用于与生成式 AI 一起玩《龙与地下城》的 MCP 服务工具示例。这些工具是占卜器,可用于判定随机的是/否问题,也可生成描述、事件、NPC 等内容。它们是“随机表”,可在游戏中引入不确定性、转折和随机性时使用。本项目用于教育目的,因此不太注重代码设计。

这些 MCP 服务工具可与 Claude 桌面版及其他 MCP 客户端配合使用。它们基于 Spring AI MCP 编写。本项目用于教育,因此不考虑良好的设计。相反,代码的编写方式旨在让人们能够轻松地逐步了解如何创建工具。

运行

你应该将 src/main/easychatdmdir/prompts/ 中的内容复制到 ~/.easychatdm。这些文件用于提示词、占卜器等。

数据库配置

DM 日志现在会保存到数据库,而不是普通 JSON 文件。本地运行时默认使用 SQLite,数据库文件存储在 ~/.easychatdm/easychatdm.db 下。SQLite 和 PostgreSQL 之间的切换完全通过系统属性或环境变量控制。

可用属性
属性默认值描述
easychatdm.dir${user.home}/.easychatdm提示词/占卜器的基础目录;使用 SQLite 时,也是数据库文件的位置。
easychatdm.db.typesqlite选择 sqlite(本地文件)或 postgres(远程数据库)。
easychatdm.db.sqlite.path(根据 easychatdm.dir 推导)覆盖 SQLite 数据库的完整路径。如果设置为目录,则会在后面追加下方的文件名。
easychatdm.db.sqlite.file-nameeasychatdm.db在解析出的目录下创建 SQLite 数据库时使用的名称。
easychatdm.db.sqlite.pool-size1使用 SQLite 时的 HikariCP 连接池大小(通常保持为 1)。
easychatdm.db.postgres.url(db.type=postgres 时必需)PostgreSQL 实例的 JDBC URL。
easychatdm.db.postgres.username(db.type=postgres 时必需)数据库用户名。
easychatdm.db.postgres.password(空字符串)数据库密码。
easychatdm.db.postgres.pool-size4使用 PostgreSQL 时的 HikariCP 连接池大小。
easychatdm.journal.export-filesSQLite 时为 true,Postgres 时为 false启用后,将日志内容同步到 JSON/Markdown 文件。

对于 Cloud Foundry(或任何远程部署),请使用 JAVA_OPTS 设置系统属性,例如:

JAVA_OPTS: >-
  -Deasychatdm.db.type=postgres
  -Deasychatdm.db.postgres.url=${JDBC_DATABASE_URL}
  -Deasychatdm.db.postgres.username=${JDBC_DATABASE_USERNAME}
  -Deasychatdm.db.postgres.password=${JDBC_DATABASE_PASSWORD}

致谢

更多内容

请参阅 ChatDM 项目,了解这个 EasyChatDM 更复杂、功能更丰富、设计也稍好的版本。

以下是一些介绍该项目的视频:

  1. 视频系列第一部分
    我在其中构建了一个非常简单的 MCP 工具平台。
  2. 在视频系列第二部分中,我构建了基于文件的占卜器,并介绍如何使用 Claude 生成的日志,以及如何开始记录自己的日志。
  3. 在第三部分中,我构建了 MCP 资源,用作 DM 日志,在游戏场次之间保存游戏信息。
  4. 最后,我终于着手制作 MCP 提示词,这真的令人兴奋。
    这是第一次展示一些带有“Agent 特性”的内容。

请留意播放列表,后续视频发布后会陆续添加。

参考资料

版本

  • 0.0.4 - DM 日志默认存储在 SQLite 中,可通过系统属性切换为 PostgreSQL。
  • 0.0.3 - 相对稳定的版本,尚未转换为使用服务存储 DM 日志。此版本仍依赖文件访问。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。