Skip to main content
Glama

title: Murder Mystery MCP Server emoji: 🕵️ colorFrom: indigo colorTo: red sdk: gradio sdk_version: "5.29.1" app_file: demo.py pinned: false tags:

  • building-mcp-track-creative

  • mcp

  • mcp-server

  • game-engine

  • murder-mystery

  • agents

  • tools

  • resources


🕵️ Murder Mystery MCP Server

🎉 MCP 1st Birthday Hackathon — Track 1: Building MCP (building-mcp-track-creative)

A complete murder mystery game engine exposed as a Model Context Protocol (MCP) server. Generate procedural mysteries, interrogate AI suspects, search for clues, and solve crimes — all through MCP tools that any AI agent can use.


📺 Demo Video

👉 Watch the Demo Video (Required for submission)


🐦 Social Media

🐦 See the announcement on X/Twitter (Required for submission)


👥 Team

HuggingFace Username

@YOUR_HF_USERNAME


🚀 Quick Start

Use with Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "murder-mystery": {
      "command": "python",
      "args": ["-m", "murder_mystery_mcp"],
      "cwd": "/path/to/murder-mystery-mcp",
      "env": {
        "OPENAI_API_KEY": "your-key",
        "HF_TOKEN": "your-hf-token",
        "ELEVENLABS_API_KEY": "your-elevenlabs-key"
      }
    }
  }
}

Then just chat with Claude:

  • "Start a new murder mystery game"

  • "Talk to the butler about his alibi"

  • "Search the library for clues"

  • "I accuse Lady Ashworth of the murder!"

Use with Cursor

Add the same config to Cursor's MCP settings and use the tools in your AI chat.


🛠️ MCP Tools

Game Flow Tools

Tool

Description

start_game

Start a new procedurally-generated murder mystery

get_game_state

Get current game state (suspects, clues, progress)

interrogate_suspect

Question a suspect (they have memory + emotions!)

search_location

Search a location for clues

make_accusation

Formally accuse someone of the murder

Investigation Tools (RAG-Powered)

Tool

Description

search_memory

Search all past conversations for relevant statements

find_contradictions

Check if a suspect's story contradicts past statements

get_cross_references

Find what OTHER suspects said about someone

get_investigation_hint

Get a hint if you're stuck

get_timeline

See the investigation timeline

Image Generation Tools

Tool

Description

generate_portrait

Generate a suspect's portrait

generate_scene

Generate a location/scene image

generate_title_card

Generate the mystery's opening scene


📚 MCP Resources

URI

Description

mystery://state

Current game state (JSON)

mystery://suspects

List of suspects with public info

mystery://clues

Discovered clues

mystery://timeline

Investigation timeline

mystery://locations

Available and searched locations


🎮 How It Works

1. Mystery Generation

When you start a game, the server generates:

  • A unique victim with background story

  • 4-5 suspects with personalities, secrets, and alibis

  • One guilty suspect (the AI won't tell you who!)

  • Clues scattered across locations

  • An "encounter graph" showing who was really where

2. The Oracle Pattern

The MCP server uses a secure "Oracle" architecture:

  • The Mystery Oracle knows the truth (who's guilty, all secrets)

  • The tools only return what the player should see

  • Even the AI using the tools can't "cheat" — it discovers the truth through gameplay

3. Suspect Emotions

Suspects aren't static — they have:

  • Trust (0-100%): How much they trust the detective

  • Nervousness (0-100%): How anxious they are

  • Memory: They remember past conversations and stay consistent

  • Reveals: High trust → reveal locations; high pressure → reveal secrets

4. RAG Memory

All conversations are indexed in a vector store:

  • Search for what was said about any topic

  • Detect contradictions in testimony

  • Cross-reference what suspects said about each other


🏗️ Architecture

┌──────────────────────────────────────────────────────────────────┐
│                   MURDER MYSTERY MCP SERVER                       │
├──────────────────────────────────────────────────────────────────┤
│                                                                   │
│  TOOLS (what agents can call):                                    │
│  ├─ start_game          - Generate new mystery                    │
│  ├─ interrogate_suspect - Talk to suspects                        │
│  ├─ search_location     - Find clues                              │
│  ├─ make_accusation     - Accuse the murderer                     │
│  ├─ search_memory       - RAG search past statements              │
│  ├─ find_contradictions - Detect lies                             │
│  ├─ get_cross_references- What others said about someone          │
│  ├─ generate_portrait   - Create character art                    │
│  └─ generate_scene      - Create location art                     │
│                                                                   │
│  RESOURCES (what agents can read):                                │
│  ├─ mystery://state     - Full game state                         │
│  ├─ mystery://suspects  - Suspect list                            │
│  ├─ mystery://clues     - Discovered clues                        │
│  └─ mystery://timeline  - Investigation timeline                  │
│                                                                   │
│  ┌─────────────────────────────────────────────────────────────┐ │
│  │                    MYSTERY ORACLE (truth)                    │ │
│  │  • Knows who the murderer is                                │ │
│  │  • Knows all suspects' secrets                              │ │
│  │  • Validates accusations                                    │ │
│  │  • Generates consistent suspect responses                   │ │
│  │  • NEVER exposes truth to the agent directly               │ │
│  └─────────────────────────────────────────────────────────────┘ │
│                                                                   │
│  ┌─────────────────────────────────────────────────────────────┐ │
│  │                    RAG MEMORY (partitioned)                  │ │
│  │  • Per-suspect conversation history                         │ │
│  │  • Semantic search across all statements                    │ │
│  │  • Contradiction detection                                  │ │
│  └─────────────────────────────────────────────────────────────┘ │
│                                                                   │
└──────────────────────────────────────────────────────────────────┘

⚙️ Configuration

Environment Variable

Required

Description

OPENAI_API_KEY

Yes

For mystery generation and LLM responses

HF_TOKEN

No

For image generation (optional)

ELEVENLABS_API_KEY

No

For voice synthesis (optional, used by UI)


🎯 Game Rules

  • 3 wrong accusations = Game Over (you're fired from the case)

  • Win: Correctly identify the murderer with evidence

  • Suspects won't reveal secrets easily — build trust or apply pressure!

  • Clues are hidden in locations — search everywhere

  • Cross-reference testimony to find contradictions



📜 License

MIT

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DigitalBoopLtd/murder-mystery-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server