{"_id":"@cofa-probe/mcp-bridge","_rev":"2-1389b61ef766400fa70ff7443a39e862","name":"@cofa-probe/mcp-bridge","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.1":{"name":"@cofa-probe/mcp-bridge","version":"0.1.1","license":"UNLICENSED","_id":"@cofa-probe/mcp-bridge@0.1.1","maintainers":[{"name":"jungseok","email":"js.cho@bluehole.net"}],"homepage":"https://github.com/Jungduri/cofa-probe-mcp-bridge#readme","bugs":{"url":"https://github.com/Jungduri/cofa-probe-mcp-bridge/issues"},"bin":{"probe-mcp-bridge":"bin/probe-mcp-bridge.mjs","cofa-probe-mcp-bridge":"bin/probe-mcp-bridge.mjs"},"dist":{"shasum":"43f83497143cfd07cbcf9eeacf0bea45199e91b4","tarball":"https://registry.npmjs.org/@cofa-probe/mcp-bridge/-/mcp-bridge-0.1.1.tgz","fileCount":3,"integrity":"sha512-UI7gQ0RZhP3jFLbwLLjEgno0cYb2mgTJ7GEe3IC9qmkpZzjGST++5ZZJqMV8mA8STUB3Uwirz8GbpnmmgpPxlw==","signatures":[{"sig":"MEUCIArvHy3SFe1c2P6mA3FXOzw/T3xeoIGfLyeDu3ePo6XcAiEAzzpqk75m6w8Emw4q+Qr3pgN9J5HDpiTMNZdOjA+dU/M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15121},"type":"module","engines":{"node":">=20"},"gitHead":"6e5fef87856fdf32da04dd79030db0f16536b553","scripts":{"start":"node ./bin/probe-mcp-bridge.mjs"},"_npmUser":{"name":"jungseok","email":"js.cho@bluehole.net"},"repository":{"url":"git+https://github.com/Jungduri/cofa-probe-mcp-bridge.git","type":"git"},"_npmVersion":"10.9.2","description":"stdio MCP bridge that imports AI tool transcripts into COFA Probe.","directories":{},"_nodeVersion":"22.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-bridge_0.1.1_1779255361159_0.026285920975184007","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@cofa-probe/mcp-bridge","version":"0.1.2","description":"stdio MCP bridge that imports AI tool transcripts into COFA Probe.","type":"module","repository":{"type":"git","url":"git+https://github.com/Jungduri/cofa-probe-mcp-bridge.git"},"bin":{"cofa-probe-mcp-bridge":"bin/probe-mcp-bridge.mjs","probe-mcp-bridge":"bin/probe-mcp-bridge.mjs"},"scripts":{"start":"node ./bin/probe-mcp-bridge.mjs"},"publishConfig":{"access":"public"},"engines":{"node":">=20"},"license":"UNLICENSED","_id":"@cofa-probe/mcp-bridge@0.1.2","gitHead":"91d3b64829ea21d66a43e5cee22dcb4307796bfa","bugs":{"url":"https://github.com/Jungduri/cofa-probe-mcp-bridge/issues"},"homepage":"https://github.com/Jungduri/cofa-probe-mcp-bridge#readme","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-nWBYE7kVYnTHq4xodurGSCyc9mT/LTOLQDutb7W33m7egHiafPuksVydEWKOItxXmLFyn6l/3el8+QsDNRRfdw==","shasum":"687e29011671c9c01b33d4c1df276ea03431fa53","tarball":"https://registry.npmjs.org/@cofa-probe/mcp-bridge/-/mcp-bridge-0.1.2.tgz","fileCount":3,"unpackedSize":18201,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAaKbD2hzg4IkyDlVp5p1v1Z6zUalg2YFFGPKYcoBrdPAiEAp5nT6iM1cW6hheu/AkLhPPp+zmrolt2yk6A9G8uEKP0="}]},"_npmUser":{"name":"jungseok","email":"js.cho@bluehole.net"},"directories":{},"maintainers":[{"name":"jungseok","email":"js.cho@bluehole.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-bridge_0.1.2_1779356446706_0.5228447751479006"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-20T05:36:00.978Z","modified":"2026-05-21T09:40:46.931Z","0.1.1":"2026-05-20T05:36:01.365Z","0.1.2":"2026-05-21T09:40:46.839Z"},"bugs":{"url":"https://github.com/Jungduri/cofa-probe-mcp-bridge/issues"},"license":"UNLICENSED","homepage":"https://github.com/Jungduri/cofa-probe-mcp-bridge#readme","repository":{"type":"git","url":"git+https://github.com/Jungduri/cofa-probe-mcp-bridge.git"},"description":"stdio MCP bridge that imports AI tool transcripts into COFA Probe.","maintainers":[{"name":"jungseok","email":"js.cho@bluehole.net"}],"readme":"# COFA Probe MCP Bridge\n\nstdio MCP bridge for importing AI tool transcripts into COFA Probe.\n\n## MCP Host Config\n\n```json\n{\n  \"mcpServers\": {\n    \"cofa-probe\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@cofa-probe/mcp-bridge@latest\"],\n      \"env\": {\n        \"PROBE_MCP_BASE_URL\": \"https://cofa-probe-dev.krafton.ai\",\n        \"PROBE_MCP_ACCESS_ID\": \"cand_...\",\n        \"PROBE_MCP_SESSION_ID\": \"...\"\n      }\n    }\n  }\n}\n```\n\n## Tools\n\n- `probe_mcp_ping`: checks whether the configured session accepts MCP imports.\n- `probe_import_messages`: imports structured conversation messages.\n\nThe bridge uploads content to `/api/mcp/import`. It does not read the host app's\nfull conversation database by itself; MCP hosts must call `probe_import_messages`\nwith message text and the original timestamp for every message.\n\n`probe_import_messages` requires this shape:\n\n```json\n{\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"text\": \"오늘 날씨 어때 1\",\n      \"timestamp\": \"2026-05-15T05:46:05.000Z\"\n    },\n    {\n      \"role\": \"assistant\",\n      \"text\": \"어느 지역인가요?\",\n      \"timestamp\": \"2026-05-15T05:46:08.000Z\",\n      \"modelId\": \"claude-sonnet-4-6\"\n    }\n  ],\n  \"externalThreadId\": \"optional-source-thread-id\"\n}\n```\n\nPlain text transcript import is intentionally not exposed. If a host cannot\nprovide per-message timestamps, it should not import that conversation through\nthis bridge.\n\nBefore every import, the bridge calls `probe_mcp_ping` and estimates the clock\noffset between the MCP host and the Probe server using the ping round-trip\nmidpoint. It sends calibrated message timestamps plus this metadata:\n\n```json\n{\n  \"clockCalibration\": {\n    \"method\": \"ping-midpoint-v1\",\n    \"clientStartedAt\": \"2026-05-15T05:46:10.100Z\",\n    \"clientFinishedAt\": \"2026-05-15T05:46:10.180Z\",\n    \"clientMidpointAt\": \"2026-05-15T05:46:10.140Z\",\n    \"serverCheckedAt\": \"2026-05-15T05:46:10.150Z\",\n    \"roundTripMs\": 80,\n    \"estimatedOffsetMs\": 10\n  }\n}\n```\n\nEach message keeps `originalTimestamp` and sends `timestamp` after calibration.\n\n`PROBE_MCP_BASE_URL` is required and must use HTTPS. `http://localhost` is\naccepted only for local development.\n\nOn macOS, the bridge loads certificates from the system and login keychains in\naddition to Node's bundled CA list. This lets managed company devices reuse\ntheir installed corporate root CA without adding certificate paths to the MCP\nhost config. `PROBE_MCP_CA_CERTS` can point to a PEM bundle for local debugging.\n\n`PROBE_MCP_TOOL` is optional. Leave it unset for the generic MCP host parser, or\nset it to `cursor`, `claude_desktop`, or `cline` only when uploading one of those\napp-specific raw log formats.\n","readmeFilename":"README.md"}