Sami Swoi MCP
A read-only MCP server providing access to a directory of Polish-run businesses outside Poland. It allows AI assistants to search for companies by country, city, category, or phrase, retrieve detailed company profiles, and list available countries and categories without requiring authentication.
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.
https://samiswoi.app/mcpWhat you can do with it
- Search for Polish businesses by country, city, or category
- Retrieve detailed profiles including address and opening hours
- List available countries and business categories in the directory
Source and maintenance
Protocol and capabilities
- Server
- samiswoi 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 4 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
4 advertised
search_companies — Search Polish businesses abroad / Szukaj polskich firm
Search Polish-run businesses outside Poland listed on Sami Swoi (samiswoi.app), for questions like "Polish plumber in London", "Polish shop in Utrecht", "Polish dentist in Oslo", "polska księgowa w Dublinie". Filters: country, city, category (slug or Polish word, see list_categories) and a phrase from the name or kind of business. Returns up to 20 businesses per call (page with offset/next_offset), each with city, category and its samiswoi.app page, plus the total. / Polskie firmy za granicą: kraj, miasto, kategoria, fraza.
{
"type": "object",
"properties": {
"city": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "City, e.g. \"London\", \"Londyn\", \"Utrecht\". Best together with country. / Miasto."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1,
"description": "Maximum results (1-20, default 10)."
},
"query": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "Words from the business name or kind, Polish works best (\"delikatesy\", \"mechanik\", \"Biedronka\"). / Fraza."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 2000,
"minimum": 0,
"description": "Skip this many matches; use next_offset."
},
"country": {
"type": "string",
"maxLength": 60,
"minLength": 2,
"description": "Country: ISO code (\"GB\", \"DE\", \"NL\") or name in Polish or English (\"Holandia\", \"Germany\"). / Kraj."
},
"category": {
"type": "string",
"maxLength": 60,
"minLength": 2,
"description": "Category slug from list_categories (e.g. \"hydraulik\", \"sklep-spozywczy\") or a Polish word (\"dentysta\", \"fryzjer\"). / Kategoria."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"ok",
"status"
],
"properties": {
"ok": {
"type": "boolean"
},
"note": {
"type": "string",
"description": "Guidance for answering, e.g. when nothing was found."
},
"query": {
"type": "object",
"description": "Filters as applied.",
"additionalProperties": true
},
"status": {
"enum": [
"found",
"no_companies",
"country_not_found",
"category_not_found",
"invalid_request",
"temporary_error"
],
"type": "string"
},
"message": {
"type": "string"
},
"returned": {
"type": "integer"
},
"companies": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"category",
"category_label",
"country_code",
"country",
"city",
"managed_by_owner",
"url"
],
"properties": {
"id": {
"type": "string",
"description": "Company id (address on samiswoi.app); use with get_company."
},
"url": {
"type": "string",
"description": "Company page on samiswoi.app (contact details, map)."
},
"city": {
"type": "string"
},
"name": {
"type": "string"
},
"country": {
"type": "string",
"description": "Country name in Polish."
},
"category": {
"type": "string",
"description": "Category slug (see list_categories)."
},
"country_code": {
"type": "string",
"description": "ISO 3166-1 alpha-2."
},
"category_label": {
"type": "string",
"description": "Category name in Polish."
},
"managed_by_owner": {
"type": "boolean",
"description": "true = the owner runs this profile; false = built from public data, not yet claimed."
}
},
"additionalProperties": false
}
},
"browse_url": {
"type": "string",
"description": "Page on samiswoi.app with the full list."
},
"candidates": {
"type": "array",
"items": {
"type": "object",
"required": [
"value",
"name"
],
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "string"
}
},
"additionalProperties": false
}
},
"next_offset": {
"type": "integer"
},
"total_found": {
"type": "integer"
}
},
"additionalProperties": false
}{
"title": "Search Polish businesses abroad / Szukaj polskich firm",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_company — Business profile / Profil firmy
One Polish business abroad on Sami Swoi by its id or samiswoi.app page URL: category, city and country, address, website, languages, opening hours, short description and the data source. Phone and e-mail are on the linked page. / Profil jednej firmy.
{
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 40,
"minLength": 3,
"description": "Company id from search_companies, e.g. \"polski-sklep-utrecht\"."
},
"url": {
"type": "string",
"maxLength": 200,
"minLength": 10,
"description": "Company page URL, e.g. https://samiswoi.app/polski-sklep-utrecht"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"ok",
"status"
],
"properties": {
"ok": {
"type": "boolean"
},
"note": {
"type": "string",
"description": "Guidance for answering, e.g. when nothing was found."
},
"status": {
"enum": [
"found",
"not_found",
"invalid_request",
"temporary_error"
],
"type": "string"
},
"company": {
"type": "object",
"required": [
"id",
"name",
"category",
"category_label",
"country_code",
"country",
"city",
"managed_by_owner",
"url",
"description",
"address",
"website",
"languages",
"opening_hours",
"source",
"country_url",
"category_url",
"city_url"
],
"properties": {
"id": {
"type": "string",
"description": "Company id (address on samiswoi.app); use with get_company."
},
"url": {
"type": "string",
"description": "Company page on samiswoi.app (contact details, map)."
},
"city": {
"type": "string"
},
"name": {
"type": "string"
},
"source": {
"type": "string",
"description": "Where the data comes from."
},
"address": {
"type": [
"object",
"null"
],
"required": [
"street",
"postcode",
"city",
"country"
],
"properties": {
"city": {
"type": "string"
},
"street": {
"type": [
"string",
"null"
]
},
"country": {
"type": "string"
},
"postcode": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
"country": {
"type": "string",
"description": "Country name in Polish."
},
"website": {
"type": [
"string",
"null"
]
},
"category": {
"type": "string",
"description": "Category slug (see list_categories)."
},
"city_url": {
"type": [
"string",
"null"
]
},
"languages": {
"type": "array",
"items": {
"type": "string"
},
"description": "Languages spoken (always includes Polish)."
},
"country_url": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"category_url": {
"type": "string"
},
"country_code": {
"type": "string",
"description": "ISO 3166-1 alpha-2."
},
"opening_hours": {
"type": "array",
"items": {
"type": "string"
},
"description": "e.g. \"Mon 09:00-17:00\"; empty when unknown."
},
"category_label": {
"type": "string",
"description": "Category name in Polish."
},
"managed_by_owner": {
"type": "boolean",
"description": "true = the owner runs this profile; false = built from public data, not yet claimed."
}
},
"additionalProperties": false
},
"message": {
"type": "string"
},
"browse_url": {
"type": "string",
"description": "Page on samiswoi.app with the full list."
}
},
"additionalProperties": false
}{
"title": "Business profile / Profil firmy",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_countries — Countries / Kraje
Countries with Polish businesses listed on Sami Swoi: ISO code, Polish name, number of businesses and the country page. / Kraje i liczba polskich firm.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"type": "object",
"required": [
"ok",
"status"
],
"properties": {
"ok": {
"type": "boolean"
},
"note": {
"type": "string",
"description": "Guidance for answering, e.g. when nothing was found."
},
"status": {
"enum": [
"found",
"invalid_request",
"temporary_error"
],
"type": "string"
},
"message": {
"type": "string"
},
"countries": {
"type": "array",
"items": {
"type": "object",
"required": [
"code",
"name",
"companies",
"url"
],
"properties": {
"url": {
"type": "string"
},
"code": {
"type": "string"
},
"name": {
"type": "string"
},
"companies": {
"type": "integer"
}
},
"additionalProperties": false
}
},
"browse_url": {
"type": "string",
"description": "Page on samiswoi.app with the full list."
},
"total_companies": {
"type": "integer"
}
},
"additionalProperties": false
}{
"title": "Countries / Kraje",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_categories — Categories / Kategorie
Business categories used by Sami Swoi (slug, Polish name, group, number of listed businesses) for the category filter of search_companies. Optional country limits the counts to one country. / Kategorie firm.
{
"type": "object",
"properties": {
"country": {
"type": "string",
"maxLength": 60,
"minLength": 2,
"description": "Country: ISO code (\"GB\", \"DE\", \"NL\") or name in Polish or English (\"Holandia\", \"Germany\"). / Kraj."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"ok",
"status"
],
"properties": {
"ok": {
"type": "boolean"
},
"note": {
"type": "string",
"description": "Guidance for answering, e.g. when nothing was found."
},
"status": {
"enum": [
"found",
"country_not_found",
"invalid_request",
"temporary_error"
],
"type": "string"
},
"message": {
"type": "string"
},
"browse_url": {
"type": "string",
"description": "Page on samiswoi.app with the full list."
},
"categories": {
"type": "array",
"items": {
"type": "object",
"required": [
"slug",
"name",
"group",
"companies"
],
"properties": {
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"group": {
"type": "string"
},
"companies": {
"type": "integer"
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}{
"title": "Categories / Kategorie",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
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
- 733 ms
- 95th percentile latency
- 733 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 733 ms · metadata changed · 4 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http sami-swoi-mcp https://samiswoi.app/mcpCodex
codex mcp add sami-swoi-mcp --url https://samiswoi.app/mcpCursor
{
"mcpServers": {
"sami-swoi-mcp": {
"url": "https://samiswoi.app/mcp"
}
}
}Cline
{
"mcpServers": {
"sami-swoi-mcp": {
"type": "streamableHttp",
"url": "https://samiswoi.app/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"sami-swoi-mcp": {
"type": "http",
"url": "https://samiswoi.app/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http sami-swoi-mcp https://samiswoi.app/mcpClaude Desktop
{
"mcpServers": {
"sami-swoi-mcp": {
"url": "https://samiswoi.app/mcp"
}
}
}Windsurf
{
"mcpServers": {
"sami-swoi-mcp": {
"serverUrl": "https://samiswoi.app/mcp"
}
}
}Let your agent find its tools
Find servers like Sami Swoi MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other productivity and knowledge servers
Do you run Sami Swoi MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.