# com.temsor/api

Turkey & EU business data: validation, sanctions screening, parsing, FX and fuel price history

- **Type:** MCP server
- **Trust:** 30/100 (D), scored on the content rubric
- **Verification:** community-indexed — nobody has claimed this listing
- **Version:** 1.0.0
- **Author:** com.temsor
- **License:** Unknown
- **Endpoints:** streamable-http https://api.temsor.com/mcp
- **Source:** https://api.temsor.com/docs
- **Endpoint health:** reachable (last checked 2026-09-17T21:45:51.105Z, 4 samples) — uptime is not a security property and is not part of the trust score
- **Compatible clients:** claude-code, cursor, copilot, chatgpt, gemini (basis: transport)

## Trust

30/100 (D), scored on the content rubric
- Publisher verified: no
- Install scripts: suspicious script found
- Prompt-injection scan: findings present
- Obfuscation scan: clean
- Evidence age: 1 day

## Security scan

- **Status:** warnings
- **Scanned:** 2026-09-17T21:45:51.105Z
- **Version scanned:** live
- **CVEs:** no coverage — this entry has no package coordinates to query OSV against, so "no known CVEs" is NOT asserted for it.
**Findings**
- injection-shaped content (note) in the `ai_messages` tool: References the system prompt
- injection-shaped content (warning) in the `pbx_register` tool: Exfiltration-shaped instruction
- injection-shaped content (warning) in the `pbx_webhooks` tool: Exfiltration-shaped instruction

## Tools

