MCP Server
In brief
15 MCP tools at mcp.askmarcel.app: lookup, guided PAC, SKU provenance and Harness Beta session loop (Air/Water + Air/Air). JSON-RPC POST — no SSE.
Pick the right surface
Supported protocol: 2025-06-18. MCP spec 2026-07-28 is not the public contract yet.
Which API to choose?
REST v1 / v2 / Harness / MCP matrix: /api/docs/which-api
Server URL
Contractual host: https://mcp.askmarcel.app. Use only this dedicated MCP domain — not the internal rewrite on the app domain.
{
"mcpServers": {
"askmarcel": {
"url": "https://mcp.askmarcel.app",
"headers": {
"Authorization": "Bearer ak_live_..."
}
}
}
}The 15 tools
Manifest 1.3.0-beta.1: 10 GA tools + 5 session Beta tools (Harness v2).
- search_technical_docs — document search (≤ 10 excerpts)
- get_procedure — full procedure by chunk_id
- get_error_code — brand + error code lookup
- get_product_sheet — product sheet and specs
- get_pdf_page_snapshot — signed PDF page URL (5 min)
- diagnose — one-shot sourced lookup
- diagnose_guided — multi-turn guided PAC diagnostic
- diagnose_v2 — same lookup, strict SKU provenance (diagnostic null if no exact manual)
- resolve_model — resolve brand + model to a SKU (exact or alias)
- get_model_coverage — documentary flags for a resolved SKU
- start_diagnostic [Beta] — open a Harness session (quota on creation)
- respond_to_diagnostic [Beta] — typed observation or free text
- get_diagnostic [Beta] — read session projection
- close_diagnostic [Beta] — close with technician assessment
- get_diagnostic_summary [Beta] — deterministic exportable summary
Harness Beta — Air/Water + Air/Air
The five tools start_diagnostic, respond_to_diagnostic, get_diagnostic, close_diagnostic, get_diagnostic_summary are Beta channel: evolving hypotheses, discriminating action, citations when manufacturer proof applies, abstention otherwise. Families: PAC Air/Water 1.0.0 and PAC Air/Air 0.2.0 only.
Beta contract
release_channel=beta on session responses. No calibrated probability. Qualified HVAC professional required.
Transport
POST JSON-RPC 2.0 (initialize, tools/list, tools/call). GET returns public manifest. GET + Accept: text/event-stream returns 405 — Streamable HTTP clients must fall back to POST.
No SSE stream
GET + Accept: text/event-stream → 405. Streamable HTTP clients fall back to JSON-RPC POST. Any agent connects as a REST and/or MCP client — no dedicated connector.
Test the connection
curl -s -X POST https://mcp.askmarcel.app \
-H "Authorization: Bearer ak_live_..." \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'Quotas & billing
Pay-on-success: only successful business calls consume quota. Zod errors, not_found or out_of_scope do not debit.
