Skip to main content

Copilot Tools API

The Copilot MCP server exposes twenty tools.

ask

Ask GitHub Copilot a freeform question.

Parameters

ParameterTypeRequiredDescription
questionstringYesThe question to ask (max 500KB)

Response

Plain text string with Copilot's response.

Example

Input:

{
"question": "How does React's useEffect cleanup function work with async operations?"
}

code_review

Send a diff for review.

Parameters

ParameterTypeRequiredDescription
diffstringYesThe git diff to review (max 500KB)
contextstringNoAdditional context for the review

Response

JSON when the response is parseable as a ReviewResult, otherwise plain text.

interface ReviewResult {
verdict: "APPROVED" | "NEEDS_REVISION";
issues: Array<{
severity: "critical" | "major" | "minor";
description: string;
recommendation: string;
}>;
suggestions: string[];
}

Output Parsing

The Copilot server parses JSONL output from the copilot -p --output-format json CLI. Each line is a JSON object representing a message in the conversation. The server extracts the final assistant message and attempts to parse it as structured JSON.

If JSON parsing fails, the raw text response is returned. This means code_review may return either structured JSON or freeform text depending on Copilot's response format.


Resume & Career Tools

All 18 tools below are also available on the Claude and Codex servers with identical parameters. All return plain text with structured AI-generated content. For full methodology details and usage examples, see SKILLS.md and the Resume Tools Guide.

career_fact_extractor

Extract a structured, fact-ID-tagged database of career facts from any source material. Use before resume_tailor to enforce truthful, evidence-mapped tailoring.

Parameters

ParameterTypeRequiredDescription
source_materialstringYesResume, LinkedIn profile, brag doc, performance reviews, project notes — any source of career information (max 100KB)
additional_contextstringNoTarget role, industry, or any other relevant context

cover_letter_generator

Generate a personalized cover letter with match analysis, alternative hooks, and interview talking points.

Parameters

ParameterTypeRequiredDescription
resumestringYesCandidate's resume or experience summary
job_descriptionstringYesFull job posting text
company_namestringYesName of the target company
role_titlestringYesTitle of the role being applied for
additional_contextstringNoMutual connections, company news, personal motivation

creative_portfolio_resume

Generate both an ATS-compatible and a fully designed resume for creative professionals.

Parameters

ParameterTypeRequiredDescription
experiencestringYesWork history and project experience
skillsstringYesCreative and technical skills
fieldstringYesCreative field (e.g. graphic_design, ux_design, photography, writing, marketing)
target_rolestringNoSpecific role being targeted
portfolio_urlstringNoURL of the candidate's portfolio
additional_contextstringNoAny additional information

executive_resume_writer

Create a 2-3 page executive resume focused on leadership brand and strategic transformation story.

Parameters

ParameterTypeRequiredDescription
experiencestringYesCareer history including company context and scope
current_levelstringYesOne of: c_suite, vp, director, other_executive
target_rolestringNoTarget role or title
industrystringNoTarget industry
board_experiencestringNoBoard and advisory roles
additional_contextstringNoAny additional information

interview_prep_generator

Generate STAR-method interview prep with predicted questions ranked by probability.

Parameters

ParameterTypeRequiredDescription
resumestringYesCandidate's resume
job_descriptionstringYesJob posting text
company_namestringYesTarget company
role_titlestringYesRole being interviewed for
interview_formatstringNoe.g. behavioral, technical, panel, case study
additional_contextstringNoAny additional information

job_description_analyzer

Extract requirements, score match against a resume, detect red flags, and generate application recommendations.

Parameters

ParameterTypeRequiredDescription
job_descriptionstringYesFull job posting text
resumestringNoCandidate's resume (enables match scoring)
additional_contextstringNoAny additional information

linkedin_profile_optimizer

Rewrite a LinkedIn profile for recruiter visibility using LinkedIn's search algorithm best practices.

Parameters

ParameterTypeRequiredDescription
current_profilestringYesCurrent LinkedIn profile content (headline, about, experience)
target_rolestringNoRole type being targeted
industrystringNoTarget industry
resumestringNoResume for reference
additional_contextstringNoAny additional information

portfolio_case_study_writer

Write a structured portfolio case study in the six-section framework (Overview, Problem, Process, Solution, Results, Learnings).

Parameters

