{"name":"temsor API","version":"1.0.0","description":"Exposes 43 production APIs as MCP tools across 6 families: Validation, PBX Search, Address, Calendar, Finance, Turkey. Turkish business data — every result is computed locally or derived from public official sources, with the source URL attached where it applies. Voice/call-ops agent tooling (call archive search, promises, redaction, whisper) shares the same envelope and metering. Agents: /v1/agents registers agents and runs dry-run transcripts with a deterministic eval gate; see Mission Control at /kontrol; these are HTTP control surfaces, not MCP tools. Traces: /v1/traces stores dry-run eval traces and records pause, human handoff, and resume intent; no live PSTN; idle $0. Idle $0 when quiet; no invented live PSTN. No personal-data lookups.","endpoint":"https://api.temsor.com/mcp","transport":"streamable-http","authentication":{"type":"bearer","description":"fk_live_… API key. Calls without a key run on a narrow per-IP demo quota."},"documentation":"https://api.temsor.com/docs","openapi":"https://api.temsor.com/openapi.json","categories":["Validation","PBX Search","Address","Calendar","Finance","Turkey"],"tools":[{"name":"email_verify","title":"E-mail Verification","description":"Checks an e-mail address: syntax, whether the domain can actually receive mail, disposable and role-account detection, and typo correction.","category":"Validation","credits":1},{"name":"iban_validate","title":"IBAN Validation","description":"Validates an IBAN from any of 70+ countries: checksum, country length and in-country account structure, and resolves the bank and branch codes.","category":"Validation","credits":1},{"name":"pbx_audio_chunk","title":"PBX Audio Chunk","description":"Notify an optional audio chunk / customer URI for a live or archived call (idle $0).","category":"PBX Search","credits":1},{"name":"pbx_calls","title":"PBX Recent Calls","description":"List recent calls with transfer path crumbs — site + customer archive browser.","category":"PBX Search","credits":1},{"name":"pbx_calls_get","title":"PBX Get Call","description":"Get one call by id with transfer graph — customer detail drawer.","category":"PBX Search","credits":1},{"name":"pbx_calls_graph","title":"Call Handoff Graph","description":"Handoff graph + transfer edges — who→whom→where the promise stuck (moat). Idle $0.","category":"PBX Search","credits":1},{"name":"pbx_dictionary","title":"PBX Domain Dictionary","description":"Managed SaaS domain dictionary (E4) — example packs thicken per pilot (tenant-scoped aliases). Boosts search + Fact extract. No invented premiums.","category":"PBX Search","credits":1},{"name":"pbx_dictionary_add","title":"PBX Dictionary Add Alias","description":"Add a synonym/alias (tenant-scoped or global demo) — E4 compounding thickens search boost + Fact extract. ≤60/hour/key → 429. Idle $0. No invented premiums.","category":"PBX Search","credits":1},{"name":"pbx_events","title":"Call Events Ingest","description":"Ingest call-ops events → open promises + transfer crumbs for search/orchestration. Optional HMAC. Idle $0 when no calls.","category":"PBX Search","credits":1},{"name":"pbx_facts","title":"PBX Facts List","description":"List extracted facts (IMEI, room, tariff…) from the durable index — filter by call_id, kind, domain, q.","category":"PBX Search","credits":1},{"name":"pbx_facts_get","title":"PBX Get Fact","description":"Get one extracted fact by id — detail drawer for site + customer.","category":"PBX Search","credits":1},{"name":"pbx_index_partial","title":"PBX In-Call Partial Index Upsert","description":"Upsert mid-call partial index (utterances → fact/promise hints). Path to ≤400ms whisper; ≤600/hour/key → 429; idle $0.","category":"PBX Search","credits":1},{"name":"pbx_index_partial_get","title":"PBX In-Call Partial Index Read","description":"GET mid-call partial index — accumulating facts/promises/snippets while live.","category":"PBX Search","credits":1},{"name":"pbx_ingest_transcript","title":"PBX Ingest Transcript","description":"Heuristic promise extractor from transcript text — creates open Promise docs (idle $0, no LLM).","category":"PBX Search","credits":1},{"name":"pbx_persons","title":"PBX Persons List","description":"Light CRM from call graph / facts — caller phones+names and extension identities seen on transfers.","category":"PBX Search","credits":1},{"name":"pbx_persons_get","title":"PBX Get Person","description":"Get one light-CRM identity by id — caller Person or derived extension.","category":"PBX Search","credits":1},{"name":"pbx_promises","title":"Open Call Promises","description":"List open/broken call promises for agent handoff tracking — hotel / MSP sales demo. Idle $0.","category":"PBX Search","credits":1},{"name":"pbx_promises_act","title":"Promise → Orchestra Closed Loop","description":"E1 moat: who→whom→promise → orchestra handoff intent (whisper/transfer/hold). Idle $0. No live PSTN. Own PBX = advanced footnote.","category":"PBX Search","credits":1},{"name":"pbx_promises_close","title":"PBX Close Promise","description":"Mark an open promise kept or broken with an optional privacy-safe note — makes the sales demo writable, not read-only. ≤60/hour/key → 429.","category":"PBX Search","credits":1},{"name":"pbx_promises_export","title":"PBX Promises Export","description":"Export open/broken promises as CSV or JSON — hotel / PBX-provider unclosed-promise sales list.","category":"PBX Search","credits":1},{"name":"pbx_promises_reopen","title":"PBX Reopen Promise","description":"Undo a kept/broken close — restore an open promise so the sales demo can reverse a mis-click. ≤60/hour/key → 429.","category":"PBX Search","credits":1},{"name":"pbx_redact","title":"PBX Redact","description":"Privacy-first erasure (default-on SaaS): clear derived index by id/phone; durable audit who/what/when + tenant scope. ≤30/hour/key → 429. Managed pointer only — not a legal deletion SLA.","category":"PBX Search","credits":1},{"name":"pbx_redact_audit","title":"PBX Redact Audit","description":"List recent erasure actions — who/what/when + tenant scope. Managed SaaS derived-index audit; not a legal deletion SLA.","category":"PBX Search","credits":1},{"name":"pbx_register","title":"PBX Register","description":"Register a pilot PBX; returns pbx_id + API key once (hashed at rest). ≤5/hour/IP → 429. Idle $0.","category":"PBX Search","credits":1},{"name":"pbx_search","title":"Voice Archive Search","description":"Agent archive search over call promises and facts — voice-Google for call-ops, not a receptionist bot. Idle $0.","category":"PBX Search","credits":1},{"name":"pbx_status","title":"PBX Status","description":"Control-plane status — promise/orchestra/search counts + idle $0. No DID sales.","category":"PBX Search","credits":1},{"name":"pbx_webhooks","title":"PBX Outbound Webhooks","description":"Register or list outbound webhooks — customer URL receives promise/fact/orchestra/redact events (HMAC if secret). POST write ≤30/hour/key → 429.","category":"PBX Search","credits":1},{"name":"pbx_webhooks_deliveries","title":"PBX Webhook Deliveries","description":"List last N outbound webhook deliveries (stub or live) — promise/fact/orchestra/redact/ping.","category":"PBX Search","credits":1},{"name":"pbx_whisper_status","title":"PBX Whisper RTP Status","description":"Capability: mode=stub|ready from TEMSOR_RTP_*. No live RTP on forge; idle $0.","category":"PBX Search","credits":0},{"name":"pbx_whisper_suggest","title":"PBX Live Whisper Suggest","description":"Live agent handoff cards (≤3): open promises/facts from in-call index. Idle $0. Lab: TEMSOR_RTP_LAB=1 → lab_latency_ms.","category":"PBX Search","credits":1},{"name":"phone_validate","title":"Phone Number Validation","description":"Validates and normalises any phone number to E.164, with structural checks for every country calling code.","category":"Validation","credits":1},{"name":"tr_address_parse","title":"Turkish Address Parser","description":"Splits a free-form Turkish address into neighbourhood, street, building, floor, flat, district, province and postcode.","category":"Address","credits":1},{"name":"tr_business_days","title":"Turkish Business Days","description":"Adds business days or counts them between two dates, accounting for Turkish public and religious holidays including half-day eves.","category":"Calendar","credits":1},{"name":"tr_iban_olustur","title":"Build Turkish IBAN","description":"Builds a Turkish IBAN from a 5-digit bank code and account number, computing ISO 7064 check digits.","category":"Finance","credits":1},{"name":"tr_invoice_build","title":"Turkish e-Invoice Builder","description":"Builds a UBL-TR e-Invoice or e-Archive XML document from plain JSON, computing every total and validating the parties.","category":"Finance","credits":3},{"name":"tr_invoice_parse","title":"Turkish e-Invoice (UBL-TR) Parser","description":"Turns a UBL-TR e-Invoice or e-Archive XML document into clean JSON: parties, line items, taxes and totals.","category":"Finance","credits":3},{"name":"tr_labor","title":"Turkish Severance, Notice & Leave","description":"Computes Turkish severance (kıdem), notice (ihbar) and annual-leave entitlement from service dates and the gross wage, using the official ceiling and minimum-wage tables for the given day.","category":"Turkey","credits":1},{"name":"tr_money_to_words","title":"Amount to Turkish Words","description":"Writes a monetary amount out in Turkish words, the way invoices, cheques and promissory notes require.","category":"Finance","credits":1},{"name":"tr_posta_kodu","title":"Turkish Postal Code","description":"Validates a 5-digit Turkish postal code and resolves the province from the first two digits (plate map).","category":"Validation","credits":1},{"name":"tr_qr_odeme","title":"Turkish FAST / TR Karekod Payload","description":"Builds a person-to-person TR Karekod (FAST) payment payload from IBAN, name and optional TRY amount. Text only — no PNG.","category":"Finance","credits":1},{"name":"tr_tebligat_clock","title":"Turkish Service-of-Process Clock","description":"Computes the deemed-received date and the HMK deadline (with holiday shifting) for a Turkish notification, from the date the underlying event actually happened.","category":"Turkey","credits":1},{"name":"tr_validate","title":"Turkish ID & Number Validation","description":"Validates Turkish national ID, tax number, IBAN, licence plate, IMEI, barcodes, KEP, MERSİS, postal code and ISBN from one endpoint, with type auto-detection.","category":"Validation","credits":1},{"name":"tr_vat","title":"Turkish VAT & Withholding","description":"Splits a Turkish amount into net, VAT and (optionally) withholding: who pays the seller, who remits the withheld VAT.","category":"Turkey","credits":1}]}