Data source: Sjøfartsdirektoratet (Norwegian Maritime Authority)
Overview
Skipsregisteret (Norwegian Ship Registry) wraps Sjøfartsdirektoratet (Norwegian Maritime Authority), handling authentication, pagination, and rate limits for you. This tutorial covers all 4 tools with working code examples you can copy and run.
Prerequisites
- Sign up at https://context.gnist.ai/signup for a free API key (100 calls/day).
- Choose your integration method: MCP protocol or REST API.
Connect via MCP
Add to your MCP client config (Claude Desktop, Cursor, etc.):
{
"mcpServers": {
"gnist-skipsregisteret": {
"url": "https://context.gnist.ai/mcp/skipsregisteret/",
"headers": {
"Gnist-API-Key": "YOUR_API_KEY"
}
}
}
}
Tools (4)
search_vessels
Search Norwegian ship registers (NIS and NOR) for vessels. NIS (Norwegian International Ship Register) covers ships in international trade. NOR (Norwegian Ordinary Ship Register) covers ships in domestic and short-sea trade. Returns matching vessels with name, call sign, IMO number, registration status, and owner information. Use get_vessel_details with the vessel_id for full details including technical specifications, construction data, and document history.
| Parameter | Type | Required | Description |
|---|---|---|---|
text | string | required | Search text — vessel name, call sign, or IMO number (e.g. "VIKING VISION", "LNXF", "8907034"). |
language | string | optional | Response language: 'en' (English) or 'no' (Norwegian). Default: 'en'. (default: en) |
curl -X POST "https://context.gnist.ai/mcp/skipsregisteret/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "search_vessels", "arguments": {"text": "VIKING VISION"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/skipsregisteret/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'text': 'VIKING VISION'}, 'name': 'search_vessels'}},
)
print(resp.json())
get_vessel_details
Get full details for a Norwegian-registered vessel. Combines vessel registration data and technical specifications into a single response. Includes ownership, home port, construction info, bareboat status, document history, and technical specs (dimensions, tonnage, vessel type, build material, propulsion, and classification society). Use search_vessels first to find the vessel_id.
| Parameter | Type | Required | Description |
|---|---|---|---|
vessel_id | integer | required | Vessel ID from search results (e.g. 30054). A positive integer. |
curl -X POST "https://context.gnist.ai/mcp/skipsregisteret/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "get_vessel_details", "arguments": {"vessel_id": 30054}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/skipsregisteret/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'vessel_id': 30054}, 'name': 'get_vessel_details'}},
)
print(resp.json())
search_reserved_names
Check reserved vessel names in Norwegian ship registers (NIS/NOR). Reserved names are vessel names that have been claimed but may not yet be in active use. Useful for checking name availability before registering a vessel. Returns matching reserved names with their register (NIS or NOR).
| Parameter | Type | Required | Description |
|---|---|---|---|
text | string | required | Search text for reserved vessel names (e.g. "VIKING", "POLARIS"). |
language | string | optional | Response language: 'en' (English) or 'no' (Norwegian). Default: 'en'. (default: en) |
curl -X POST "https://context.gnist.ai/mcp/skipsregisteret/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "search_reserved_names", "arguments": {"text": "VIKING"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/skipsregisteret/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'text': 'VIKING'}, 'name': 'search_reserved_names'}},
)
print(resp.json())
report_feedback
Report a bug, feature request, or general feedback for this data source. Use this when something doesn't work as expected, when you'd like a new feature, or when you have suggestions for improvement. Args: feedback: Describe the issue or suggestion. feedback_type: One of 'bug', 'feature_request', or 'general'.
| Parameter | Type | Required | Description |
|---|---|---|---|
feedback | string | required | |
feedback_type | string | optional | (default: general) |
curl -X POST "https://context.gnist.ai/mcp/skipsregisteret/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "report_feedback", "arguments": {"feedback": "example"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/skipsregisteret/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'feedback': 'example'}, 'name': 'report_feedback'}},
)
print(resp.json())
Common Patterns
Use
search_vessels to find items, then get_vessel_details to get full details. This two-step pattern is common for exploring data before drilling down.FAQ
What data does Skipsregisteret (Norwegian Ship Registry) provide?
Search Norwegian Ship Registers (NIS/NOR/BYGG) — vessel lookup, ownership, technical specs, and reserved names from the Norwegian Maritime Authority (Sjøfartsdirektoratet). It exposes 4 tools: search_vessels, get_vessel_details, search_reserved_names, report_feedback.
What do I need to get started?
A Gnist API key (free tier: 100 calls/day). Sign up at https://context.gnist.ai/signup.
What format does the Skipsregisteret (Norwegian Ship Registry) API return?
JSON, via either MCP protocol (JSON-RPC 2.0) or REST API.