{"name":"temsor API","version":"1.0.0","description":"Exposes 68 production APIs as MCP tools across 10 families: Validation, Finance, AI Infrastructure, PBX Search, Compliance, Time Series, Shipping, Address, Calendar, Turkey. Turkey and EU business data — every result is computed locally or derived from public official sources, with the source URL attached where it applies. 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","Finance","AI Infrastructure","PBX Search","Compliance","Time Series","Shipping","Address","Calendar","Turkey"],"tools":[{"name":"bic_validate","title":"SWIFT/BIC Validation","description":"Checks a SWIFT/BIC against ISO 9362 structure (8 or 11 characters), splits bank/country/location/branch, and names well-known institutions.","category":"Validation","credits":1},{"name":"container_validate","title":"ISO 6346 Container Number","description":"Validates an ISO 6346 freight-container number: owner code, category letter, serial and check digit.","category":"Validation","credits":1},{"name":"creditor_ref","title":"RF Creditor Reference","description":"Validates or generates an ISO 11649 RF creditor reference (mod-97 check digits).","category":"Finance","credits":1},{"name":"ean_gtin","title":"GTIN / EAN Check Digit","description":"Validates GTIN-8, UPC-A (12), EAN-13 and GTIN-14 check digits for retail barcodes.","category":"Validation","credits":1},{"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":"eu_vat_rates","title":"EU VAT Rates","description":"Dated EU-27 VAT rates (standard, reduced, super-reduced, parking) plus the Union OSS threshold. Not a goods classification.","category":"Validation","credits":1},{"name":"eu_vat_validate","title":"EU VAT Number Validation","description":"Validates an EU VAT number against the official VIES register, with per-country format checks and honest handling of upstream outages.","category":"Validation","credits":2},{"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":"id_mrz","title":"MRZ Check Digits","description":"Parses ICAO 9303 TD1/TD3 MRZ and verifies check digits — format check, not identity proof.","category":"Validation","credits":1},{"name":"isbn_validate","title":"ISBN Validate & Convert","description":"Validates ISBN-10 and ISBN-13 check digits and converts between them when the 978 prefix allows it.","category":"Validation","credits":1},{"name":"isin_validate","title":"ISIN Validation","description":"Validates an ISIN (ISO 6166): country code, national identifier and the letter-aware check digit.","category":"Validation","credits":1},{"name":"lei_lookup","title":"LEI Lookup","description":"Looks up a Legal Entity Identifier in the GLEIF register: legal name, registration status, country, and BIC.","category":"Validation","credits":2},{"name":"lei_validate","title":"LEI Validation","description":"Validates a 20-character Legal Entity Identifier (ISO 17442) with the ISO 7064 mod-97 check digits.","category":"Validation","credits":1},{"name":"mcp_index","title":"MCP Tool Surface Index","description":"Searchable, dated archive of what every public MCP server actually exposes — tool definitions, daily change feed, and rug-pull detection.","category":"AI Infrastructure","credits":1},{"name":"model_archive","title":"LLM Price & Lifecycle Archive","description":"Dated archive of LLM prices, context windows, announced retirement dates and quiet delistings across 400+ models and 50+ providers.","category":"AI Infrastructure","credits":1},{"name":"model_drift","title":"LLM Endpoint Drift","description":"Independent daily record of what changed behind a provider endpoint: which alias resolved to which model, and when behaviour shifted.","category":"AI Infrastructure","credits":1},{"name":"pay_epc_qr","title":"EPC QR Payload","description":"Builds an EPC069-12 v3.1 V2 (002) SCT payload. Does not send money; returns text only, no PNG.","category":"Finance","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_bridge_multi_agent","title":"PBX Multi-Agent Bridge","description":"Record virtual multi-agent bridge intent + shared memory hint (open promises). Idle $0, no live Asterisk.","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":"PBX Call Graph / Transfers","description":"GET call graph + transfer edges for a call — who→whom→where the promise stuck (moat).","category":"PBX Search","credits":1},{"name":"pbx_dictionary","title":"PBX Domain Dictionary","description":"Domain dictionary v1 (hotel: room type, AC, check-out; PBX providers: tariff, IMEI, refund) — boosts search + Fact extract; includes pilot aliases.","category":"PBX Search","credits":1},{"name":"pbx_dictionary_add","title":"PBX Dictionary Add Alias","description":"Add a synonym/alias to the domain dictionary (pbx-scoped or global demo) — compounds search boost + Fact extract. ≤60/hour/key → 429. Idle $0.","category":"PBX Search","credits":1},{"name":"pbx_events","title":"PBX Events","description":"Ingest Asterisk programming-interface (ARI) / Stasis (call-app channel) events. Optional x-temsor-pbx-key or HMAC-SHA256 request signature. Body ≤256 KiB → 429. 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 TR promise extractor from transcript text — creates open Promise docs (idle $0, no LLM).","category":"PBX Search","credits":1},{"name":"pbx_night_twin_last","title":"PBX Night Twin Last Report","description":"GET last gece-ikizi report persisted on forge volume (null if never run). Idle $0.","category":"PBX Search","credits":1},{"name":"pbx_night_twin_run","title":"PBX Night Twin Run","description":"Night scan: open promises older than N hours → unresolved candidates (iptal/iade/söz). ≤20/hour/key → 429. Idle $0, no LLM.","category":"PBX Search","credits":1},{"name":"pbx_orchestra_act","title":"PBX ARI Orchestra Act","description":"Query→act: whisper / hold / transfer / pci_stop / snoop. Records intent; optional customer Stasis webhook. ≤120/hour/key → 429. No DID sales.","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":"PBX Open Promises","description":"List broken/open promises from the call graph — the hotel / PBX-provider sales demo list.","category":"PBX Search","credits":1},{"name":"pbx_promises_close","title":"PBX Close Promise","description":"Mark an open promise kept or broken with an optional KVKK-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":"One-command KVKK forget: clear derived index (promises/facts/partial/audio pointers) by id or phone; durable audit (who/what/when + scope). ≤30/hour/key → 429. Raw audio URI stays on customer PBX.","category":"PBX Search","credits":1},{"name":"pbx_redact_audit","title":"PBX Redact Audit","description":"List recent KVKK forget actions — who/what/when + scope (call_id|pbx_id|promise_id). Raw audio stays on customer PBX.","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":"PBX Search","description":"Archive search over call promises and facts — voice-Google for the PBX, not a receptionist bot.","category":"PBX Search","credits":1},{"name":"pbx_status","title":"PBX Status","description":"Control-plane status for a registered PBX — counts + idle. No DID sales.","category":"PBX Search","credits":1},{"name":"pbx_synthetic_run","title":"PBX Synthetic Caller Run","description":"Load demo: sample call utterances → promise extractor → stats (calls, promises_open). ≤10/hour/key → 429. Idle $0, no LLM/PSTN.","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_suggest","title":"PBX Live Whisper Suggest","description":"Demo: ≤3 context cards; prefers in-call partial index when present — mock <400ms; idle $0.","category":"PBX Search","credits":1},{"name":"phone_validate","title":"Phone Number Validation","description":"Validates and normalises a phone number to E.164, classifies the line type, and resolves the province for Turkish landlines.","category":"Validation","credits":1},{"name":"sanctions_screen","title":"Sanctions Screening","description":"Screens a name against six official sanctions lists — US OFAC, UN, EU, UK OFSI, Switzerland SECO and Canada — with transliteration-aware fuzzy matching.","category":"Compliance","credits":5},{"name":"series_history","title":"Time Series History","description":"Returns the accumulated history of public data series with change statistics and a source receipt for every point.","category":"Time Series","credits":2},{"name":"shipping_identify","title":"Tracking Number Identification","description":"Identifies which carrier a tracking number belongs to, validates it where a checksum exists, and returns the canonical tracking link.","category":"Shipping","credits":1},{"name":"tin_validate","title":"Tax Identifier Validation","description":"Validates a tax identifier for 25+ countries: checksum where the algorithm is public, format-only where it is not. Country is required.","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_fuel_prices","title":"Turkey Fuel Prices","description":"Petrol, diesel and heating-oil pump prices for all 81 Turkish provinces, including the price in force on any past date.","category":"Time Series","credits":2},{"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},{"name":"uuid_validate","title":"UUID Validate","description":"Validates UUID structure and reports version (1–5, 7) and RFC 4122 variant bits. Deterministic.","category":"Validation","credits":1},{"name":"vin_validate","title":"VIN Validation","description":"Validates a 17-character VIN: forbidden letters, ISO 3779 check digit, WMI region/manufacturer, model year and plant.","category":"Validation","credits":1}]}