{
  "name": "Peetchr",
  "description": "Peetchr is a Talent Intelligence platform that plugs into an existing ATS and uses AI to evaluate candidates on hard skills, soft skills, culture fit, and team fit - no candidate test required - so recruiters get an explainable, ranked shortlist for every role across their new applicants, their existing ATS talent pool, and their employees.",
  "version": "1.0.0",
  "serverUrl": "https://app.peetchr.com/api/mcp",
  "transport": "streamable-http",
  "documentationUrl": "https://peetchr.com/agents.md",
  "iconUrl": "https://peetchr.com/apple-icon.png",
  "authentication": {
    "type": "oauth2",
    "authorizationServer": "https://app.peetchr.com",
    "protectedResourceMetadata": "https://app.peetchr.com/.well-known/oauth-protected-resource/api/mcp",
    "registrationEndpoint": "https://app.peetchr.com/api/auth/mcp/register",
    "scopes": [
      "openid",
      "profile",
      "email",
      "offline_access",
      "peetchr:recruiter",
      "peetchr:recruiter:write",
      "peetchr:admin:recruiter",
      "peetchr:admin:sql"
    ]
  },
  "tools": [
    {
      "name": "listConfiguredJobs",
      "title": "List Configured Jobs",
      "description": "List configured, active Peetchr jobs with candidate and score aggregates that mirror the /jobs page."
    },
    {
      "name": "listJobCandidates",
      "title": "List Job Candidates",
      "description": "List candidates for one configured job, with score sorting and rediscovery / shortlist / rejected filters."
    },
    {
      "name": "searchCandidates",
      "title": "Search Candidates",
      "description": "Search organization-scoped candidates by candidateId, applicationId, jobId, or rediscovery flag; sortable by score."
    },
    {
      "name": "searchCandidateApplications",
      "title": "Search Candidate Applications",
      "description": "Search applications and inspect stage, ATS/comment sync, rediscovery, verification, and score status."
    },
    {
      "name": "presentCandidate",
      "title": "Present Candidate",
      "description": "Return the recruiter-facing overview for one application: why-this-candidate summary, strengths, focus points, culture fit, scoring insights, and documents."
    },
    {
      "name": "getCandidateData",
      "title": "Get Candidate Data",
      "description": "Get full candidate debug data: profile, applications, reasoning-rich score history, attachments, questions, personality, and completion status."
    },
    {
      "name": "getScorecardConfig",
      "title": "Get Scorecard Config",
      "description": "Get the saved scorecard (job configuration) for one job: criteria, weights, skills, thresholds, and flags."
    },
    {
      "name": "getCreditBalance",
      "title": "Get Credit Balance",
      "description": "Get the organization remaining credit balance and current-period usage."
    },
    {
      "name": "generateScorecard",
      "title": "Generate Scorecard",
      "description": "Trigger AI scorecard generation for one job. Asynchronous; poll getGeneratedScorecard for the result. Requires peetchr:recruiter:write."
    },
    {
      "name": "editScorecardDraft",
      "title": "Edit Scorecard Draft",
      "description": "Merge and validate a scorecard configuration draft locally (no reads or writes) before saving. Available with the read scope."
    },
    {
      "name": "saveScorecard",
      "title": "Save Scorecard",
      "description": "Publish a job scorecard configuration. May create a new version and trigger rescoring; requires explicit user confirmation and peetchr:recruiter:write."
    },
    {
      "name": "createJob",
      "title": "Create Job",
      "description": "Create a job from structured data or an uploaded PDF/DOCX; both paths are LLM-structured identically. Requires peetchr:recruiter:write."
    },
    {
      "name": "createCandidate",
      "title": "Create Candidate",
      "description": "Create a candidate with one or more CV files and assign it to a job; runs the normal parsing and scoring pipeline. Requires peetchr:recruiter:write."
    },
    {
      "name": "parseDocument",
      "title": "Parse Document",
      "description": "Parse an uploaded PDF/DOCX into structured text for downstream job or candidate creation."
    },
    {
      "name": "acceptCandidate",
      "title": "Accept Candidate",
      "description": "Accept (shortlist) one application, with optional feedback. Applied immediately in Peetchr; ATS push depends on sync settings. Requires confirmation and peetchr:recruiter:write."
    },
    {
      "name": "rejectCandidate",
      "title": "Reject Candidate",
      "description": "Reject one application, with optional feedback. Applied immediately in Peetchr; ATS push depends on sync settings. Requires confirmation and peetchr:recruiter:write."
    },
    {
      "name": "findOrganizations",
      "title": "Find Organizations",
      "description": "Match a Peetchr organization by exact id or name so a Peetchr admin can target it. Peetchr admins only."
    },
    {
      "name": "inviteRecruiter",
      "title": "Invite Recruiter",
      "description": "Invite a recruiter into an organization; sends an email on every call. Requires confirmation. Peetchr admins only."
    }
  ]
}