Server implementing MCP (Model Context Protocol) to process .jsonl transcripts
(Claude, ChatGPT exports, etc.) and generate Problem-Based Learning (PBL) logs in Markdown under docs/.
⚡ Turn raw AI conversations into structured, reusable knowledge.
This server:
- 📥 Parses
.jsonltranscripts - 🔍 Analyzes turns, errors, and structure
- 🧩 Extracts meaningful learning insights (PBL-style)
- 📝 Generates clean Markdown logs inside
docs/
npm install
npm run startServer endpoint:
http://localhost:3000/mcp
- Initialize session
- (Optional) Confirm initialization
- Call tools
👉 Think of it like a stateful API session
transcript_health→ Quick diagnostics of transcript integritypbl_parse_jsonl→ Parses and structures transcript datapbl_export_markdown→ Generates a PBL learning log in Markdown
curl -i -X POST http://localhost:3000/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-03-26",
"capabilities": {},
"clientInfo": {
"name": "curl-client",
"version": "1.0.0"
}
}
}'👉 Save the mcp-session-id from response headers.
curl -i -X POST http://localhost:3000/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H 'mcp-session-id: YOUR_SESSION_ID' \
-d '{
"jsonrpc": "2.0",
"method": "notifications/initialized",
"params": {}
}'curl -i -X POST http://localhost:3000/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H 'mcp-session-id: YOUR_SESSION_ID' \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "pbl_parse_jsonl",
"arguments": {
"inputPath": "/path/to/transcript.jsonl"
}
}
}'Returns:
- Summary (lines, turns, errors)
- Structured data (
turns,preview, etc.)
curl -i -X POST http://localhost:3000/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-H 'mcp-session-id: YOUR_SESSION_ID' \
-d '{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "pbl_export_markdown",
"arguments": {
"inputPath": "/path/to/transcript.jsonl",
"outputPath": "docs/pbl/my-learning-log.md",
"title": "Learning Log - Sprint 1",
"projectName": "My MCP Server"
}
}
}'- If
outputPathis NOT provided:
docs/pbl/<input-file-name>-pbl.md
-
Security restriction:
- Only paths inside
docs/are allowed
- Only paths inside
-
docs/is ignored by Git (.gitignore)
npx mcp-transcriptRuns MCP over stdio (perfect for local integrations / Codex workflows)
PORT→ default3000MCP_PATH→ default/mcpALLOWED_ORIGINS→ CSVSESSION_TTL_MSRATE_LIMITRATE_WINDOW_MS
Working with AI generates a LOT of knowledge… but it’s messy.
This tool helps you:
- Convert conversations → learning artifacts
- Build personal knowledge bases
- Track problem-solving evolution
- Reuse insights instead of losing them