SudnoKontrol

org.ukrfish.skPublished by sk.ukrfish.orgOfficial publisherv1.0.1Updated Oct 24, 2026

Ukrainian vessel registry: search by number/name/owner, full records, stats. No API key required.

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingData & Analytics

Overview

AI-generated overview

SudnoKontrol lets an assistant search Ukraine's public State Ship Registry and Ship Book, look up full vessel records by registration number, and query vessel-c

What you can do
Search both national vessel registries by free text and structured filters, with exact registration-number matches ranked first and Cyrillic/Latin or separator variants handled. Look up a single vessel by registration number and return its full public registry record with a link to its public information page. Get aggregate vessel counts and dataset metadata such as sources, import dates, record counts and available fields.
When to use it
Useful when you need to check whether a vessel is registered in Ukraine, find a vessel by number, name or owner, or answer questions about how many vessels the registries contain. Suited to research and verification tasks over public registry data.
Requirements
A remote Streamable HTTP endpoint; no API key or account is needed. The server is public and rate-limited per IP (300 requests per 15 minutes). Optionally it can be run locally via npx, which needs Node.js and network access to the upstream API.
Before you install
Data is read-only and public, and the server needs no credentials. Results are public registry records, so vessel names and owner names may be personal or business information. The project states it is not an official government service, so verify important findings against official sources. Requests are rate-limited per IP.

Installation

In SourceWeft

  1. Open SudnoKontrol in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/org.ukrfish.sk%2Fsudnokontrol/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "sudnokontrol": {
      "type": "http",
      "url": "https://api.sk.ukrfish.org/mcp"
    }
  }
}

README

SudnoKontrol MCP

Model Context Protocol server for the Ukrainian national vessel registry — search vessels by registration number, name or owner, look up full registry records, and query aggregate statistics. Exposes the public data of the Державний судновий реєстр України (State Ship Registry) and the Суднова книга України (Ship Book).

Data is read-only and public — no API key required.

  • Hosted endpoint (recommended): https://api.sk.ukrfish.org/mcp (Streamable HTTP)
  • Project docs: https://sk.ukrfish.org/api-docs and https://sk.ukrfish.org/info/ai-agents
  • Discovery: https://sk.ukrfish.org/llms.txt

Tools

ToolDescription
search_vessel_registriesFree-text + structured search across both national registries. Deterministic ordering: exact registration-number matches first. Supports Cyrillic/Latin and separator-insensitive numbers (УПС-0129 ≡ УПС 0129 ≡ UPS-0129).
lookup_vesselExact vessel lookup by normalized registration number. Returns full registry record.
get_registry_statsAggregate public vessel counts ("how many vessels...").
get_dataset_metadataDataset context: sources, import dates, record counts, fields.

Every search/lookup result includes a web_url → https://sk.ukrfish.org/registry?vessel=<reg> pointing to the public vessel information page.

Quick start — hosted server

Claude Code / Claude Desktop

bash
claude mcp add --transport http sudnokontrol https://api.sk.ukrfish.org/mcp

Cursor

Settings → MCP → Add new MCP server → Name sudnokontrol, Type HTTP, URL https://api.sk.ukrfish.org/mcp.

Windsurf

Windsurf → MCP → Add server → https://api.sk.ukrfish.org/mcp.

Any MCP client (streamable HTTP)

URL:  https://api.sk.ukrfish.org/mcpAuth: none (public, IP rate-limited)

Run it yourself

The server proxies the public API and needs no credentials.

bash
# stdio (for Claude Desktop "command" servers)npx sudnokontrol-mcp
# HTTP (streamable)npx sudnokontrol-mcp http# or: PORT=9000 HOST=127.0.0.1 npx sudnokontrol-mcp http

Install from this repo directly:

bash
npm install -g github:ailubes/sudnokontrol-mcp

To point at a different base (e.g. your own deployment):

bash
SUDNOKONTROL_API=https://api.sk.ukrfish.org/api/ai npx sudnokontrol-mcp

From source:

bash
npm installnpm run buildnode dist/index.js        # stdionode dist/index.js http   # HTTP on :8958/mcp

Connect to your local instance

claude mcp add --transport http local-sudnokontrol http://127.0.0.1:8958/mcp

API (underlying REST, no MCP needed)

EndpointPurpose
GET https://api.sk.ukrfish.org/api/ai/openapi.jsonOpenAPI 3.1 spec
GET https://api.sk.ukrfish.org/api/ai/toolsFunction-calling tool definitions (JSON Schema)
GET https://api.sk.ukrfish.org/api/ai/metaDataset context
GET https://api.sk.ukrfish.org/api/ai/registry/search?q=Search
GET https://api.sk.ukrfish.org/api/ai/registry/lookup/{reg}Lookup
GET https://api.sk.ukrfish.org/api/ai/statsAggregates

Rate limit: 300 requests / 15 min / IP on /api/ai/*. Search/meta/stats responses cached 60s.

Example

User: Is the vessel УПС-4249 registered?
Agent calls: lookup_vessel {"registration_number": "УПС-4249"}Response: { registration_number: "УПС-4249", name: "ua 5614 KV", owner_name: "ТОВ Соціальні ініціативи Запоріжжя", source: "registry", web_url: "https://sk.ukrfish.org/registry?vessel=УПС-4249", ... }

License

[M8ven Score]

MIT

Disclaimer

This is an open-source MCP adapter for the public data of the Ukrainian vessel registries operated by SudnoKontrol. It is not an official government service.

Source: README.md at commit 3f28a5d

Tools

4

search_vessel_registries

Search Ukrainian national vessel registries

Search public data from the Ukrainian State Ship Registry and Ship Book by free-text query and structured filters. Deterministic ordering with exact registration-number matches first. Handles Cyrillic and Latin scripts and separator-insensitive numbers (УПС-0129 ≡ УПС 0129 ≡ UPS-0129). Each result includes a web_url pointing to the public vessel information page.

Parametersqlimitoffsetsourcehome_portvessel_typebuild_year_maxbuild_year_min

lookup_vessel

Look up a Ukrainian vessel

Look up a vessel in the Ukrainian vessel registries using its registration number. Handles -, ., and space variance and Latin/Cyrillic forms. Returns the full public registry record, including a web_url pointing to the public vessel information page.

Parametersregistration_numberrequired

get_registry_stats

Get aggregate vessel counts

Aggregate public vessel counts for answering "how many vessels" questions.

Takes no parameters.

get_dataset_metadata

Describe available vessel-registry datasets

Describes available data sources (Державний судновий реєстр / Суднова книга), freshness (import dates), record counts, and available fields.

Takes no parameters.

Version history

1
  1. v1.0.1LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts