EasyChatDM

MCP.Pizza Chef: cote

EasyChatDM is an MCP server offering example tools for playing Dungeons & Dragons with generative AI. It provides random tables and oracles to generate yes/no answers, descriptions, events, and NPCs, introducing uncertainty and dynamic storytelling elements. Designed primarily for educational purposes, it demonstrates how to create simple MCP server tools using Spring AI MCP, focusing on clarity over code design quality. Compatible with MCP clients like Claude desktop, it enables AI-driven tabletop RPG experiences.

Use This MCP server To

Generate random yes/no answers for D&D scenarios Create dynamic NPC descriptions during gameplay Introduce random events and plot twists in campaigns Provide oracle tables for game masters to use Demonstrate building MCP server tools with Spring AI MCP Integrate AI-driven randomness into tabletop RPG sessions

README

EasyChatDM - Demonstrates creating a simple MCP Server tools

Example MCP Server tools for playing D&D with generative AIs. These tools are oracles that are used to determine random yes/no questions but also descriptions, events, NPCs, etc. They are " random tables" to use when you want to introduce some uncertainty, twists and turns, and randomness to your gaming. This project is for educational purposes so little attention is given to good code design.

These tools are MCP Server tools that will work with Claude desktop and other MCP Clients. They're written in Spring AI MCP. This project is for education, so no consideration is given to good design. Instesd, the code is written to make it easy to follow step-by-step how to create tools.

Running it

You should copy over the contents of contents of src/main/easychatdmdir/prompts/ to ~/.easychatdm. These are files for prompts, oracles, etc. uses.

Acknowledgements

More

See the ChatDM project for a more complex, feature-ful somewhat better designed version of this EasyChatDM.

Here are some videos going over the project:

  1. Part one of a video series where I build a very simple MCP too-land.
  2. In part two of the video series where I build a file-based oracle and go over how to use the logs Claude makes and start doing your own logging.
  3. In part three, I build an MCP Resource to serve as a DM Journal to persist game information between play sessions.
  4. Finally, I get around to making an MCP Promopt, which is really exciting. This is the first glimpse at something that feels "agentic."

Keep an eye on the playlist for the rest of the videos as they come out.

References

  • Enabling developer mode in Claude desktop
  • The ChatDM project - more sophisticated ChatDM tool that's better designed, has more tools, etc.
  • Dan Vega's MCP examples.
  • Plot Unfolding Machine - some prompts are based on JeansenVaar's PUM system, which is CC BY-NC-SA 4.0.
  • My experience playing D&D with ChatGPT and generative AI - video notebook of how I play D&D with the AIs.

EasyChatDM FAQ

How do I set up EasyChatDM prompts and oracles?
Copy the contents of src/main/easychatdmdir/prompts/ to ~/.easychatdm to use the provided prompt and oracle files.
Is EasyChatDM designed for production use?
No, it is primarily an educational project focusing on demonstrating MCP server tool creation, not production-ready code.
Which MCP clients are compatible with EasyChatDM?
It works with MCP clients like Claude desktop and others supporting the MCP protocol.
What programming framework is EasyChatDM built with?
EasyChatDM is written using Spring AI MCP, a framework for building MCP servers.
Can EasyChatDM generate complex story elements?
Yes, it can generate descriptions, events, NPCs, and random yes/no answers to enrich gameplay.
Does EasyChatDM require special configuration?
Beyond copying prompt files to the user directory, no complex configuration is needed for basic use.
What is the main educational value of EasyChatDM?
It teaches how to create simple MCP server tools and integrate AI-driven randomness into games.