ParameterTypeRequiredDescription
project_descriptionstringYesProject context including your role and constraints
outcomesstringYesResults, metrics, and impact achieved
fieldstringYesOne of: product_management, design, engineering, marketing, other
depthstringNoessential (~700 words) or deep_dive (~2500 words). Default: essential
additional_contextstringNoAny additional information

reference_list_builder

Build a reference strategy with formatted list, briefing email templates, and talking points per reference.

Parameters

ParameterTypeRequiredDescription
referencesstringYesList of potential references with their details
target_rolestringYesRole being applied for
company_namestringYesTarget company
resume_highlightsstringNoKey achievements for references to emphasize
additional_contextstringNoAny additional information

resume_ats_optimizer

Optimize a resume to pass ATS screening via keyword matching and formatting compliance fixes.

Parameters

ParameterTypeRequiredDescription
resumestringYesCurrent resume text
job_descriptionstringYesJob posting to optimize against
industrystringNoIndustry context (tech, finance, healthcare, marketing)
additional_contextstringNoAny additional information

resume_bullet_writer

Transform weak, duty-focused bullets into achievement-focused statements using the X-Y-Z formula.

Parameters

ParameterTypeRequiredDescription
bulletsstringYesOne or more bullets to transform (one per line)
role_contextstringYesRole, company, and industry context
metrics_availablestringNoAny data or numbers that can be incorporated
additional_contextstringNoAny additional information

resume_formatter

Audit and fix resume formatting for ATS compliance and human readability.

Parameters

ParameterTypeRequiredDescription
resumestringYesResume text to format
career_levelstringYesOne of: entry_level, mid_level, senior_executive
additional_contextstringNoAny additional information

resume_quantifier

Add data-driven metrics to every bullet using six metric categories and estimation methodology.

Parameters

ParameterTypeRequiredDescription
bulletsstringYesBullets to quantify (one per line)
role_contextstringYesRole and industry context
data_availablestringNoAny raw data or numbers to draw from
additional_contextstringNoAny additional information

resume_section_builder

Build targeted resume sections (summary, skills, experience, education) tailored to career stage.

Parameters

ParameterTypeRequiredDescription
experiencestringYesWork history
skillsstringYesSkills and competencies
career_stagestringYesOne of: entry_level, mid_career, senior, executive, career_changer
target_rolestringYesRole being targeted
educationstringNoEducation history
additional_sectionsstringNoProjects, volunteer work, certifications, etc.
additional_contextstringNoAny additional information

resume_tailor

Tailor a master resume to a specific job posting by selecting and emphasizing relevant experience. When career_facts is provided, every tailored bullet maps to a source fact ID — producing an evidence map, a list of removed unsupported claims, and questions for missing proof.

Parameters

ParameterTypeRequiredDescription
resumestringYesMaster resume or current resume
job_descriptionstringYesFull job posting text
company_namestringYesTarget company
role_titlestringYesRole being applied for
career_factsstringNoFact-ID-tagged output from career_fact_extractor — enables evidence map and removed-claims output
additional_contextstringNoAny additional information

recruiter_first_screen_simulation

Simulate a skeptical hiring manager's 45-second resume screen. Returns a Yes/Maybe/No decision, scores across 6 dimensions, and exact text to rewrite before applying.

Parameters

ParameterTypeRequiredDescription
resumestringYesThe resume to screen (max 50KB)
job_descriptionstringYesThe job description for the role (max 20KB)
seniority_levelstringNoExpected seniority level for calibration (e.g. senior, staff, director)
additional_contextstringNoAny additional context for the simulation

resume_version_manager

Organize and maintain multiple resume versions using a master resume strategy and application tracker.

Parameters

ParameterTypeRequiredDescription
master_resumestringNoCurrent resume or experience (to build the master from)
existing_versionsstringNoDescription of existing resume files/versions
target_rolesstringNoTarget roles and industries
job_applicationsstringNoCurrent or recent job applications
additional_contextstringNoAny additional information

tech_resume_optimizer

Optimize resumes for software engineering, data, DevOps, and technical PM roles.

Parameters

ParameterTypeRequiredDescription
resumestringYesCurrent resume
role_typestringYese.g. software_engineer, data_engineer, devops_sre, technical_pm
job_descriptionstringNoTarget job posting (enables ATS keyword analysis)
career_levelstringNoe.g. junior, mid, senior, staff, principal
additional_contextstringNoAny additional information