Koskamo

Lab4U MCP

Official MCP server for the Lab4U online laboratory that allows AI assistants to select lab tests based on user symptoms or doctor's lists, check city availability and result timelines, and create a shopping cart on lab4u.ru.

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.

Lab4U MCP logo, by Lab4UVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Lab4U
MCP endpoint (Streamable HTTP)
https://mcp.lab4u.ru/mcp
Vendor documentation

What you can do with it

  • Select lab tests based on symptoms or doctor's list
  • Check test availability and result timelines in a specific city
  • Create a shopping cart for lab tests on lab4u.ru

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
Lab4U 1.30.0
MCP protocol
2025-06-18
Tools
5 advertised
Resources
0 advertised
Resource templates
0 advertised
Prompts
0 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "prompts": {
    "listChanged": false
  },
  "resources": {
    "subscribe": false,
    "listChanged": false
  },
  "experimental": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Ты помогаешь подобрать лабораторные анализы Lab4U и собрать корзину на сайте lab4u.ru. Цель — довольный клиент с действительно полезным набором анализов. Порядок работы: 1. Узнай город пользователя. Если он не назван — спроси. Найди его через lab4u_cities. Без города не ищи. 2. Найди анализы через lab4u_tests_search, всегда с location_id. Передавай ключевые слова, а не всю фразу пользователя: название анализа, показатель или тему («ферритин», «ТТГ», «щитовидная железа»). Все нужные запросы — одним вызовом. 3. Подбери вариант. - Пользователь назвал конкретные анализы или принёс список от врача: проверь список через lab4u_basket_check. Если нашёлся подходящий комплекс, предложи его: что в него входит из списка, что добавится и зачем это полезно. Если список назначил врач, скажи, что назначение остаётся главным, а комплекс — возможность проверить больше за один раз. Решает пользователь. - Пользователь не знает, что сдавать: подбери сам, по пользе для его задачи. Есть подходящий готовый комплекс — предложи его первым и объясни, почему он. Дополнительно можешь предложить набор, собранный вручную: аналогичный или дополненный нужными анализами. Подходящего комплекса нет — сразу предложи набор анализов, собранный вручную. - Предлагай один основной вариант и не больше двух альтернатив, а не всё найденное. - Только полезное для жалобы или цели пользователя, с объяснением зачем. Не пугай и не добавляй лишнего. - Называй срок готовности в городе пользователя. Если важны выходные — уточни через lab4u_test_details. 4. Если пользователь спрашивает, что это за анализ или что в него входит, — вызови lab4u_test_details. 5. После рекомендации всегда предложи собрать корзину. Когда пользователь согласен — собери её через lab4u_cart_link_create, дай ссылку и коротко скажи, что дальше: открыть ссылку, выбрать медцентр и время на сайте. О недоступных в городе и несовместимых анализах скажи прямо. Правила: - Цен в данных нет. Не называй и не придумывай цены: итог пользователь увидит по ссылке на корзину. - Предлагай только анализы, найденные инструментами. Не выдумывай названия и ID. - Позиции с пометкой «нельзя заказать отдельно» не добавляй в корзину — предложи комплекс, в который они входят. - Правила подготовки (натощак, время сдачи, отмена препаратов) не пересказывай: дай ссылку на страницу анализа. - Подбор анализов не заменяет консультацию врача. Не ставь диагнозы и не назначай лечение, не советуй лекарства и отмену препаратов, не трактуй результаты — это решает врач. - При острых или тревожных симптомах (боль в груди, высокая температура, кровотечение и т. п.) сначала посоветуй обратиться к врачу или вызвать скорую.

Tools

5 advertised

lab4u_cities — Города Lab4U
Advertised by the server during the last successful anonymous check.
Advertised read-only

Список городов, где можно сдать анализы Lab4U. Вызывай первым, чтобы получить location_id города пользователя. Если города нет в списке, скажи, что Lab4U там не работает.

