npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

rpg-mcp-server

v1.3.2

Published

LLM-driven RPG game server using MCP protocol

Downloads

170

Readme

RPG MCP Server

An immersive Role-Playing Game server built on the Model Context Protocol (MCP), designed to work with AI assistants like Claude to create interactive storytelling experiences.

Features

🎮 Game Tools

The server provides 7 core tools for building and managing RPG games:

  1. createGame - Initialize a new RPG game

    • Set up initial game state (characters, world, inventory, etc.)
    • Auto-generates unique game ID
  2. updateGame - Update game state

    • Supports nested field paths (e.g., characters[0].level, world.location)
    • Real-time change tracking with Delta system
    • Game Over Support: If a state update results in game over (e.g., HP reaches 0, bad ending), set isGameOver=true and provide a gameOverReason. The server will return a special Game Over UI with an empathetic explanation and suggestions for improvement.
  3. getGame - Retrieve current game state

    • Access complete game state at any time
  4. progressStory - Advance the narrative

    • Record current situation and events
    • Manage narrative flow
  5. promptUserActions - Present action choices to users

    • Dynamic Choices: Always present 2-4 options that mix positive and negative outcomes for dynamic, engaging gameplay. Each option should have distinct consequences and risk/reward tradeoffs.
    • Generate interactive UI
    • Web-based action selection interface
  6. selectAction - Process user selections

    • Apply chosen actions to game state
    • Automatically record game history
  7. selectRestart - Restart the game after game over

    • Called when player clicks Restart button on Game Over screen
    • Provides game summary and context for creating a new game
    • AI agent receives guidance to create a contextually relevant new adventure

🎯 User Interaction

Basic Game Flow

createGame → progressStory → promptUserActions → selectAction → updateGame → progressStory → ...

Game Over & Restart Flow

When a game ends (e.g., character HP reaches 0 or story reaches an ending):

updateGame (isGameOver=true) → Game Over UI displayed →
User clicks Restart button → selectRestart →
AI creates new game with context → progressStory → ...

The restart flow includes:

  • Context Preservation: Previous game summary is provided to the AI
  • AI-Suggested Continuation: AI can create thematically related or evolved adventures
  • One-Click Restart: No manual intervention needed from the player
  • Empathetic Messaging: Game Over screen explains what happened and suggests improvements

Interactive UI

  • Web-based Selection Interface: Beautiful UI automatically generated with story progression
  • Real-time Change Display: Visual feedback for recent changes via Delta system
  • Game Over Screen: When the game ends, a special UI explains why, what could have been done differently, and includes a Restart button
  • Game History: Automatically saves last 10 situation-choice records
  • Restart Button: Interactive button on Game Over screen that triggers selectRestart tool

Example Game Scenario

// 1. Create Game
{
  "title": "Wizard's Adventure",
  "characters": [
    {"name": "Elara", "level": 1, "hp": 100, "mp": 50, "class": "Wizard"}
  ],
  "world": {"location": "Magic Academy", "time": "morning", "weather": "sunny"},
  "inventory": [{"name": "Magic Staff", "type": "weapon"}]
}

// 2. Progress Story
"Elara discovers an ancient spellbook in the academy library..."

// 3. Present Choices (always mix positive/negative outcomes)
[
  "Read the spellbook (may gain power, but risk a curse)",
  "Tell the professor (safe, but lose a chance for secret knowledge)",
  "Leave it where it is (avoid risk, but miss opportunity)",
  "Try to sell it secretly (potential reward, but risk being caught)"
]

// 4. Update game state after user selection
"characters[0].hp": 0, // triggers game over
"isGameOver": true,
"gameOverReason": "Elara triggered a powerful curse from the spellbook and lost all HP. If you had chosen to consult the professor or left the book alone, you might have avoided this fate."

MCP Client Requirements

Essential Requirements

  • MCP Protocol Support: MCP SDK 0.5.0 or higher
  • MCP-UI Integration: HTML resource rendering support
  • Tool Execution: Ability to execute all 6 game tools

Recommended Clients

  • Claude Desktop (officially supported)
  • MCP-UI compatible clients
  • Alternative: synaptic-flow and other MCP-UI compatible clients

Claude Desktop Setup

Step 1: Locate Configuration File

Platform-specific config file locations:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Step 2: Edit Configuration File

{
  "mcpServers": {
    "rpg-game-server": {
      "command": "npx",
      "args": ["rpg-mcp-server"],
      "env": {
        "NODE_ENV": "production"
      }
    }
  }
}

Step 3: Restart Claude Desktop

Completely quit and restart Claude Desktop to apply the configuration.

Step 4: Test the Setup

Hi! Can you create a fantasy RPG game for me?

Installation & Usage

Global Installation (Recommended)

npm install -g rpg-mcp-server

Local Development

git clone <repository-url>
cd rpg-mcp-server
npm install
npm run build
npm start

Testing with MCP Inspector

npm run inspector

Technology Stack

  • TypeScript - Type safety and developer experience
  • MCP SDK - Model Context Protocol implementation
  • MCP-UI - Interactive web UI generation
  • Node.js - Runtime environment

System Requirements

  • Node.js 18.0.0 or higher
  • npm 9.0.0 or higher
  • MCP-compatible client

License

MIT License - see LICENSE file for details.