72 declared. Observed from a live `tools/list` probe.
- `ai_messages` — Single-balance access to upstream LLMs; billed per token, no subscription.
- `bic_validate` — Checks a SWIFT/BIC against ISO 9362 structure (8 or 11 characters), splits bank/country/location/branch, and names well-known institutions. Payment files reject
- `container_validate` — Validates an ISO 6346 freight-container number: owner code, category letter, serial and check digit. Bills of lading and terminal scans mistype container number
- `creditor_ref` — Validates or generates an ISO 11649 RF creditor reference (mod-97 check digits). SEPA credit transfers carry an RF creditor reference so remittance data survive
- `ean_gtin` — Validates GTIN-8, UPC-A (12), EAN-13 and GTIN-14 check digits for retail barcodes. Retail GTINs share one GS1 check-digit algorithm with length-dependent packin
- `email_verify` — Checks an e-mail address: syntax, whether the domain can actually receive mail, disposable and role-account detection, and typo correction. No SMTP probing. Mos
- `eu_vat_rates` — Dated EU-27 VAT rates (standard, reduced, super-reduced, parking) plus the Union OSS threshold. Not a goods classification. Invoice software that hard-codes “Ge
- `eu_vat_validate` — Validates an EU VAT number against the official VIES register, with per-country format checks and honest handling of upstream outages. VIES is free but unreliab
- `iban_validate` — Validates an IBAN from any of 70+ countries: checksum, country length and in-country account structure, and resolves the bank and branch codes. Most free librar
- `id_mrz` — Parses ICAO 9303 TD1/TD3 MRZ and verifies check digits — format check, not identity proof. Machine-readable zones on passports and ID cards carry ICAO 9303 chec
- `isbn_validate` — Validates ISBN-10 and ISBN-13 check digits and converts between them when the 978 prefix allows it. Catalogue and retail systems still mix ISBN-10 and ISBN-13. 
- `isin_validate` — Validates an ISIN (ISO 6166): country code, national identifier and the letter-aware check digit. Portfolio imports and corporate-action files fail on a single 
- `lei_lookup` — Looks up a Legal Entity Identifier in the GLEIF register: legal name, registration status, country, and BIC. Checksum-valid is not the same as currently registe
- `lei_validate` — Validates a 20-character Legal Entity Identifier (ISO 17442) with the ISO 7064 mod-97 check digits. KYC and MiFID reporting reject an LEI that fails the check d
- `mcp_index` — Searchable, dated archive of what every public MCP server actually exposes — tool definitions, daily change feed, and rug-pull detection. The official MCP regis
- `model_archive` — Dated archive of LLM prices, context windows, announced retirement dates and quiet delistings across 400+ models and 50+ providers. Providers overwrite their pr
- `model_drift` — Independent daily record of what changed behind a provider endpoint: which alias resolved to which model, and when behaviour shifted. Providers update models be
- `pay_epc_qr` — Builds an EPC069-12 v3.1 V2 (002) SCT payload. Does not send money; returns text only, no PNG. European payments often start from a QR that encodes an EPC069-12
- `pbx_audio_chunk` — Notify an optional audio chunk / customer URI for a live or archived call (idle $0). Prefer customer storage URI. Temsor keeps a pointer; STT only while a call 
- `pbx_bridge_multi_agent` — Record virtual multi-agent bridge intent + shared memory hint (open promises). Idle $0, no live Asterisk. POST /v1/pbx/bridge/multi-agent {call_id, agents:[{rol
- `pbx_calls` — List recent calls with transfer path crumbs — site + customer archive browser. GET /v1/pbx/calls?limit=20. Scoped by x-temsor-pbx-key when set. Idle $0. No DID 
- `pbx_calls_get` — Get one call by id with transfer graph — customer detail drawer. GET /v1/pbx/calls/get?call_id=…. Scoped by x-temsor-pbx-key. found=false if missing. Idle $0.
- `pbx_calls_graph` — GET call graph + transfer edges for a call — who→whom→where the promise stuck (moat). GET /v1/pbx/calls/graph?call_id=…&stuck_at=310. Returns path, path_tr (pla
- `pbx_dictionary` — Managed SaaS domain dictionary (E4) — example packs thicken per pilot (tenant-scoped aliases). Boosts search + Fact extract. No invented premiums. GET /v1/pbx/d
- `pbx_dictionary_add` — 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. POS
- `pbx_events` — Ingest Asterisk programming-interface (ARI) / Stasis (call-app channel) events. Optional x-temsor-pbx-key or HMAC-SHA256 request signature. Body ≤256 KiB → 429.
- `pbx_facts` — List extracted facts (IMEI, room, tariff…) from the durable index — filter by call_id, kind, domain, q. GET /v1/pbx/facts?call_id=&kind=&domain=otel|santral_fir
- `pbx_facts_get` — Get one extracted fact by id — detail drawer for site + customer. GET /v1/pbx/facts/get?id=…. Scoped by x-temsor-pbx-key. found=false if missing. Idle $0. No DI
- `pbx_index_partial` — Upsert mid-call partial index (utterances → fact/promise hints). Path to ≤400ms whisper; ≤600/hour/key → 429; idle $0. POST /v1/pbx/index/partial {call_id, text
- `pbx_index_partial_get` — GET mid-call partial index — accumulating facts/promises/snippets while live. GET /v1/pbx/index/partial/get?call_id=…. Returns live partial state for whisper ≤4
- `pbx_ingest_transcript` — Heuristic TR promise extractor from transcript text — creates open Promise docs (idle $0, no LLM). Detects promise-like sentences (söz, vaat, edeceğiz, iade, ip
- `pbx_night_twin_last` — GET last gece-ikizi report persisted on forge volume (null if never run). Idle $0. GET /v1/pbx/night-twin/last — last report from POST /v1/pbx/night-twin/run. N
- `pbx_night_twin_run` — Night scan: open promises older than N hours → unresolved candidates (iptal/iade/söz). ≤20/hour/key → 429. Idle $0, no LLM. POST /v1/pbx/night-twin/run {pbx_id?
- `pbx_orchestra_act` — Query→act on managed SaaS runtime: whisper / hold / transfer / pci_stop / snoop. Intent + optional webhook. ≤120/hour/key → 429. No DID sales. Own PBX optional 
- `pbx_orchestra_acts` — List recent managed orchestra intents (whisper/hold/transfer/PCI). Number→flow SaaS · idle $0 · no DID. Own PBX optional footnote. GET /v1/pbx/orchestra/acts?li
- `pbx_persons` — Light CRM from call graph / facts — caller phones+names and extension identities seen on transfers. GET /v1/pbx/persons?call_id=&kind=caller|extension|all&q=&li
- `pbx_persons_get` — Get one light-CRM identity by id — caller Person or derived extension. GET /v1/pbx/persons/get?id=per_001|ext_101. Scoped by x-temsor-pbx-key. found=false if mi
- `pbx_promises` — List broken/open promises from the call graph — the hotel / PBX-provider sales demo list. GET /v1/pbx/promises?status=open returns open/unclosed promises with t
- `pbx_promises_act` — E1 moat: who→whom→promise → managed orchestra intent (whisper/transfer/hold). Idle $0. No PSTN. Own PBX optional footnote. POST /v1/pbx/promises/act {promise_id
- `pbx_promises_close` — 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. POST /v1/pbx/promises/cl
- …and 32 more

## Install

**Verdict: do-not-install** — Do not install: 2 injection-shaped patterns found in this entry's own text — it may try to steer the model that loads it.
**Blocking**
- 2 injection-shaped patterns found in this entry's own text — it may try to steer the model that loads it. — tool:pbx_register: Exfiltration-shaped instruction · tool:pbx_webhooks: Exfiltration-shaped instruction
**Cautions** (coverage gaps and advisories — never blocking)
- No CVE coverage: this entry has no npm/PyPI coordinates to query OSV against, so "no known vulnerabilities" is not a claim that can be made about it.
- No publisher has proved control of this listing; it is indexed, not vouched for.
**Client configuration withheld.** Client configs are withheld because this entry has a blocking finding. Show the warnings below to the person installing it.
If they have seen the findings and still want to proceed, request the plan again with acknowledge_warnings=true.

## Blast radius

Contained to moderate — no credential declaration found, from the publisher, the upstream registry, or the README. Known so far: runs on someone else's infrastructure; read-only tool surface.
- Floor 9, ceiling 27 (tier: unknown)
- `unknown` means the floor and ceiling land in different bands — not measured enough to name one. It does not mean low.
- This is impact, not likelihood. A high radius is not a defect: a filesystem server is supposed to write files. It is never part of the trust score.

## Machine-readable views of this entry

- Signed JSON: https://forgeregistry.com/api/v1/packages/com.temsor%2Fapi
- Install plan: https://forgeregistry.com/api/v1/packages/com.temsor%2Fapi/install-plan
- Alternatives: https://forgeregistry.com/api/v1/alternatives/com.temsor%2Fapi
- HTML page: https://forgeregistry.com/registry/com.temsor%2Fapi
- MCP: POST https://forgeregistry.com/api/mcp → `forge_get_package` / `forge_install_plan`

## About this document

Generated by Forge (https://forgeregistry.com) — a compact rendering of the same record served, signed, at the JSON URL above. Trust and scan facts are the registry's own measurements; anything Forge did not measure is named as unmeasured rather than omitted.
