A Model Context Protocol (MCP) based police interrogation simulation server powered by OpenAI.
pnpm install
# Required environment variables
cp .env.example .env
# Start server
pnpm start
.env
file:
OPENAI_API_KEY=your_api_key_here
Configurable parameters in config.ts
:
GET /profile/:badgeNumber
curl http://localhost:3000/profile/1234
POST /interrogations/{suspectId}
{
"suspectName": "John Doe",
"pressureLevel": 75,
"crime": "Armed robbery",
"evidence": ["Fingerprint", "Security camera footage"]
}
POST /interrogations/{suspectId}/respond
{
"suspectName": "John Doe",
"officerStatement": "Your fingerprints were found at the crime scene!",
"guilt": 85,
"personality": "cowardly",
"previousResponses": ["I'm innocent!"]
}
# 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"]
}'
All endpoints include strong type checking and validation using Zod library:
feat/my-feature
or fix/issue-number
)Distributed under the MIT License.