Koskamo

Saightly MCP

Remote MCP server for the Saightly Swedish service marketplace, allowing agents to search for verified local service providers, check availability, request quotes, and book services via tools like sok_tjanster, las_tjanst, and avropa_tjanst.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Saightly MCP logo, by SaightlyCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-07Published by Saightly
MCP endpoint (Streamable HTTP)
https://saightly.com/api/mcp
Vendor documentation

What its tools do

8 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

8 of 8 have a description · 0 of 8 declare behavior hints · 8 of 8 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Search for verified local service providers by query
  • Check available time slots for a specific service
  • Request quotes from multiple companies
  • Book a service appointment

Source and maintenance

Community listingRegistry 0.1.0
Maintenance checked

Protocol and capabilities

Server
saightly 0.1.0
MCP protocol negotiated in check
2025-11-25
Tools
8 advertised
Resources
8 advertised
Resource templates
1 advertised
Prompts
1 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "prompts": {
    "listChanged": true
  },
  "resources": {
    "listChanged": true
  }
}

Tools

8 advertised

sok_tjanster — Sök tjänster
Advertised by the server during the last successful anonymous check.

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.

sok_tjanster input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "description": "Sökfråga i naturligt språk."
    }
  }
}
las_tjanst — Läs tjänst
Advertised by the server during the last successful anonymous check.

Hämtar detaljer för en specifik tjänst via dess slug (från sok_tjanster).

las_tjanst input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "slug"
  ],
  "properties": {
    "slug": {
      "type": "string",
      "description": "Tjänstens slug, t.ex. \"koksrenovering-vara\"."
    }
  }
}
las_foretag — Läs företag
Advertised by the server during the last successful anonymous check.

Hämtar grunduppgifter för ett organisationsnummer (namn, status, adress, SNI) från Bolagsverket.

las_foretag input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "orgnr"
  ],
  "properties": {
    "orgnr": {
      "type": "string",
      "description": "Organisationsnummer (10 siffror, med eller utan bindestreck)."
    }
  }
}
lediga_tider — Lediga tider
Advertised by the server during the last successful anonymous check.

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.

lediga_tider input schema
{
  "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)."
    }
  }
}
avropa_tjanst — Avropa tjänst
Advertised by the server during the last successful anonymous check.

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.

avropa_tjanst input schema
{
  "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)."
    }
  }
}
skapa_offertforfragan — Skapa offertförfrågan
Advertised by the server during the last successful anonymous check.

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.

skapa_offertforfragan input schema
{
  "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)."
    }
  }
}
las_offertforfragan — Läs offertförfrågan
Advertised by the server during the last successful anonymous check.

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.

las_offertforfragan input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "token"
  ],
  "properties": {
    "token": {
      "type": "string",
      "description": "Förfrågningstoken (returnerades av skapa_offertforfragan)."
    }
  }
}
valj_offert — Välj offert
Advertised by the server during the last successful anonymous check.

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.

valj_offert input schema
{
  "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)."
    }
  }
}

Prompts

1 advertised

hitta-och-avropa — Hitta och avropa tjänst

Advertised by the server during the last successful anonymous check.

Guidar agenten att söka, välja tid och avropa en lokal tjänst.

behov
Vad användaren behöver, t.ex. "snickare i Vara imorgon". (required)

Resources

8 advertised

katalog — Tjänstekatalog

Advertised by the server during the last successful anonymous check.

Alla tjänster i Saightly.

katalog URI
saightly://tjanster

MIME type: application/json

Besiktning fjärrvärmeväxlare — Tjänst

Advertised by the server during the last successful anonymous check.

En specifik tjänst via slug.

Besiktning fjärrvärmeväxlare URI
saightly://tjanst/besiktning-fjarrvarmevaxlare-molndal

MIME type: application/json

Webbdesign & UX — Tjänst

Advertised by the server during the last successful anonymous check.

En specifik tjänst via slug.

Webbdesign & UX URI
saightly://tjanst/webbdesign-ux-emilsdesign

MIME type: application/json

Skräddarsydd hemsida (fast pris) — Tjänst

Advertised by the server during the last successful anonymous check.

En specifik tjänst via slug.

Skräddarsydd hemsida (fast pris) URI
saightly://tjanst/skraddarsydd-hemsida-emilsdesign

MIME type: application/json

AI-automatisering & AI-konsult — Tjänst

Advertised by the server during the last successful anonymous check.

En specifik tjänst via slug.

AI-automatisering & AI-konsult URI
saightly://tjanst/ai-automatisering-emilsdesign

MIME type: application/json

SEO- & AEO-optimering — Tjänst

Advertised by the server during the last successful anonymous check.

En specifik tjänst via slug.

SEO- & AEO-optimering URI
saightly://tjanst/seo-aeo-optimering-emilsdesign

MIME type: application/json

Musikproduktion & ljuddesign — Tjänst

Advertised by the server during the last successful anonymous check.

En specifik tjänst via slug.

Musikproduktion & ljuddesign URI
saightly://tjanst/musikproduktion-ljuddesign-emilsdesign

MIME type: application/json

Grafisk profil & logotyp — Tjänst

Advertised by the server during the last successful anonymous check.

En specifik tjänst via slug.

Grafisk profil & logotyp URI
saightly://tjanst/grafisk-profil-logotyp-emilsdesign

MIME type: application/json

tjanst — Tjänst

Advertised by the server during the last successful anonymous check.

En specifik tjänst via slug.

tjanst URI template
saightly://tjanst/{slug}

MIME type: application/json

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1744 ms
95th percentile latency
1744 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1744 ms · metadata changed · 8 tool(s), 8 resource(s), 1 resource template(s), 1 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http saightly-mcp https://saightly.com/api/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add saightly-mcp --url https://saightly.com/api/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable saightly-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "saightly-mcp": {
      "url": "https://saightly.com/api/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "saightly-mcp": {
      "type": "streamableHttp",
      "url": "https://saightly.com/api/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start saightly-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "saightly-mcp": {
      "type": "http",
      "url": "https://saightly.com/api/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http saightly-mcp https://saightly.com/api/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://saightly.com/api/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "saightly-mcp": {
      "serverUrl": "https://saightly.com/api/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Saightly MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.