Koskamo

Krew Guru MCP

An MCP server operated by Krew Guru that allows AI assistants to search for open maritime vacancies by rank, vessel type, and joining date, retrieve detailed vacancy information, and generate a draft seafarer profile from a CV text. It facilitates job discovery and profile creation without requiring immediate authentication, sending a verification code to the email provided in the CV.

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.

Krew Guru MCP logo, by Krew GuruVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Krew Guru
MCP endpoint (Streamable HTTP)
https://api.krew.guru/mcp
Vendor documentation

What you can do with it

  • Search for open maritime vacancies by rank and vessel type
  • Retrieve detailed vacancy information including salary and requirements
  • Create a draft seafarer profile from CV text

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
krew-guru 1.0.0
MCP protocol
2025-06-18
Tools
4 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

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

Krew Guru is a job board for seafarers (merchant navy crew). It is free for seafarers (MLC 2006 Regulation 1.4) and is not a crewing agency: it does not hire anyone and does not promise employment. Tools: search open vacancies and read one vacancy; turn a seafarer CV into a Krew Guru profile draft; check that draft. The seafarer signs in on krew.guru with a code from the email; there is no tool for entering that code.

Tools

4 advertised

search_maritime_jobs — Search maritime jobs
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search open vacancies for seafarers on Krew Guru by rank, vessel type and boarding date. Use this when a seafarer asks which jobs are open, for example "2/E jobs on bulk carriers joining in November" or "AB vacancies on tankers". Returns up to 20 published vacancies with a boarding date that has not passed, salary range in USD per month (net), contract length in months and a vacancy_url to open the vacancy on krew.guru. Company contacts are not returned; the seafarer applies on krew.guru. Do not use for checking whether a crewing agency or a job offer is genuine, for jobs ashore, or for a seafarer's own applications.

search_maritime_jobs input schema
{
  "type": "object",
  "properties": {
    "rank": {
      "type": "string",
      "examples": [
        "Second Engineer",
        "AB"
      ],
      "maxLength": 100,
      "description": "Rank (position on board). Use the full name or a short code, for example: Master; Chief Officer (CO, C/O); Second Officer (2O, 2/O); Chief Engineer (CE, C/E); Second Engineer (2E, 2/E); Third Engineer (3E); ETO (Electro-Technical Officer); Bosun; AB (Able Seaman); OS (Ordinary Seaman); Motorman/Oiler; Chief Cook. Write 2/E as \"2E\" or \"Second Engineer\"."
    },
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 20,
      "minimum": 1,
      "description": "How many vacancies to return (1-20)."
    },
    "offset": {
      "type": "integer",
      "default": 0,
      "minimum": 0,
      "description": "Skip this many vacancies (paging)."
    },
    "ship_type": {
      "type": "string",
      "examples": [
        "Bulk carrier",
        "oil"
      ],
      "maxLength": 100,
      "description": "Vessel type, for example: Bulk carrier, Container ship, Oil tanker, Product tanker, Chemical tanker, LNG carrier, LPG carrier, General cargo vessel, Car carrier, AHTS (anchor handling tug supply), PSV (Platform Supply Vessel), Cruise ship, Dredger. Groups are accepted too: oil, chem, gas, bulk, container, cargo, offshore."
    },
    "date_of_boarding": {
      "type": "string",
      "format": "date",
      "examples": [
        "2026-11-15"
      ],
      "description": "Planned joining date, YYYY-MM-DD. Matches vacancies boarding within one week of this date."
    }
  },
  "additionalProperties": false
}
search_maritime_jobs annotations
{
  "title": "Search maritime jobs",
  "readOnlyHint": true,
  "openWorldHint": false
}
get_maritime_job — Get maritime job details
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get the details of one Krew Guru vacancy by its vac_id: rank, vessel type and size, salary range in USD per month (net), contract length, boarding date and port, requirements (citizenship, English level, certificates, visas) and a vacancy_url to open it on krew.guru. Use this when the seafarer wants more about a vacancy returned by search_maritime_jobs or by create_seafarer_profile_draft (matched_vacancies). Do not use for searching (use search_maritime_jobs) or for company contact details, which are not returned.

get_maritime_job input schema
{
  "type": "object",
  "required": [
    "vac_id"
  ],
  "properties": {
    "vac_id": {
      "type": "string",
      "format": "uuid",
      "examples": [
        "4f1c2a9e-0000-4000-8000-000000000000"
      ],
      "description": "Vacancy id (vac_id) from search_maritime_jobs or matched_vacancies."
    }
  },
  "additionalProperties": false
}
get_maritime_job annotations
{
  "title": "Get maritime job details",
  "readOnlyHint": true,
  "openWorldHint": false
}
create_seafarer_profile_draft — Create seafarer profile draft from CV
Advertised by the server during the last successful anonymous check.
Open-world

Turn a seafarer CV (plain text the seafarer pasted or shared: sea service records, ranks, vessels, certificates) into a Krew Guru profile draft. Sends a sign-in code and link to the email in the CV (or to the email argument if the CV has none); the seafarer opens the email and enters the code on krew.guru to save the profile; no tool accepts that code. Returns the same result as the Krew Guru website: status (verification_sent, email_required, not_a_cv), masked email, handoff_url for the seafarer, up to 5 matched_vacancies, user_message and next_actions. Contacts and document numbers are not returned. If status is email_required, ask the seafarer for an email and call again with the same text and the email argument. Drafts expire after 24 hours. Limit: 6 CVs per 10 minutes. Use this when the seafarer asks to create or update a Krew Guru profile from a CV or to find jobs matching a CV. Do not use for CVs of other people without their consent, for non-maritime CVs, or for employer or vacancy data.

create_seafarer_profile_draft input schema
{
  "type": "object",
  "required": [
    "raw_cv_text"
  ],
  "properties": {
    "email": {
      "type": "string",
      "format": "email",
      "maxLength": 120,
      "description": "The seafarer's own email. Only needed after status email_required; an email found in the CV is used first."
    },
    "raw_cv_text": {
      "type": "string",
      "maxLength": 48000,
      "minLength": 40,
      "description": "Full CV text as provided by the seafarer, 40-48,000 characters, any language. Keep sea service records (vessel name, IMO, type, rank, dates)."
    }
  },
  "additionalProperties": false
}
create_seafarer_profile_draft annotations
{
  "title": "Create seafarer profile draft from CV",
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
get_profile_draft_status — Get profile draft status
Advertised by the server during the last successful anonymous check.
Advertised read-only

Check a Krew Guru profile draft by its draft_token from create_seafarer_profile_draft: status (verification_sent or email_required), masked email, CV preview without contacts, handoff_url and matched_vacancies. Use this when the seafarer comes back later and asks about the draft or the matched vacancies. An unknown or expired token returns an error; then create a new draft. Do not use for signing in or for entering the email code: the seafarer does that on krew.guru.

get_profile_draft_status input schema
{
  "type": "object",
  "required": [
    "draft_token"
  ],
  "properties": {
    "draft_token": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$",
      "description": "draft_token returned by create_seafarer_profile_draft (64 hex characters)."
    }
  },
  "additionalProperties": false
}
get_profile_draft_status annotations
{
  "title": "Get profile draft status",
  "readOnlyHint": true,
  "openWorldHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

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

Maintenance history

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

  • · probe · passed · 788 ms · metadata changed · 4 tool(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 krew-guru-mcp https://api.krew.guru/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 krew-guru-mcp --url https://api.krew.guru/mcp

Cursor

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

Cline

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

VS Code

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

Let your agent find its tools

Find servers like Krew Guru 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 Krew Guru 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