MCP.so
Sign In
Servers

EasyChatDM - Demonstrates creating a simple MCP Server tools

@cote

Example MCP Server tools for playing D&D with generative AIs. This project is for educational purposes so little attention is given to good code design.

Overview

What is EasyChatDM?

EasyChatDM is an educational MCP (Model Context Protocol) server that provides oracle tools for tabletop role‑playing games like D&D. It generates random yes/no answers, descriptions, events, and NPCs to introduce uncertainty during play. Built with Spring AI MCP, it works with any MCP client such as Claude Desktop.

How to use EasyChatDM?

Install EasyChatDM and configure it in your MCP client. Before running, copy the contents of src/main/easychatdmdir/prompts/ to ~/.easychatdm. The server can be configured via system properties or environment variables to use SQLite (default) or PostgreSQL for persistent journal storage.

Key features of EasyChatDM

  • Random oracles for D&D (yes/no, descriptions, events, NPCs)
  • DM Journal resource that persists game state across sessions
  • Database‑backed storage (SQLite or PostgreSQL)
  • Journal mirroring to JSON/Markdown files
  • Demonstrates step‑by‑step MCP tool creation with Spring AI

Use cases of EasyChatDM

  • Adding randomness and unpredictability to generative‑AI‑led D&D sessions
  • Logging and reviewing game history via the DM Journal
  • Learning how to build MCP tools with Spring AI

FAQ from EasyChatDM

Can I use a different database?

Yes. Set the system property easychatdm.db.type to postgres and provide the required PostgreSQL connection details (URL, username, password) to switch from the default SQLite to PostgreSQL.

Where is the data stored?

By default, the DM Journal is stored in a SQLite database file at ~/.easychatdm/easychatdm.db. You can change the base directory with the easychatdm.dir property or override the database path entirely.

What runtime does it require?

EasyChatDM is written in Spring AI MCP and runs on Java. It works with any MCP client, such as Claude Desktop.

What is the purpose of this project?

This project is educational – it demonstrates step‑by‑step how to create MCP server tools in Spring AI, with little focus on production‑grade code design.

More from Other