Murder Mystery MCP Server
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 a new procedurally-generated murder mystery |
| Get current game state (suspects, clues, progress) |
| Question a suspect (they have memory + emotions!) |
| Search a location for clues |
| Formally accuse someone of the murder |
Investigation Tools (RAG-Powered)
Tool | Description |
| Search all past conversations for relevant statements |
| Check if a suspect's story contradicts past statements |
| Find what OTHER suspects said about someone |
| Get a hint if you're stuck |
| See the investigation timeline |
Image Generation Tools
Tool | Description |
| Generate a suspect's portrait |
| Generate a location/scene image |
| Generate the mystery's opening scene |
š MCP Resources
URI | Description |
| Current game state (JSON) |
| List of suspects with public info |
| Discovered clues |
| Investigation timeline |
| 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 |
| Yes | For mystery generation and LLM responses |
| No | For image generation (optional) |
| 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
š Related Projects
Murder Mystery Detective Game ā Full Gradio UI using this MCP server (Track 2 submission)
š License
MIT