LSPD Interrogation MCP Server

by ziyacivan

Integrations

  • Handles environment variable management for sensitive data like the OpenAI API key.

  • Utilizes GPT-3.5-turbo model to generate dynamic interrogation strategies, simulate suspect responses, and create realistic dialogue flows for police interrogation simulations.

  • Manages package dependencies for the MCP server installation and execution.

LSPD Interrogation MCP Server

A Model Context Protocol (MCP) based police interrogation simulation server powered by OpenAI.

📌 Key Features

  • MCP Integration:
    • Built using Model Context Protocol SDK
    • HTTP transport support
    • Dynamic resource management (officer-profile, conduct-interrogation)
  • OpenAI Integration:
    • Uses GPT-3.5-turbo model
    • Generates dynamic interrogation strategies
    • Simulates suspect responses
    • Creates realistic dialogue flows
  • Core Components:
    • Police officer profile management
    • Smart interrogation mechanics
    • Suspect behavior simulation
    • Crime type and evidence integration

🚀 Installation

pnpm install # Required environment variables cp .env.example .env # Start server pnpm start

⚙️ Configuration

.env file:

OPENAI_API_KEY=your_api_key_here

Configurable parameters in config.ts:

  • AI model selection
  • Maximum token count
  • Temperature parameter (creativity level)

🌐 API Endpoints

Officer Profile

GET /profile/:badgeNumber

curl http://localhost:3000/profile/1234

Start Interrogation

POST /interrogations/{suspectId}

{ "suspectName": "John Doe", "pressureLevel": 75, "crime": "Armed robbery", "evidence": ["Fingerprint", "Security camera footage"] }

Suspect Response

POST /interrogations/{suspectId}/respond

{ "suspectName": "John Doe", "officerStatement": "Your fingerprints were found at the crime scene!", "guilt": 85, "personality": "cowardly", "previousResponses": ["I'm innocent!"] }

🔍 Example Usage

# Get officer profile curl http://localhost:3000/profile/1234 # Start interrogation curl -X POST http://localhost:3000/interrogations/suspect_01 \ -H "Content-Type: application/json" \ -d '{ "suspectName": "John Doe", "pressureLevel": 80, "crime": "Drug trafficking", "evidence": ["Search records", "Confidential witness statement"] }'

✅ Data Validation

All endpoints include strong type checking and validation using Zod library:

  • Pressure Level: 0-100 (required)
  • Suspect Name: string format
  • Evidence: string array (optional)

🔒 Security

  • Sensitive data (OpenAI API key) managed through environment variables
  • HTTPS enforcement in production
  • Secure input handling with request validation

🤝 Contribution

  1. Fork the repository
  2. Create new branch (feat/my-feature or fix/issue-number)
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

📜 License

Distributed under the MIT License.

-
security - not tested
A
license - permissive license
-
quality - not tested

A Model Context Protocol server that simulates police interrogations, enabling users to create officer profiles and conduct dynamic interrogations with simulated suspect responses based on configurable parameters like pressure level, evidence, and crime type.

  1. 📌 Key Features
    1. 🚀 Installation
      1. ⚙️ Configuration
        1. 🌐 API Endpoints
          1. Officer Profile
          2. Start Interrogation
          3. Suspect Response
        2. 🔍 Example Usage
          1. ✅ Data Validation
            1. 🔒 Security
              1. 🤝 Contribution
                1. 📜 License
                  ID: 9oh2b9qewf