Pre-vetted senior LATAM engineers for US startups: hiring leads, open roles, applications.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
A lean structured interview loop for an engineering role: stages, owners, time budget, fixed questions, an anchored 1-4 rubric and a legal check of your questions.
Role and level
Must-haves (or a role scorecard), who can interview, any questions you already use
A lean structured interview loop for an engineering role: stages, owners, time budget, fixed questions, an anchored 1-4 rubric and a legal check of your questions.
| Argument | Type | Description |
|---|---|---|
| role* | string | Role and level |
| details | string | Must-haves (or a role scorecard), who can interview, any questions you already use |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"role"
],
"properties": {
"role": {
"type": "string",
"maxLength": 200,
"description": "Role and level"
},
"details": {
"type": "string",
"maxLength": 30000,
"description": "Must-haves (or a role scorecard), who can interview, any questions you already use"
}
},
"additionalProperties": false
}A 30-60-90 day plan for a new software engineer: least-privilege day-1 access, first PR in week one, a buddy plan, and milestones tied to the role scorecard.
| Argument | Type | Description |
|---|---|---|
| role* | string | Role and level |
| details | string | Start date, team, systems they will touch, the role scorecard outcomes, employee or contractor |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"role"
],
"properties": {
"role": {
"type": "string",
"maxLength": 200,
"description": "Role and level"
},
"details": {
"type": "string",
"maxLength": 30000,
"description": "Start date, team, systems they will touch, the role scorecard outcomes, employee or contractor"
}
},
"additionalProperties": false
}Turn a vague engineering hire ("we need a senior full-stack dev") into a role scorecard: mission, measurable 12-month outcomes, must-haves, competencies and an interview map. Start here before writing a job post.
| Argument | Type | Description |
|---|---|---|
| stack | string | Main technologies |
| role_title* | string | Working title, e.g. "Senior backend engineer" |
| company_context | string | Company stage, product, team today, why this hire now |
| what_success_looks_like | string | What this person must have achieved in 6-12 months, in your words |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"role_title"
],
"properties": {
"stack": {
"type": "string",
"maxLength": 300,
"description": "Main technologies"
},
"role_title": {
"type": "string",
"maxLength": 200,
"description": "Working title, e.g. \"Senior backend engineer\""
},
"company_context": {
"type": "string",
"maxLength": 30000,
"description": "Company stage, product, team today, why this hire now"
},
"what_success_looks_like": {
"type": "string",
"maxLength": 30000,
"description": "What this person must have achieved in 6-12 months, in your words"
}
},
"additionalProperties": false
}Work out what level a role really needs (by scope, not years), or what level a candidate really is from a CV, interview notes or an assessment report. Flags title inflation and gives 3 questions that separate adjacent levels.
| Argument | Type | Description |
|---|---|---|
| mode* | string | "role" = what level do I need; "candidate" = what level is this person |
| company_size | string | Your company size and stage, e.g. "8 people, seed" |
| role_description | string | The work: what they will own, who reviews them, how vague the goals are (or paste a role scorecard) |
| candidate_evidence | string | CV text, interview notes, an interview scorecard or an assessment report (remove contact details, IDs and dates of birth) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"mode"
],
"properties": {
"mode": {
"enum": [
"role",
"candidate"
],
"type": "string",
"description": "\"role\" = what level do I need; \"candidate\" = what level is this person"
},
"company_size": {
"type": "string",
"maxLength": 100,
"description": "Your company size and stage, e.g. \"8 people, seed\""
},
"role_description": {
"type": "string",
"maxLength": 30000,
"description": "The work: what they will own, who reviews them, how vague the goals are (or paste a role scorecard)"
},
"candidate_evidence": {
"type": "string",
"maxLength": 30000,
"description": "CV text, interview notes, an interview scorecard or an assessment report (remove contact details, IDs and dates of birth)"
}
},
"additionalProperties": false
}Answer Ruzora's 5 quick questions (roles, runway, budget per engineer, timing) to see whether a quote makes sense and the next step to it: usually a 15-minute call with the founder. Explains the flat monthly pricing; no price list. Sends the name, email and company given to Ruzora.
| Argument | Type | Description |
|---|---|---|
| runway* | string | Company runway: under 6 months, 6-12, 12-18, 18+, or bootstrapped without revenue |
| timing* | string | When you need them: asap, within_month, one_to_three_months, three_plus or no_timeline |
| company | string | Company name |
| full_name* | string | Full name |
| role_count* | string | How many engineers |
| work_email* | string | Work email |
| your_title* | string | The asker's own position: founder_ceo, cto_vp_eng, eng_manager, hr_ops_finance or other |
| buyer_token | string | Proof the user verified this work email: the buyer_token from confirm_work_email (valid 7 days). No token yet? Call verify_work_email first. |
Identity-verification protocol for remote engineering hires (fake candidates, stand-ins, North Korean IT worker schemes per FBI guidance) and a red-flag log for a specific candidate. Same checks for every finalist; never based on origin or accent.
| Argument | Type | Description |
|---|---|---|
| situation | string | Where you are in the process and what made you suspicious, if anything. Do not paste ID documents. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"situation": {
"type": "string",
"maxLength": 30000,
"description": "Where you are in the process and what made you suspicious, if anything. Do not paste ID documents."
}
},
"additionalProperties": false
}Whether Ruzora has vetted senior engineers in Latin America available now for a stack: each stack reads Available or On request. Words only: no counts, no profiles.
| Argument | Type | Description |
|---|---|---|
| stack | array | Optional: technologies to look for, e.g. ["Go", "AWS"] |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"stack": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40
},
"maxItems": 8,
"description": "Optional: technologies to look for, e.g. [\"Go\", \"AWS\"]"
}
},
"additionalProperties": false
}Which US state and city pay-transparency laws apply to a job post (pay range, benefits, close date), by hiring location, company size and remote status, with the statute for each. Dated; not legal advice.
| Argument | Type | Description |
|---|---|---|
| remote | boolean | True if the role is remote |
| locations* | array | Where the role can be filled, e.g. ["California", "New York City"] or ["remote US"] |
| employee_count | number | Total employees (thresholds differ by state) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"locations"
],
"properties": {
"remote": {
"type": "boolean",
"description": "True if the role is remote"
},
"locations": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80
},
"maxItems": 20,
"description": "Where the role can be filled, e.g. [\"California\", \"New York City\"] or [\"remote US\"]"
},
"employee_count": {
"type": "number",
"maximum": 1000000,
"minimum": 1,
"description": "Total employees (thresholds differ by state)"
}
},
"additionalProperties": false
}Neutral 12-month cost and risk comparison of US employee, US contractor, freelancer, agency, staff augmentation and international contractor/EOR, on your own numbers. Published by Ruzora, a staff augmentation firm; every option uses the same formula.
| Argument | Type | Description |
|---|---|---|
| role* | string | Role and level |
| numbers | string | Salary or quotes you have per option, location, start-by date, how long you need the person |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"role"
],
"properties": {
"role": {
"type": "string",
"maxLength": 200,
"description": "Role and level"
},
"numbers": {
"type": "string",
"maxLength": 30000,
"description": "Salary or quotes you have per option, location, start-by date, how long you need the person"
}
},
"additionalProperties": false
}Step 2: the 6-digit code the user read from the email, with the verification_id from verify_work_email (or the verification_id alone once they clicked the link), becomes a buyer_token for verified Ruzora actions, valid 7 days, and opens their Sol account. Sends the email and code to Ruzora.
| Argument | Type | Description |
|---|---|---|
| code | string | The 6-digit code from the email, exactly as the user typed it |
| work_email* | string | The same work email given to verify_work_email |
| verification_id | string | From verify_work_email: always pass it, with the code, or alone once the user clicked "Yes, this is me" in the email |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"work_email"
],
"properties": {
"code": {
"type": "string",
"maxLength": 12,
"description": "The 6-digit code from the email, exactly as the user typed it"
},
"work_email": {
"type": "string",
"format": "email",
"maxLength": 254,
"description": "The same work email given to verify_work_email"
},
"verification_id": {
"type": "string",
"maxLength": 64,
"description": "From verify_work_email: always pass it, with the code, or alone once the user clicked \"Yes, this is me\" in the email"
}
},
"additionalProperties": false
}Request a custom software project from Ruzora's Software Factory. Fixed-price development by senior LATAM engineers.
| Argument | Type | Description |
|---|---|---|
| name* | string | Contact person name |
| email* | string | Business email |
| budget | string | Budget range (USD) |
| company* | string | Company name |
| timeline | string | Desired timeline |
| description* | string | What you want built |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name",
"email",
"company",
"description"
],
"properties": {
"name": {
"type": "string",
"description": "Contact person name"
},
"email": {
"type": "string",
"format": "email",
"description": "Business email"
},
"budget": {
"enum": [
"10k-25k",
"25k-50k",
"50k-100k",
"100k+"
],
"type": "string",
"description": "Budget range (USD)"
},
"company": {
"type": "string",
"description": "Company name"
},
"timeline": {
"enum": [
"1-2 months",
"2-4 months",
"4-6 months",
"6+ months"
],
"type": "string",
"description": "Desired timeline"
},
"description": {
"type": "string",
"description": "What you want built"
}
},
"additionalProperties": false
}Design a coding test that still works when candidates have AI: seeded-bug review, extend-a-codebase or a paid trial, with a hidden rubric and the follow-up conversation that tests understanding.
| Argument | Type | Description |
|---|---|---|
| role* | string | Role and level |
| stack* | string | Language and framework the task should use |
| details | string | Time you can ask of candidates, your AI policy, what the job really involves |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"role",
"stack"
],
"properties": {
"role": {
"type": "string",
"maxLength": 200,
"description": "Role and level"
},
"stack": {
"type": "string",
"maxLength": 300,
"description": "Language and framework the task should use"
},
"details": {
"type": "string",
"maxLength": 30000,
"description": "Time you can ask of candidates, your AI policy, what the job really involves"
}
},
"additionalProperties": false
}Check resume text for hidden instructions aimed at AI screeners ("ignore previous instructions", invisible characters, keyword stuffing) before any AI reads it. Flags for a human; never rejects.
| Argument | Type | Description |
|---|---|---|
| resume_text* | string | The resume text as extracted from the file |
| hidden_segments | array | Optional: text your PDF tool marked as white, tiny or hidden |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"resume_text"
],
"properties": {
"resume_text": {
"type": "string",
"maxLength": 60000,
"description": "The resume text as extracted from the file"
},
"hidden_segments": {
"type": "array",
"items": {
"type": "string",
"maxLength": 5000
},
"maxItems": 50,
"description": "Optional: text your PDF tool marked as white, tiny or hidden"
}
},
"additionalProperties": false
}An interview kit for founders and managers who are not engineers: questions, what a strong answer and a bluff sound like, and follow-up ladders tailored to the stack and level.
| Argument | Type | Description |
|---|---|---|
| role* | string | Role, level and stack |
| details | string | What the person will own, and any questions you planned to ask |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"role"
],
"properties": {
"role": {
"type": "string",
"maxLength": 200,
"description": "Role, level and stack"
},
"details": {
"type": "string",
"maxLength": 30000,
"description": "What the person will own, and any questions you planned to ask"
}
},
"additionalProperties": false
}Ruzora's standard terms in plain words, from the published terms: pricing model, the 90-day initial commitment and notice, the 60-day replacement guarantee and its limits, refunds, the factory warranty, speed, and how an engagement starts.
| Argument | Type | Description |
|---|---|---|
| topic | string | Which term: all, pricing, commitment, refunds, guarantee, factory_warranty, delivery or process |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"topic": {
"enum": [
"all",
"pricing",
"commitment",
"refunds",
"guarantee",
"factory_warranty",
"delivery",
"process"
],
"type": "string",
"description": "Which term: all, pricing, commitment, refunds, guarantee, factory_warranty, delivery or process"
}
},
"additionalProperties": false
}Get comprehensive information about Ruzora's services, process, value proposition, and differentiators.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Get detailed information about a specific job role including responsibilities, requirements, and tech stack.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Job slug (e.g., "devops-engineer", "ai-engineer") |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Job slug (e.g., \"devops-engineer\", \"ai-engineer\")"
}
},
"additionalProperties": false
}Check progress on a coding challenge you sent through Ruzora: not started, in progress, finished, or expired, and scores once the report is delivered. Pass the status page URL.
| Argument | Type | Description |
|---|---|---|
| status_url* | string | The status page URL (or its token) returned when the challenge was sent |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"status_url"
],
"properties": {
"status_url": {
"type": "string",
"maxLength": 400,
"description": "The status page URL (or its token) returned when the challenge was sent"
}
},
"additionalProperties": false
}Paste any engineering job post and get a fix list: missing pay range where required, "US citizens only", age/gender/origin-coded words, salary-history asks, too many must-haves. Deterministic; nothing stored.
| Argument | Type | Description |
|---|---|---|
| locations | array | Where the role can be filled (for pay-range rules) |
| post_text* | string | The full job post text |
| employee_count | number | Total employees |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"post_text"
],
"properties": {
"locations": {
"type": "array",
"items": {
"type": "string",
"maxLength": 80
},
"maxItems": 20,
"description": "Where the role can be filled (for pay-range rules)"
},
"post_text": {
"type": "string",
"maxLength": 30000,
"description": "The full job post text"
},
"employee_count": {
"type": "number",
"maximum": 1000000,
"minimum": 1,
"description": "Total employees"
}
},
"additionalProperties": false
}Get all currently open engineering roles at Ruzora. Returns titles, tech stacks, experience levels, and application URLs.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}A reference-check plan for an engineering finalist: verify the referees are real, a call script aimed at the risks found in interviews, and a risk register for the answers.
| Argument | Type | Description |
|---|---|---|
| referees | string | Who the candidate offered as references (names, companies, relationship) |
| candidate_summary | string | Role, the candidate's CV highlights, and the open risks from interviews |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"referees": {
"type": "string",
"maxLength": 30000,
"description": "Who the candidate offered as references (names, companies, relationship)"
},
"candidate_summary": {
"type": "string",
"maxLength": 30000,
"description": "Role, the candidate's CV highlights, and the open risks from interviews"
}
},
"additionalProperties": false
}For anyone who wants an app or software built, or a failing app or agency project rescued, by Ruzora's Software Factory (fixed price, milestones). Checks fit (budget, timing) and returns a scoping-call booking link when it fits. Sends the name, email and company given to Ruzora.
| Argument | Type | Description |
|---|---|---|
| kind* | string | "build" = new app or software; "rescue" = fix or take over a failing app or agency project |
| budget* | string | Budget: under $15K, $15-50K, $50-150K, over $150K, or not sure |
| timing* | string | When to start |
| company | string | Company or business name |
| full_name* | string | Full name |
| work_email* | string | |
| your_title* | string | The asker's own position: founder_ceo, cto_vp_eng, eng_manager, hr_ops_finance or other |
| buyer_token | string | Proof the user verified this work email: the buyer_token from confirm_work_email (valid 7 days). No token yet? Call verify_work_email first. |
Ask Ruzora for a shortlist of vetted senior engineers in Latin America for a role (ideally from a role scorecard). A vetted shortlist within 72 hours; profiles are blind until an agreement is signed. Needs a work email. Sends the name, email and company given to Ruzora.
| Argument | Type | Description |
|---|---|---|
| role* | string | Role title, e.g. "Senior backend engineer" |
| notes | string | Context: what they will own, time-zone needs, the role scorecard summary |
| company* | string | Company name |
| timeline | string | When they should start, e.g. "within a month" |
| engineers | number | How many engineers (default 1) |
| full_name* | string | Hiring manager full name |
| seniority* | string | Seniority: mid (3-5 years), senior (5-8 years) or staff (8+ years, lead) |
| work_email* | string | Work email (personal inboxes are refused). The shortlist goes here. |
Plain-English review of a candidate's GitHub repo or code sample for non-technical hirers: quality signals, authorship checks, a risky-function trace and questions that reveal who really wrote it.
| Argument | Type | Description |
|---|---|---|
| role | string | Role and level you are hiring for |
| code_or_repo | string | Paste the code, file excerpts, README and commit history (or describe the repo) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"role": {
"type": "string",
"maxLength": 200,
"description": "Role and level you are hiring for"
},
"code_or_repo": {
"type": "string",
"maxLength": 30000,
"description": "Paste the code, file excerpts, README and commit history (or describe the repo)"
}
},
"additionalProperties": false
}Save the role being hired for in the user's Sol workspace (Ruzora's hiring agent), where shortlists and documents for it collect. Needs a buyer_token from confirm_work_email. Sends the role details to Ruzora.
| Argument | Type | Description |
|---|---|---|
| notes | string | What the person will own; the scorecard summary |
| stack | array | Main technologies |
| title* | string | Role title, e.g. "Senior backend engineer" |
| seniority | string | junior, mid, senior or staff |
| work_email* | string | The verified work email |
| buyer_token | string | Proof the user verified this work email: the buyer_token from confirm_work_email (valid 7 days). No token yet? Call verify_work_email first. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"work_email",
"title"
],
"properties": {
"notes": {
"type": "string",
"maxLength": 2000,
"description": "What the person will own; the scorecard summary"
},
"stack": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40
},
"maxItems": 12,
"description": "Main technologies"
},
"title": {
"type": "string",
"maxLength": 200,
"description": "Role title, e.g. \"Senior backend engineer\""
},
"seniority": {
"enum": [
"junior",
"mid",
"senior",
"staff"
],
"type": "string",
"description": "junior, mid, senior or staff"
},
"work_email": {
"type": "string",
"format": "email",
"maxLength": 254,
"description": "The verified work email"
},
"buyer_token": {
"type": "string",
"maxLength": 1024,
"description": "Proof the user verified this work email: the buyer_token from confirm_work_email (valid 7 days). No token yet? Call verify_work_email first."
}
},
"additionalProperties": false
}Turn raw interview notes into an anchored scorecard per interviewer and a debrief memo with evidence, disagreements and bias flags. You make the decision.
| Argument | Type | Description |
|---|---|---|
| notes | string | Each interviewer's raw notes, labeled by interviewer and stage |
| must_haves | string | The role's must-haves or scorecard |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"notes": {
"type": "string",
"maxLength": 30000,
"description": "Each interviewer's raw notes, labeled by interviewer and stage"
},
"must_haves": {
"type": "string",
"maxLength": 30000,
"description": "The role's must-haves or scorecard"
}
},
"additionalProperties": false
}See blind profiles of senior engineers in Latin America who already passed Ruzora's coding and interview vetting and are available now, filtered by stack, level and US-hours overlap.
| Argument | Type | Description |
|---|---|---|
| page | number | Optional page of results: 1 (default) is the best matches. Send 2, 3... only when the user asks to see more engineers for the same search; the previous result names the next page. |
| level | string | Optional seniority filter |
| stack* | array | Technologies, e.g. ["React", "Node", "AWS"] |
| min_overlap_hours | number | Optional minimum overlap with US working hours |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"stack"
],
"properties": {
"page": {
"type": "number",
"maximum": 10,
"minimum": 1,
"description": "Optional page of results: 1 (default) is the best matches. Send 2, 3... only when the user asks to see more engineers for the same search; the previous result names the next page."
},
"level": {
"enum": [
"Mid",
"Senior",
"Staff"
],
"type": "string",
"description": "Optional seniority filter"
},
"stack": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40
},
"maxItems": 8,
"description": "Technologies, e.g. [\"React\", \"Node\", \"AWS\"]"
},
"min_overlap_hours": {
"type": "number",
"maximum": 10,
"minimum": 0,
"description": "Optional minimum overlap with US working hours"
}
},
"additionalProperties": false
}Runs Ruzora's coding challenge + technical questions (~25 min, free) on a candidate the user found; returns a candidate link and a status link. Needs the user's confirmation that the candidate knows. Sends both names, the email, company and profile links to Ruzora.
| Argument | Type | Description |
|---|---|---|
| role* | string | Role being hired, e.g. "Senior backend engineer" |
| stack | string | Main stack, e.g. "Python, Django, Postgres" |
| company* | string | Hiring company name |
| work_email* | string | Their WORK email (personal inboxes are refused). The report and status go here. |
| buyer_token | string | Proof the user verified this work email: the buyer_token from confirm_work_email (valid 7 days). No token yet? Call verify_work_email first. |
| candidate_name* | string | Candidate's name |
| requester_name* | string | Full name of the person hiring |
| candidate_informed* | boolean |
Ruzora's free scoping interview for an app or software idea: returns the interview your AI runs with the user, producing an Idea Read (what to build first, hard parts, build-or-buy verdict) that Ruzora can turn into a verdict and a PDF.
| Argument | Type | Description |
|---|---|---|
| idea | string | Optional: the idea in the user's words, to start the interview from |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"idea": {
"type": "string",
"maxLength": 2000,
"description": "Optional: the idea in the user's words, to start the interview from"
}
},
"additionalProperties": false
}Apply to Ruzora's talent network. For software engineers in LATAM interested in remote positions with US startups paying USD salaries. Consent: submitting sends these details to Ruzora (US-hosted) for recruiting. See https://www.ruzora.com/privacy.
| Argument | Type | Description |
|---|---|---|
| email* | string | Email address |
| phone | string | Phone number |
| message | string | Brief intro or relevant experience |
| last_name* | string | Last name |
| first_name* | string | First name |
| linkedin_url | string | LinkedIn profile URL |
| role_category* | string | Primary role category |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"first_name",
"last_name",
"email",
"role_category"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"description": "Email address"
},
"phone": {
"type": "string",
"description": "Phone number"
},
"message": {
"type": "string",
"description": "Brief intro or relevant experience"
},
"last_name": {
"type": "string",
"description": "Last name"
},
"first_name": {
"type": "string",
"description": "First name"
},
"linkedin_url": {
"type": "string",
"description": "LinkedIn profile URL"
},
"role_category": {
"enum": [
"fullstack-typescript",
"fullstack-python",
"devops",
"data-engineering",
"ml-ai",
"security",
"platform",
"mobile",
"frontend-react",
"java-spring",
"general"
],
"type": "string",
"description": "Primary role category"
}
},
"additionalProperties": false
}Send the Idea Read your AI wrote (from start_honest_read) to Ruzora to get a verdict (keep going yourself, one developer, or a small team) and the PDF by email. Any email works. Sends the email, first name and Idea Read given here to Ruzora, which uses them to send the report.
| Argument | Type | Description |
|---|---|---|
| email* | string | Where to send the PDF (personal email is fine) |
| first_name | string | First name for the report |
| idea_read_markdown* | string | The full Idea Read text the interview produced |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"email",
"idea_read_markdown"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"maxLength": 254,
"description": "Where to send the PDF (personal email is fine)"
},
"first_name": {
"type": "string",
"maxLength": 100,
"description": "First name for the report"
},
"idea_read_markdown": {
"type": "string",
"maxLength": 20000,
"description": "The full Idea Read text the interview produced"
}
},
"additionalProperties": false
}Screen engineering CVs against your must-haves with evidence scores, blind mode, hidden-text flags and screening-call questions. Organizes evidence; never rejects anyone for you.
| Argument | Type | Description |
|---|---|---|
| resumes | string | Pasted CV text, one after another. Remove contact details, IDs and dates of birth. |
| blind_mode | boolean | Strip names, photos, schools and dates before scoring |
| must_haves | string | The role's must-haves (or paste a role scorecard) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"resumes": {
"type": "string",
"maxLength": 30000,
"description": "Pasted CV text, one after another. Remove contact details, IDs and dates of birth."
},
"blind_mode": {
"type": "boolean",
"description": "Strip names, photos, schools and dates before scoring"
},
"must_haves": {
"type": "string",
"maxLength": 30000,
"description": "The role's must-haves (or paste a role scorecard)"
}
},
"additionalProperties": false
}Check that a candidate's "Ruzora Vetted" badge is real and current, which stacks it covers, and when the vetting happened. Pass the badge ID or badge URL.
| Argument | Type | Description |
|---|---|---|
| badge* | string | Badge ID (a UUID) or the badge/verification URL |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"badge"
],
"properties": {
"badge": {
"type": "string",
"maxLength": 300,
"description": "Badge ID (a UUID) or the badge/verification URL"
}
},
"additionalProperties": false
}Step 1 before a Ruzora action that needs a verified buyer: emails the user a 6-digit code and a confirm link. The user reads the code back; confirm_work_email takes it. Sends the email address to Ruzora.
| Argument | Type | Description |
|---|---|---|
| for_tool | string | Which action this verification is for (the email names it, so the user knows what they confirm) |
| work_email* | string | The user's WORK email (personal inboxes are refused) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"work_email"
],
"properties": {
"for_tool": {
"enum": [
"request_vetted_shortlist",
"check_hiring_fit",
"send_coding_challenge",
"request_project_scoping_call",
"save_role"
],
"type": "string",
"description": "Which action this verification is for (the email names it, so the user knows what they confirm)"
},
"work_email": {
"type": "string",
"format": "email",
"maxLength": 254,
"description": "The user's WORK email (personal inboxes are refused)"
}
},
"additionalProperties": false
}Write a software engineer job post senior engineers answer, plus a compliance check: pay range rules by location, citizenship wording, exclusionary language and requirement inflation.
| Argument | Type | Description |
|---|---|---|
| details | string | Scorecard or notes: what they will own, stack, team, pay range, remote rules, hiring locations, benefits |
| role_title* | string | Role title |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"role_title"
],
"properties": {
"details": {
"type": "string",
"maxLength": 30000,
"description": "Scorecard or notes: what they will own, stack, team, pay range, remote rules, hiring locations, benefits"
},
"role_title": {
"type": "string",
"maxLength": 200,
"description": "Role title"
}
},
"additionalProperties": false
}| seat_budget* | string | Monthly budget per engineer: under $4,500, $4,500-5,999, $6,000-7,999, $8,000+, or not sure |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"full_name",
"work_email",
"your_title",
"role_count",
"runway",
"seat_budget",
"timing"
],
"properties": {
"runway": {
"enum": [
"lt_6mo",
"6_12mo",
"12_18mo",
"18_plus_mo",
"bootstrapped_no_revenue"
],
"type": "string",
"description": "Company runway: under 6 months, 6-12, 12-18, 18+, or bootstrapped without revenue"
},
"timing": {
"enum": [
"asap",
"within_month",
"one_to_three_months",
"three_plus",
"no_timeline"
],
"type": "string",
"description": "When you need them: asap, within_month, one_to_three_months, three_plus or no_timeline"
},
"company": {
"type": "string",
"maxLength": 200,
"description": "Company name"
},
"full_name": {
"type": "string",
"maxLength": 200,
"description": "Full name"
},
"role_count": {
"enum": [
"one",
"two_three",
"four_plus",
"not_sure"
],
"type": "string",
"description": "How many engineers"
},
"work_email": {
"type": "string",
"format": "email",
"maxLength": 254,
"description": "Work email"
},
"your_title": {
"enum": [
"founder_ceo",
"cto_vp_eng",
"eng_manager",
"hr_ops_finance",
"other"
],
"type": "string",
"description": "The asker's own position: founder_ceo, cto_vp_eng, eng_manager, hr_ops_finance or other"
},
"buyer_token": {
"type": "string",
"maxLength": 1024,
"description": "Proof the user verified this work email: the buyer_token from confirm_work_email (valid 7 days). No token yet? Call verify_work_email first."
},
"seat_budget": {
"enum": [
"lt_4500",
"4500_5999",
"6000_7999",
"8000_plus",
"not_sure"
],
"type": "string",
"description": "Monthly budget per engineer: under $4,500, $4,500-5,999, $6,000-7,999, $8,000+, or not sure"
}
},
"additionalProperties": false
}| project_summary | string | One paragraph: what to build or what is broken (shown back to help you prepare the call) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"full_name",
"work_email",
"kind",
"budget",
"timing",
"your_title"
],
"properties": {
"kind": {
"enum": [
"build",
"rescue"
],
"type": "string",
"description": "\"build\" = new app or software; \"rescue\" = fix or take over a failing app or agency project"
},
"budget": {
"enum": [
"under_15k",
"15_to_50k",
"50_to_150k",
"over_150k",
"not_sure"
],
"type": "string",
"description": "Budget: under $15K, $15-50K, $50-150K, over $150K, or not sure"
},
"timing": {
"enum": [
"asap",
"within_month",
"one_to_three_months",
"three_plus",
"no_timeline"
],
"type": "string",
"description": "When to start"
},
"company": {
"type": "string",
"maxLength": 200,
"description": "Company or business name"
},
"full_name": {
"type": "string",
"maxLength": 200,
"description": "Full name"
},
"work_email": {
"type": "string",
"format": "email",
"maxLength": 254,
"description": "Email"
},
"your_title": {
"enum": [
"founder_ceo",
"cto_vp_eng",
"eng_manager",
"hr_ops_finance",
"other"
],
"type": "string",
"description": "The asker's own position: founder_ceo, cto_vp_eng, eng_manager, hr_ops_finance or other"
},
"buyer_token": {
"type": "string",
"maxLength": 1024,
"description": "Proof the user verified this work email: the buyer_token from confirm_work_email (valid 7 days). No token yet? Call verify_work_email first."
},
"project_summary": {
"type": "string",
"maxLength": 2000,
"description": "One paragraph: what to build or what is broken (shown back to help you prepare the call)"
}
},
"additionalProperties": false
}| buyer_token |
| string |
| Proof the user verified this work email: the buyer_token from confirm_work_email (valid 7 days). No token yet? Call verify_work_email first. |
| required_skills | array | Must-have skills only (hard filter), e.g. ["Python", "Postgres"] |
| preferred_skills | array | Nice-to-have skills (ranking only) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"full_name",
"work_email",
"company",
"role",
"seniority"
],
"properties": {
"role": {
"type": "string",
"maxLength": 200,
"description": "Role title, e.g. \"Senior backend engineer\""
},
"notes": {
"type": "string",
"maxLength": 2000,
"description": "Context: what they will own, time-zone needs, the role scorecard summary"
},
"company": {
"type": "string",
"maxLength": 200,
"description": "Company name"
},
"timeline": {
"type": "string",
"maxLength": 100,
"description": "When they should start, e.g. \"within a month\""
},
"engineers": {
"type": "number",
"maximum": 20,
"minimum": 1,
"description": "How many engineers (default 1)"
},
"full_name": {
"type": "string",
"maxLength": 160,
"description": "Hiring manager full name"
},
"seniority": {
"enum": [
"mid",
"senior",
"staff"
],
"type": "string",
"description": "Seniority: mid (3-5 years), senior (5-8 years) or staff (8+ years, lead)"
},
"work_email": {
"type": "string",
"format": "email",
"maxLength": 254,
"description": "Work email (personal inboxes are refused). The shortlist goes here."
},
"buyer_token": {
"type": "string",
"maxLength": 1024,
"description": "Proof the user verified this work email: the buyer_token from confirm_work_email (valid 7 days). No token yet? Call verify_work_email first."
},
"required_skills": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60
},
"maxItems": 8,
"description": "Must-have skills only (hard filter), e.g. [\"Python\", \"Postgres\"]"
},
"preferred_skills": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60
},
"maxItems": 12,
"description": "Nice-to-have skills (ranking only)"
}
},
"additionalProperties": false
}| True only when the user has confirmed the candidate knows they will receive a technical assessment from Ruzora on the company's behalf. |
| candidate_github_url | string | Optional GitHub profile URL |
| candidate_linkedin_url | string | Optional LinkedIn profile URL |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"requester_name",
"work_email",
"company",
"role",
"candidate_name",
"candidate_informed"
],
"properties": {
"role": {
"type": "string",
"maxLength": 200,
"description": "Role being hired, e.g. \"Senior backend engineer\""
},
"stack": {
"type": "string",
"maxLength": 300,
"description": "Main stack, e.g. \"Python, Django, Postgres\""
},
"company": {
"type": "string",
"maxLength": 200,
"description": "Hiring company name"
},
"work_email": {
"type": "string",
"format": "email",
"maxLength": 254,
"description": "Their WORK email (personal inboxes are refused). The report and status go here."
},
"buyer_token": {
"type": "string",
"maxLength": 1024,
"description": "Proof the user verified this work email: the buyer_token from confirm_work_email (valid 7 days). No token yet? Call verify_work_email first."
},
"candidate_name": {
"type": "string",
"maxLength": 160,
"description": "Candidate's name"
},
"requester_name": {
"type": "string",
"maxLength": 160,
"description": "Full name of the person hiring"
},
"candidate_informed": {
"type": "boolean",
"description": "True only when the user has confirmed the candidate knows they will receive a technical assessment from Ruzora on the company's behalf."
},
"candidate_github_url": {
"type": "string",
"format": "uri",
"maxLength": 300,
"description": "Optional GitHub profile URL"
},
"candidate_linkedin_url": {
"type": "string",
"format": "uri",
"maxLength": 300,
"description": "Optional LinkedIn profile URL"
}
},
"additionalProperties": false
}