lab4u_cities input schema
{
  "type": "object",
  "title": "lab4u_citiesArguments",
  "properties": {
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Name",
      "default": null,
      "description": "Часть названия города, например «Казань». Не указывай, чтобы получить весь список"
    }
  }
}
lab4u_cities output schema
{
  "type": "object",
  "title": "lab4u_citiesOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
lab4u_cities annotations
{
  "title": "Города Lab4U",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
lab4u_tests_search — Поиск анализов
Advertised by the server during the last successful anonymous check.
Advertised read-only

Поиск анализов и комплексов Lab4U по ключевым словам: название, сокращение, показатель или тема (например, «ОАК», «витамин D», «TSH», «щитовидная железа»). Принимает список запросов — передавай все нужные сразу, а не всю фразу пользователя. location_id обязателен: без него не видно доступность и сроки. Комплексы в ответе идут первыми. У каждой позиции есть метка «нашлось» и состав комплекса — используй их, чтобы выбрать подходящее и не предлагать лишнее.

lab4u_tests_search input schema
{
  "type": "object",
  "title": "lab4u_tests_searchArguments",
  "required": [
    "queries",
    "location_id"
  ],
  "properties": {
    "queries": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "title": "Queries",
      "maxItems": 10,
      "minItems": 1,
      "description": "Ключевые слова, от 1 до 10: названия анализов, сокращения, показатели или темы. Например: [\"ТТГ\", \"Т4 свободный\", \"щитовидная железа\"]"
    },
    "location_id": {
      "type": "integer",
      "title": "Location Id",
      "description": "ID города из lab4u_cities. Обязателен: без него не видно доступность и сроки"
    }
  }
}
lab4u_tests_search output schema
{
  "type": "object",
  "title": "lab4u_tests_searchOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
lab4u_tests_search annotations
{
  "title": "Поиск анализов",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
lab4u_test_details — Подробности об анализе
Advertised by the server during the last successful anonymous check.
Advertised read-only

Подробности об одном анализе в городе: доступен ли, срок готовности, работает ли в выходные, ограничения по полу, какие показатели входят, ссылка на страницу с правилами подготовки. Вызывай, когда пользователь спрашивает про конкретный анализ или нужно сравнить похожие.

lab4u_test_details input schema
{
  "type": "object",
  "title": "lab4u_test_detailsArguments",
  "required": [
    "test_id",
    "location_id"
  ],
  "properties": {
    "test_id": {
      "type": "integer",
      "title": "Test Id",
      "description": "ID анализа или комплекса из lab4u_tests_search"
    },
    "location_id": {
      "type": "integer",
      "title": "Location Id",
      "description": "ID города из lab4u_cities"
    }
  }
}
lab4u_test_details output schema
{
  "type": "object",
  "title": "lab4u_test_detailsOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
lab4u_test_details annotations
{
  "title": "Подробности об анализе",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
lab4u_basket_check — Проверка списка анализов
Advertised by the server during the last successful anonymous check.
Advertised read-only

Проверяет список анализов, который назвал или выбрал пользователь, перед сборкой корзины. Находит самый подходящий готовый комплекс: включает хотя бы 2 анализа из списка и добавляет не больше 10. Показывает, что недоступно в городе и что нельзя заказать отдельно. Вызывай, когда у пользователя есть конкретный список анализов, в том числе от врача.

lab4u_basket_check input schema
{
  "type": "object",
  "title": "lab4u_basket_checkArguments",
  "required": [
    "test_ids",
    "location_id"
  ],
  "properties": {
    "test_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "title": "Test Ids",
      "maxItems": 20,
      "minItems": 1,
      "description": "ID анализов, которые назвал или выбрал пользователь, от 1 до 20"
    },
    "location_id": {
      "type": "integer",
      "title": "Location Id",
      "description": "ID города из lab4u_cities"
    }
  }
}
lab4u_basket_check output schema
{
  "type": "object",
  "title": "lab4u_basket_checkOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
lab4u_basket_check annotations
{
  "title": "Проверка списка анализов",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
lab4u_cart_link_create — Корзина на lab4u.ru
Advertised by the server during the last successful anonymous check.

Собирает корзину на lab4u.ru из списка ID анализов (до 20) для города и возвращает ссылку. Вызывай, когда пользователь согласился со списком. Если у пользователя был конкретный список анализов, сначала проверь его через lab4u_basket_check. Сообщи о недоступных в городе и несовместимых анализах из ответа.

lab4u_cart_link_create input schema
{
  "type": "object",
  "title": "lab4u_cart_link_createArguments",
  "required": [
    "test_ids",
    "location_id"
  ],
  "properties": {
    "test_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "title": "Test Ids",
      "maxItems": 20,
      "minItems": 1,
      "description": "ID анализов и комплексов из lab4u_tests_search, от 1 до 20"
    },
    "location_id": {
      "type": "integer",
      "title": "Location Id",
      "description": "ID города из lab4u_cities"
    }
  }
}
lab4u_cart_link_create output schema
{
  "type": "object",
  "title": "lab4u_cart_link_createOutput",
  "required": [
    "result"
  ],
  "properties": {
    "result": {
      "type": "string",
      "title": "Result"
    }
  }
}
lab4u_cart_link_create annotations
{
  "title": "Корзина на lab4u.ru",
  "readOnlyHint": false,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}

Prompts

0 advertised

No prompt definitions available.

Resources

0 advertised

No resource definitions available.

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
1680 ms
95th percentile latency
1680 ms

Maintenance history

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

  • · probe · passed · 1680 ms · metadata changed · 5 tool(s), 0 resource(s), 0 resource template(s), 0 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 lab4u-mcp https://mcp.lab4u.ru/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 lab4u-mcp --url https://mcp.lab4u.ru/mcp

Cursor

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

Cline

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

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start lab4u-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "lab4u-mcp": {
      "type": "http",
      "url": "https://mcp.lab4u.ru/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 lab4u-mcp https://mcp.lab4u.ru/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "lab4u-mcp": {
      "url": "https://mcp.lab4u.ru/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": {
    "lab4u-mcp": {
      "serverUrl": "https://mcp.lab4u.ru/mcp"
    }
  }
}

Let your agent find its tools

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

Do you run Lab4U 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.

Claim this listing