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.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"easychatdm": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
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.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in education / entertainment
The official MCP Server for the Mux API
A Model Context Protocol server for searching and analyzing arXiv papers
MCP server for NotebookLM - Let your AI agents (Claude Code, Codex) research documentation directly with grounded, citation-backed answers from Gemini. Persistent auth, library management, cross-client sharing. Zero hallucinations, just your knowledge base.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
MCP Security Weekly
Get CVE alerts and security updates for EasyChatDM and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
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. Instead, the code is written to make it easy to follow step-by-step how to create tools.
You should copy over the contents of contents of src/main/easychatdmdir/prompts/ to ~/.easychatdm. These are files for prompts, oracles, etc. uses.
The DM Journal now persists to a database instead of plain JSON files. Local runs default to SQLite with the database file stored under ~/.easychatdm/easychatdm.db. Switching between SQLite and PostgreSQL is controlled entirely through system properties or environment variables.
| Property | Default | Description |
|---|---|---|
easychatdm.dir | ${user.home}/.easychatdm | Base directory for prompts/oracles and, for SQLite, the database file location. |
easychatdm.db.type | sqlite | Selects sqlite (local file) or postgres (remote database). |
easychatdm.db.sqlite.path | (derived from easychatdm.dir) | Overrides the full path to the SQLite database. If set to a directory, the file name below is appended. |
easychatdm.db.sqlite.file-name | easychatdm.db | Name used when creating the SQLite database under the resolved directory. |
easychatdm.db.sqlite.pool-size | 1 | HikariCP pool size when using SQLite (typically keep at 1). |
easychatdm.db.postgres.url | (required when db.type=postgres) | JDBC URL for the PostgreSQL instance. |
easychatdm.db.postgres.username | (required when db.type=postgres) | Database username. |
easychatdm.db.postgres.password | (empty string) | Database password. |
easychatdm.db.postgres.pool-size | 4 | HikariCP pool size when using PostgreSQL. |
easychatdm.journal.export-files | true for SQLite, false for Postgres | Mirrors journal contents to JSON/Markdown files when enabled. |
For Cloud Foundry (or any remote deployment) set the system properties with JAVA_OPTS, for example:
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}
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:
Keep an eye on [the pla