Skip to main content
Glama

Krew Guru

Server Details

Maritime vacancies for seafarers and CV import into a Krew Guru profile.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.6/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a distinct object and action: create a profile draft, check a draft's status, search vacancies, and fetch one vacancy's details. The descriptions explicitly cross-reference each other (e.g. 'Do not use for searching (use search_maritime_jobs)'), and the create/status pair is cleanly separated by first call vs. later lookup. No plausible misselection path exists.

Naming Consistency4/5

All four names follow a snake_case verb_noun pattern (create_/get_/get_/search_), which is predictable. The only minor wrinkle is resource naming drift between 'seafarer_profile_draft' and 'profile_draft', plus 'maritime_job' as a third noun form, but the pattern itself never breaks.

Tool Count5/5

Four tools is well-scoped for a deliberately narrow surface: draft creation, draft status, job search, and job detail. Every tool has a clear role and none is redundant or padding; a larger set would imply capabilities the server explicitly disclaims.

Completeness4/5

The profile-draft lifecycle and the search→detail job flow are both covered, with the handoff to krew.guru clearly intended for code entry and applications. Minor gaps remain: no direct way to update a draft (only recreate), and search appears to omit a rank-list or pagination/refinement affordance beyond rank/vessel/date.

Available Tools

4 tools
create_seafarer_profile_draftCreate seafarer profile draft from CVAInspect

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.

NameRequiredDescriptionDefault
emailNoThe seafarer's own email. Only needed after status email_required; an email found in the CV is used first.
raw_cv_textYesFull CV text as provided by the seafarer, 40-48,000 characters, any language. Keep sea service records (vessel name, IMO, type, rank, dates).

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes far beyond the annotations: it discloses that a sign-in code and link are emailed, that no tool accepts the code, the exact status values (verification_sent, email_required, not_a_cv), that contacts and document numbers are withheld, that drafts expire in 24 hours, and a rate limit of 6 CVs per 10 minutes. These are exactly the side effects and constraints an agent needs for a non-idempotent, open-world mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense and front-loaded: the core transformation and the email handoff come first, then return shape, then retry rules, then limits and exclusions. It is a long single paragraph and the return-value enumeration could be tightened, but nearly every sentence carries operational value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description fully compensates by enumerating the return payload (status, masked email, handoff_url, up to 5 matched_vacancies, user_message, next_actions) and what is deliberately omitted. Combined with the retry path and expiry, an agent has everything needed to invoke and interpret the call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds procedural meaning the schema only hints at: the email argument is a fallback used only after email_required, and the retry must resend the same text alongside the email. It also frames the CV content expectations (sea service records, any language) rather than leaving them to the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: turning a seafarer CV into a Krew Guru profile draft, with the domain spelled out (sea service records, ranks, vessels, certificates). It is clearly distinguishable from siblings like get_profile_draft_status and search_maritime_jobs, which handle draft status and job search rather than CV ingestion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the triggering situations ('seafarer asks to create or update a Krew Guru profile from a CV or to find jobs matching a CV') and three exclusions (other people's CVs without consent, non-maritime CVs, employer/vacancy data). It also prescribes the follow-up path when status is email_required, so the agent knows the retry alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_maritime_jobGet maritime job detailsA
Read-only
Inspect

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.

NameRequiredDescriptionDefault
vac_idYesVacancy id (vac_id) from search_maritime_jobs or matched_vacancies.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds useful behavioral context by listing the returned fields, including a vacancy_url, and by clarifying that company contact details are not returned — a meaningful boundary for the agent. It does not mention auth or rate limits, but those are not essential here.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two tightly written sentences. It front-loads the purpose and return fields, then immediately follows with usage and exclusions — no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool with no output schema, the description is complete: it names the input source, lists the key returned fields, and rules out the two most likely wrong uses. An agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single vac_id parameter already has a description pointing to search_maritime_jobs or matched_vacancies. The description repeats that same sourcing information, adding little beyond the schema; baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Get the details of one Krew Guru vacancy by its vac_id') and enumerates exactly which fields are returned. It also explicitly distinguishes this from the sibling search_maritime_jobs, so an agent can select it without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use context: after search_maritime_jobs or when a vacancy comes from create_seafarer_profile_draft (matched_vacancies). It also states clear exclusions — not for searching (use search_maritime_jobs) and not for company contact details, which are not returned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_profile_draft_statusGet profile draft statusA
Read-only
Inspect

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.

NameRequiredDescriptionDefault
draft_tokenYesdraft_token returned by create_seafarer_profile_draft (64 hex characters).

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, but the description adds real behavioral detail beyond them: the error condition for unknown/expired tokens with a prescribed recovery, and the privacy posture (email is masked, CV preview omits contacts). Those two facts materially change how an agent should interpret and relay the result.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the operation and the return shape, then usage timing, then exclusions and failure handling. No sentence is redundant and no filler is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description correctly enumerates the returned fields itself. With one fully documented required parameter and annotations covering the safety profile, an agent has everything needed to call this tool and to interpret or handle its failure mode.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the schema already documents the draft_token's provenance and 64-hex format, so the description cannot add much. It reinforces provenance by naming create_seafarer_profile_draft and ties an invalid token to the error path, but that is marginal value over the structured field. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (check) and resource (a Krew Guru profile draft) and enumerates exactly what is returned: status with its two possible values, masked email, CV preview without contacts, handoff_url, and matched_vacancies. It also names the sibling create_seafarer_profile_draft as the origin of the token, so an agent can place it in the workflow without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit triggering condition ('when the seafarer comes back later and asks about the draft or the matched vacancies'), an explicit exclusion ('Do not use for signing in or for entering the email code'), and names where that action belongs instead (krew.guru). It also covers the failure path: an unknown or expired token returns an error, and the recovery is to create a new draft.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_maritime_jobsSearch maritime jobsA
Read-only
Inspect

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.

NameRequiredDescriptionDefault
rankNoRank (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".
limitNoHow many vacancies to return (1-20).
offsetNoSkip this many vacancies (paging).
ship_typeNoVessel 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_boardingNoPlanned joining date, YYYY-MM-DD. Matches vacancies boarding within one week of this date.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only cover readOnlyHint and openWorldHint, so the description must carry the rest — and it does: result cap of 20, only published vacancies with a future boarding date, salary as net USD/month, contract length, a vacancy_url, and the negative disclosure that company contacts are withheld because applying happens on krew.guru.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with verb, resource and filters, then results, then exclusions — a sensible order. The final exclusion sentence is long and stacks three negatives, but each clause is doing real disambiguation work, so there is little genuine waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return contract and does so fully (fields, currency basis, contact exclusion, apply path). Combined with the exclusion list and 100% schema coverage, an agent has everything needed to call it and interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already defines rank codes, ship_type groups, and the one-week boarding-date tolerance. The description still adds value by framing those parameters as the things a seafarer names in a query ('2/E jobs on bulk carriers joining in November'), though it adds no syntax beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('search open vacancies for seafarers on Krew Guru') plus the three filtering dimensions. It is clearly distinct from the siblings (create_seafarer_profile_draft, get_maritime_job, get_profile_draft_status) because it is the only discovery/list tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit use condition ('when a seafarer asks which jobs are open') with two concrete natural-language query examples. It also names four explicit exclusions (genuine-offer checks, jobs ashore, own applications), which is stronger than most sibling tools provide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • First observedcreate_seafarer_profile_draft
    • First observedget_maritime_job
    • First observedget_profile_draft_status
    • First observedsearch_maritime_jobs

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources