MCPサーバー

saightly

io.github.emils-design/saightly
コマース・小売 公開・接続可能 MCP 2025-11-25

このMCPでできること

Connects customers with verified Swedish local-service providers through service search, quote requests, offers, and provider selection.

avropa_tjanst
Avropa tjänst
Skickar en FÖRFRÅGAN till en leverantör — Saightly förmedlar kontakten (gratis, avgift_kr är alltid 0). Direktbokning är pausad: bekraftad_tid/pass avvisas (409). Ange kundens behov i kontakt.meddelande och gärna onskad_tid. KRÄVER kundens RIKTIGA e-post i kontakt.epost: kunden får ett bekräftelsemejl och förfrågan förmedlas FÖRST när kunden klickat länken — hitta ALDRIG på en adress, och meddela kunden att kolla sin inkorg.
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['orgnr'], 'properties': {'typ': {'enum': ['forfragan', 'bokning', 'forsaljning'], 'type': 'string', 'description': 'Typ av avrop. Standard: forfragan.'}, 'pass': {'type': 'array', 'items': {'type': 'object', 'required': ['start'], 'properties': {'start': {'type': 'string'}, 'langd_minuter': {'type': 'number'}}}, 'description': 'DELAD bokning: flera tillfällen (även spridda över dagar, t.ex. mån 14–16 + ons 08–12) som EN bokning med samma status och kund. Varje pass: start (ledig tid enligt lediga_tider, ISO 8601) + langd_minuter. Ersätter bekraftad_tid/langd_minuter.'}, 'slug': {'type': 'string', 'description': 'Tjänstens slug (från sok_tjanster/las_tjanst) — VÄLJ RÄTT tjänst när företaget har flera. Utelämnad: företagets första aktiva tjänst.'}, 'orgnr': {'type': 'string', 'description': 'Leverantörens organisationsnummer.'}, 'kontakt': {'type': 'object', 'properties': {'namn': {'type': 'string'}, 'epost': {'type': 'string'}, 'adress': {'type': 'string'}, 'telefon': {'type': 'string'}, 'meddelande': {'type': 'string'}}, 'description': 'Kundens kontaktuppgifter. Vid bokning krävs namn, epost och telefon; adress krävs dessutom när tjänstens platstyp är hos_kund (se lediga_tider).'}, 'tillval': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Id:n på tjänstens tillval som kunden vill boka till (t.ex. färgning, webbmaster). Extra tid läggs på bokningen; namn och pris snapshotas på avropet.'}, 'onskad_tid': {'type': 'string', 'description': 'Önskad tid (ISO 8601) för en förfrågan.'}, 'ordervarde': {'type': 'number', 'description': 'Ordervärde i kr (ger värdebaserad avgift för bokning/försäljning).'}, 'bekraftad_tid': {'type': 'string', 'description': 'Vald ledig tid (ISO 8601) från lediga_tider → direktbokning som blockerar slotten. Kräver kontakt med namn, epost och telefon.'}, 'langd_minuter': {'type': 'number', 'description': 'Bokningens längd i minuter — sätt till summan av flera INTILLIGGANDE pass för en längre bokning (annars ärvs tjänstens standardlängd).'}}}
las_foretag
Läs företag
Hämtar grunduppgifter för ett organisationsnummer (namn, status, adress, SNI) från Bolagsverket.
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['orgnr'], 'properties': {'orgnr': {'type': 'string', 'description': 'Organisationsnummer (10 siffror, med eller utan bindestreck).'}}}
las_offertforfragan
Läs offertförfrågan
Status och inkomna offerter för en tidigare skapad offertförfrågan (token från skapa_offertforfragan). Varje offert bär företag, verifiering, betyg, summa och pristyp (fastpris = bindande; budget = riktpris som stäms av innan start). Använd valj_offert för att välja vinnare.
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['token'], 'properties': {'token': {'type': 'string', 'description': 'Förfrågningstoken (returnerades av skapa_offertforfragan).'}}}
las_tjanst
Läs tjänst
Hämtar detaljer för en specifik tjänst via dess slug (från sok_tjanster).
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Tjänstens slug, t.ex. "koksrenovering-vara".'}}}
lediga_tider
Lediga tider
Direktbokning är PAUSAD — verktyget svarar med tom slots-lista och en förklaring. Förmedla i stället kontakt: las_foretag ger företagets uppgifter, och avropa_tjanst (utan bekraftad_tid) skickar en förfrågan som Saightly förmedlar. Bokningen sker sedan direkt hos företaget.
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['orgnr'], 'properties': {'slug': {'type': 'string', 'description': 'Tjänstens slug (styr passlängd och utförare). Utelämnad: företagets första aktiva tjänst.'}, 'antal': {'type': 'number', 'description': 'Antal tider att returnera (standard 5, max 120).'}, 'orgnr': {'type': 'string', 'description': 'Leverantörens organisationsnummer.'}, 'resurs': {'type': 'string', 'description': 'Filtrera på en specifik utförare (resurs-id från ett tidigare svar).'}}}
skapa_offertforfragan
Skapa offertförfrågan
Skickar en GENERELL förfrågan (t.ex. "bygga ut altan i Skara"). AI strukturerar briefen; förfrågan tas emot av emils.design — företaget bakom Saightly — som återkommer till kunden med förslag eller kontakt till rätt verifierat bolag. För att nå ETT specifikt företag direkt, använd avropa_tjanst. KRÄVER kundens RIKTIGA e-post: kunden får ett bekräftelsemejl och förfrågan förmedlas FÖRST när adressen bekräftats — hitta ALDRIG på en adress, och meddela kunden att kolla sin inkorg. Giltiga branscher (profil): bygg, stad, it, konsult, transport, gront, kreativt, vard, generisk.
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['profil', 'beskrivning', 'kontakt'], 'properties': {'ort': {'type': 'string', 'description': 'Ort där jobbet ska utföras (styr geografisk matchning).'}, 'plats': {'type': 'object', 'required': ['typ'], 'properties': {'typ': {'enum': ['pa_plats', 'hos_foretaget', 'distans'], 'type': 'string', 'description': 'Var uppdraget utförs: hos kunden (pa_plats), hos företaget (t.ex. frisör/studio) eller på distans.'}, 'adress': {'type': 'string', 'description': 'Adress vid pa_plats (valfritt — visas bara för företagen).'}}, 'description': 'Var uppdraget ska utföras. Utelämnad: företagen får fråga kunden.'}, 'profil': {'enum': ['bygg', 'stad', 'it', 'konsult', 'transport', 'gront', 'kreativt', 'vard', 'generisk'], 'type': 'string', 'description': 'Bransch/profil för jobbet.'}, 'kontakt': {'type': 'object', 'required': ['epost'], 'properties': {'namn': {'type': 'string'}, 'epost': {'type': 'string', 'description': 'Kundens e-post — dit offertsvaren skickas (krävs).'}, 'telefon': {'type': 'string'}}, 'description': 'Kundens kontaktuppgifter.'}, 'beskrivning': {'type': 'string', 'description': 'Kundens beskrivning av jobbet i naturligt språk (minst 15 tecken).'}}}
sok_tjanster
Sök tjänster
Sök lokala tjänster i fritext (t.ex. "snickare i Vara asap"). Tolkar kategori, ort och brådska och returnerar rankade leverantörer. tips listar smarta alternativ utanför den exakta träffbilden (annan ort, högre omdöme eller lägre pris) med skälet i klartext — bra att vidarebefordra till användaren.
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'Sökfråga i naturligt språk.'}}}
valj_offert
Välj offert
Väljer vinnande offert på en offertförfrågan (id från las_offertforfragan). Vald → accepterad och företaget får kundens kontaktuppgifter; övriga avböjs vänligt och förfrågan stängs. Idempotent.
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['token', 'offert_id'], 'properties': {'token': {'type': 'string', 'description': 'Förfrågningstoken.'}, 'offert_id': {'type': 'string', 'description': 'Offertens id (från las_offertforfragan).'}}}
変更
skapa_offertforfragan
2026年9月23日2:43
変更
avropa_tjanst
2026年9月23日2:43
追加
valj_offert
2026年9月17日12:41
追加
las_offertforfragan
2026年9月17日12:41
追加
skapa_offertforfragan
2026年9月17日12:41
追加
avropa_tjanst
2026年9月17日12:41
追加
lediga_tider
2026年9月17日12:41
追加
las_foretag
2026年9月17日12:41
追加
las_tjanst
2026年9月17日12:41
追加
sok_tjanster
2026年9月17日12:41