MCP tool inventory

What an assistant connected to BlueSkil can actually do

These are the tools a connected assistant such as Claude or ChatGPT can see. Each one is listed with a short description of what it does.

Anything that moves money, messages another person, or changes access is not completed by the assistant. Those tools hand back a next step, and you finish it in BlueSkil.

Tool names and their descriptions are shown exactly as an assistant receives them, in English.

Applications

  • applications_accept_contractorStaff a contractor onto a PROJECT job by accepting their application. Use this when the employer wants to: - Hire an applicant onto a project - Fill one of the project's slots - Confirm a contractor for multi-hire work ALWAYS HANDS OFF.
  • applications_createApply for a job posting.
  • applications_getGet detailed information about a specific application. Use this when the user wants to: - View details of a specific application - Check the status of an application - Read back the cover letter they sent Returns: id, jobId, jobTitle, jobCategory, companyId, companyName, status, coverLetter. Does NOT return the employer's private notes, who reviewed it, screening internals, or timestamps — an advertised field that the response withholds is a silent lie to the model, which then tells the user something it never received.
  • applications_listList recent job applications for the current user. Use this when the user wants to: - See all jobs they've applied for - Check application statuses - Review past applications - Filter applications by status The status filter accepts every state an application can be in: pending, submitted, reviewed, shortlisted, interviewing, offered, accepted, rejected, withdrawn, cancelled, expired.
  • applications_list_for_jobList the applications received for one of the caller's company's job postings. Use this when the user wants to: - See who applied to a specific job - Review candidates before changing an application's status The caller must be an active member of the company that posted the job, and must be its owner, assigned to it, or an owner or manager of that company. Applicant details are limited to what an employer needs to decide: no email address, no phone number, no screening notes.
  • applications_update_statusUpdate the status of an application.
  • applications_withdrawWithdraw an application.

Candidates

  • candidates_getGet detailed profile information for a specific candidate by ID. Use this when the user wants to: - View full details of a candidate from search results - Check a candidate's skills and experience - Review certifications and education Requires employer or employee role with live company membership, AND an unexpired seeker-profile access grant for THIS candidate — without that grant the call is refused. Returns first name, bio, location (city, state), skills, years of experience, certifications, education, availability, and preferred work types.
  • candidates_searchSearch for job candidates matching specific skills, experience, and location. Use this when an employer wants to: - Find candidates with specific skills (e.g., "Find electricians with OSHA 30") - Search for candidates near a location - Match candidates against a specific job posting - Find candidates with certain experience levels Examples: - "Find plumbers in Seattle with 3+ years experience" - "Search for electricians with commercial wiring experience" - "Find candidates matching my HVAC technician job" - "Show me entry-level welders near Denver" Candidate views are metered MONTHLY by subscription tier: 5 views/month on free, 50 on premium, resetting at the start of each calendar month.

Companies

  • companies_createCreate the exact server-prepared company the user just confirmed. IMPORTANT: This is a consequential action that creates a real company and grants employer role. Use this when the user wants to: - Start posting jobs as an employer - Create their company profile - Set up their business on BlueSkil Provisioning is once per user: if the caller has already provisioned a company through this tool, calling it again returns that existing company instead of creating another one.
  • companies_getGet public information about a specific company. Use this when the user wants to: - View a company's basic details - Check where a company is based before applying to its jobs - Confirm a company is active Returns ONLY: id, name, description, location (city, state, postalCode, country), industry, and status. Does NOT return the company's jobs or members — use jobs_search to find its postings.
  • companies_listList companies the user has access to (owns or works for). Use this when the user wants to: - See all companies they're associated with - Check which companies they own or work for - Browse company information Returns { summary, companies, returned, truncated, nextOffset }.
  • companies_preparePrepare a company for confirmation without creating it. The server maps the free-text trade to BlueSkil's canonical taxonomy and geocodes the coarse city/state location.

Drafting help

  • genui_analyze_cover_letterAnalyze a cover letter against a specific job, producing an EMPLOYER-side screening analysis. Use this when an employer wants to: - Screen an application's cover letter quickly - See a cover letter's strengths and red flags at a glance - Get a screening recommendation before a deeper review Returns a screening analysis with: - A summary of the letter - Strengths and red flags - Enthusiasm and professionalism scores - Key quotes from the letter - A screening recommendation (high-priority, review, or low-priority) - A confidence level There is NO 0-100 overall score, NO relevance score, and NO keyword matching. Each call consumes the user's monthly AI quota.
  • genui_enhance_job_descriptionEnhance and improve an existing job description using AI. Use this when an employer wants to: - Improve a poorly-written job description - Add missing sections or details - Make the description more engaging and professional - Improve SEO and readability scores Takes the current description and generates an enhanced version with: - Better structure and formatting - More engaging language - Complete sections (responsibilities, requirements, benefits) - Tracked changes showing what was improved Returns the enhanced description with before/after quality scores. location and payRange are optional, but when omitted the generator has no location or pay context to work with — results are better when you provide them. Each call consumes the user's monthly AI quota.
  • genui_generate_job_descriptionGenerate a professional job description from basic job information using AI. Use this when an employer wants to: - Create a job posting but doesn't know how to write a good description - Generate a professional description from minimal inputs - Get a well-structured job description with all important sections Required inputs: - Job title - Experience level (entry, mid, senior) - Location (city, state) - Pay range (min, max, period) Optional inputs for better results: - Trade category - Required certifications - Preferred skills - Company description - Benefits Returns a generated description with quality scores (SEO, readability, word count) and improvement suggestions. Each call consumes the user's monthly AI quota.

Jobs

  • jobs_createCapture a new job DRAFT for review in BlueSkil.
  • jobs_deleteDelete a job posting permanently.
  • jobs_getGet the public details of a specific job posting by ID. Use this when the user wants to: - View full details of a specific job - Get more information about a job from search results - Check requirements, benefits, or the job description Returns a public projection of the job (24 whitelisted fields): title, description, trade/category/type, experience level, skills and requiredSkills, requirements, responsibilities, benefits, pay (payRate or salaryMin/salaryMax/salaryType), isRemote, the JOB's status (e.g.
  • jobs_list_mineList the job postings belonging to the caller's company, across every status. Use this when the user wants to: - See what jobs they have open - Check a paused, draft or closed posting - Find out how many people have applied to each Owners, managers, and staff with the manage-jobs permission see every posting. Other staff see only the postings they own or are assigned to.
  • jobs_publishPublish the user's OWN job draft after they confirmed it.
  • jobs_publish_preparePrepare to publish one of the user's OWN job DRAFTS from BlueSkil.
  • jobs_searchSearch for skilled trades apprenticeship jobs. Use this when the user wants to: - Find jobs near a specific location - Look for jobs in a specific trade (electrical, plumbing, HVAC, etc.) - Browse available apprenticeship opportunities Examples: - "Find electrician jobs in San Francisco" - "Show me entry-level plumbing apprenticeships" - "Are there HVAC jobs near Boston?" - "Search for carpentry jobs within 50 miles of Denver" How the inputs are applied: location (when it can be geocoded) is a real distance filter; trade and experienceLevel are folded into the free-text search query, NOT applied as hard filters — results may include other trades or levels. Returns { summary, jobs, returned, truncated, searchMetadata }.
  • jobs_updateUpdate an existing job posting.

Matches

  • matches_listList the matches the platform has already computed. Use this when the user wants to browse rather than hear a summary: - A job seeker: "show me my matches" — recommended jobs - An employer: "who matched the Henderson job?" — matched candidates for one job Employers must supply a jobId and must be able to read that job's pipeline. Rows are match REFERENCES, not details.

Messages

  • messages_get_conversationGet messages from a specific conversation. Use this when the user wants to: - Read messages in a conversation - View conversation history - Check message thread Returns conversation details and messages in chronological order.
  • messages_list_conversationsList conversations for the current user. Use this when the user wants to: - See their message inbox - View all conversations - Check for unread messages - Browse conversation history Returns conversations with the other participant, unread count, and lastMessage — which carries the FULL text of the last message, not a truncated preview. Note: unreadOnly filters the fetched page after the limit is applied, so fewer than "limit" conversations may be returned even when more unread conversations exist — raise the limit to see more.
  • messages_mark_readMark a conversation as read. Use this when the user wants to: - Clear unread count for a conversation - Mark messages as read - Clean up inbox Marks all messages in the conversation as read.
  • messages_sendReply in a conversation the user already participates in. IMPORTANT: This sends a real message to another person, immediately and irreversibly.

Getting started

  • onboarding_startPrepare a new BlueSkil account from details the user supplied in this conversation.
  • onboarding_statusCheck whether the caller has finished BlueSkil onboarding after confirming in the app.

Profile and role

  • profile_getGet the current user's profile information. Use this when the user wants to: - View their own profile - Check their active role (seeker, employer, employee) - See their account details Returns name, email, phone number, profile photo, which of seeker/employer/employee are active, the current role context and active company id. Does NOT return profile completion, company associations or settings — the response is deliberately minimised (#2525), and the description said otherwise until r2.
  • profile_healthReport the caller's latest precomputed seeker-profile health score, and whether the profile is eligible for job matching. Use this when the user asks: - "How complete is my profile?" - "Has my profile been scored yet?" - "Why am I not getting matched?" Job seekers only.
  • profile_switch_roleSwitch the user's active role context (seeker, employer, or employee). Use this when the user wants to: - Switch between job seeker and employer modes - Change their active context - Access different features based on role Example: "Switch to employer mode" or "I want to act as a job seeker now" The user must have the target role capability enabled.
  • profile_updateUpdate the current user's profile information. Use this when the user wants to: - Update their first or last name - Change their phone number - Set a new profile image URL - Build or amend their seeker profile in conversation For seeker fields, send free-text trade, skills, and a coarse city/state address. BlueSkil canonicalizes taxonomy and geocodes location server-side; never supply canonical IDs, coordinates, geohashes, completeness, or embedding fields. The write happens immediately through BlueSkil's normal profile boundary.

Safety and blocking

  • ugc_block_userBlock another user, so they can no longer message or interact with you. Use this when the user wants to: - Stop someone contacting them - Block a person they have had a bad experience with Blocking is immediate and reversible with ugc_unblock_user.
  • ugc_blocked_listList the people the user has blocked. Returns each blocked person's display name and when they were blocked.
  • ugc_policy_statusCheck whether the connected BlueSkil account has accepted the current content policy. Use this when a content action was refused and the reason may be an outstanding policy acceptance.
  • ugc_report_createStart a report about content or a person that violates BlueSkil's guidelines. Use this when the user wants to report harassment, spam, inappropriate content, or another policy violation.
  • ugc_unblock_userUnblock a user you previously blocked. Use this when the user wants to undo a block.

Updates

  • whats_newSummarise what has changed for the caller since they last checked. Use this when the user asks: - "Anything new for me?" - "What's happened since yesterday?" - "Any updates on BlueSkil?" Answers in the caller's current role.

How to connect an assistant