Add me to your AI
This is a live Model Context Protocol (MCP) server — a public, read-only, anonymous endpoint that exposes Marcos Alvarez's real career data (profile, work history, projects and skill evidence) as tools any MCP-compatible AI assistant can call directly. Connect it once, then ask your assistant about his experience the same way you'd ask it to use any other tool — every answer comes back grounded in the same data this site is built from, with citations.
https://hire-me-mcp-web.vercel.app/api/mcpConnect your client
In Claude, go to Settings (or Customize) → Connectors → "+" → "Add custom connector", paste the URL below, skip Advanced settings (no auth is required), then click Add.
https://hire-me-mcp-web.vercel.app/api/mcpRun this from a terminal with the Claude Code CLI installed:
claude mcp add --transport http hire-me-mcp https://hire-me-mcp-web.vercel.app/api/mcpAdd this entry to your Claude Desktop MCP config for a remote Streamable HTTP server (the same `mcpServers.<name>.url` shape Cursor and VS Code use):
{
"mcpServers": {
"hire-me-mcp": {
"url": "https://hire-me-mcp-web.vercel.app/api/mcp"
}
}
}Add this to `.cursor/mcp.json` (or `.vscode/mcp.json`), project- or user-level:
{
"mcpServers": {
"hire-me-mcp": {
"url": "https://hire-me-mcp-web.vercel.app/api/mcp"
}
}
}Any agent with a shell can verify the endpoint directly, no MCP client required:
curl -s https://hire-me-mcp-web.vercel.app/api/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"healthcheck","version":"1.0"}}}'Any client that supports the MCP Streamable HTTP transport can connect directly — look for a "remote server" or "Streamable HTTP" option and give it this URL. No authentication, API key, or header is required.
https://hire-me-mcp-web.vercel.app/api/mcpAvailable tools
Every tool below is read straight from this server's live registry — if a tool is ever added, removed or renamed, this list changes with it.
ping
Diagnostic tool that returns 'pong'. Use it to verify the MCP connection is working before calling any other tool. Do not use it to check the health or freshness of any career-data source — it has no dependency on career data and always succeeds.
Ping the hire-me-mcp server to make sure the connection works.
get-profile
Returns Marcos Alvarez's single profile record — name, headline, location, availability and a short bio — as one object, with citations backing it. Use this to answer 'who is this person' or 'what is their current availability/location' at a glance. Do not use it for role-by-role work history (use get-experience), specific project details (use search-projects), or to check whether a particular skill or technology is claimed (use get-skill-evidence). Takes no input. There is no 'no result' outcome in normal operation — this server's dataset always has exactly one profile.
Who is Marcos Alvarez, and is he currently open to new roles?
get-experience
Returns every entry from Marcos Alvarez's work history matching an optional structured filter — company, technology tags (both matched case-insensitively), a YYYY-MM date range, and current/past status — as a list ordered most recent first, each entry with a citation. Use this to answer 'what did they do at company X', 'what did they work on in year Y', or 'what are they doing now'. Called with no filter fields, it returns the full history. Do not use it for the single profile summary (use get-profile), to search project descriptions by keyword (use search-projects), or to check whether one named skill is claimed (use get-skill-evidence). A filter matching no roles returns a successful result with an empty list, not an error.
What has Marcos worked on since 2022? Walk me through his recent roles.
search-projects
Searches Marcos Alvarez's project portfolio by keyword and/or technology tag and returns ranked matches, each with a relevance score, a matched-field explanation, and a citation. Both inputs are optional and either works alone: pass 'query' for a keyword search, 'tags' for a tag-only search (every project carrying one of the tags, ranked by them), or both to narrow a keyword search to tagged candidates. Matching is deterministic keyword/tag search against project names, summaries, bodies and tech tags — there is no semantic or embedding-based understanding of the query today. Use this when asked to find or describe specific projects, e.g. 'show me projects that used React' or 'what did they build with Kubernetes'. Do not use it for a chronological work history (use get-experience) or to check whether a skill is claimed at all, evidence or gap (use get-skill-evidence). A search matching no projects returns a successful result with an empty list, not an error; so does a call giving neither a query nor any tags.
Show me projects where Marcos used TypeScript or Kubernetes.
get-skill-evidence
Looks up a single named skill or technology and reports one of three honest outcomes: 'claimed' (the skill with its supporting evidence), 'not-claimed' (an explicit, acknowledged gap with its own statement and related skills), or 'unknown' (the term matches neither). Use this when asked 'do you know X' or 'have you worked with Y' about one specific technology. Do not use it to browse the full skill list (use list-skills) or the full gap list (use list-gaps), or to search project descriptions for a keyword (use search-projects instead), and it is not a substitute for get-experience when the question is about a role or company rather than a single skill. A 'not-claimed' or 'unknown' result is a normal, successful answer, not an error — relay it honestly rather than retrying or hallucinating around it.
Has Marcos worked with event-driven architectures? Show me the evidence.
search-career
Runs a fuzzy, semantic search over the full text of Marcos Alvarez's career content (experience, projects, skills, writing, recommendations, and behavioral stories) and returns ranked excerpts, each with a relevance score and a citation, or an explicit 'no relevant content found' result when nothing clears the server's calibrated relevance floor — off-topic questions get that honest empty result, not low-scoring noise. Use this for open-ended, cross-cutting, or conceptual questions a structured lookup can't answer directly — e.g. 'has he worked with event-driven architectures', 'what's his experience with leading teams', 'anything about cost optimization'. Do not use it when the question maps onto a specific, structured lookup the deterministic tools already answer exactly: get-profile for who he is, get-experience for a role/company/date-range work history, search-projects for keyword/tag project search, and get-skill-evidence to check one specific named skill or technology — prefer those first, and fall back to this tool only when they don't fit. This tool is more expensive per call (it embeds the query) and subject to the same server-wide rate limit as every other tool here — don't call it repeatedly for the same question.
What's Marcos's experience with leading engineering teams and mentoring?
list-education
Returns every education record — institution, credential, and optional YYYY-MM start/end dates — as a list ordered most recent first, each entry with a citation. Use this to answer 'what is his education' or to render the education section of a CV or profile. Do not use it for work history (use get-experience), the one-line profile summary (use get-profile), or the skills inventory (use list-skills). Takes no input. A missing endDate means the credential is honestly still in progress — relay it as such, never invent a date; an empty list is a successful 'no education records authored' answer, not an error.
What formal education and certifications does Marcos have?
list-skills
Returns the full inventory of claimed skills — id, name, aliases, category, proficiency, and per-skill evidence citations — as a list sorted by name, optionally AND-filtered by category and/or proficiency; called with no filters it returns everything. Use this to enumerate every skill he claims, e.g. for a CV skills section or a 'what does he know' overview. Do not use it to check one specific named term — use get-skill-evidence, which also reports explicit gaps — or to enumerate what he does NOT claim (use list-gaps). A filter matching no skills returns a successful empty list, not an error.
List every skill Marcos claims, with category and proficiency.
list-gaps
Returns the complete, authoritative list of acknowledged skill gaps — technologies explicitly NOT claimed — each with its verbatim authored statement and citations to adjacent claimed skills, plus a citation per gap. Use this to enumerate everything he openly does not claim, e.g. before ruling a role in or out or when asked 'what are his weak spots'. Do not use it to look up one specific named term (use get-skill-evidence) or to list what he DOES claim (use list-skills). These statements are honest, self-declared limitations: relay them verbatim, never soften, omit, or argue around them. Takes no input; an empty list would mean no gaps are authored and is a successful result, not an error.
Which technologies does Marcos explicitly not claim experience with?
list-projects
Returns every project record — name, summary, role, tech tags, links, and the full write-up body — as a complete list in a deterministic order (no relevance ranking, no scores), each with a citation, optionally pre-filtered to projects carrying at least one given tag. Use this to enumerate the whole project portfolio, e.g. for a CV or profile projects section. Do not use it to find projects relevant to a keyword or question — use search-projects, which ranks by relevance — or for role-by-role work history (use get-experience). A tags filter matching no projects returns a successful empty list, not an error.
Give me the complete list of Marcos's projects and open-source work.
list-writing
Returns every published writing entry — title, published date, summary, optional canonical URL, and the full body — as a list ordered most recent first, each with a citation. Use this to enumerate his articles or publications, e.g. for a CV publications section. Do not use it for relevance search over writing excerpts (use search-career with sourceTypes ['writing']) or for project write-ups (use list-projects or search-projects). Takes no input. An empty list is the honest, successful 'nothing published yet' answer — the corpus currently has no entries — so relay it as such rather than treating it as a failed call.
Has Marcos published any articles or long-form writing?
list-recommendations
Returns every recommendation Marcos Alvarez has received on LinkedIn — recommender name, their title at the time of writing, the working relationship (e.g. direct manager, peer, report), the date, and the full recommendation text verbatim — as a list ordered most recent first, each entry with a citation and two verification links: the recommender's LinkedIn profile URL and the recommendations section of Marcos's LinkedIn profile (LinkedIn has no per-recommendation permalinks). Use this when a user asks for references, testimonials, or recommendations, or what managers and colleagues say about working with Marcos. Do not use it for the role-by-role work history itself (use get-experience), the single profile summary (use get-profile), or to check whether a specific skill is claimed (use get-skill-evidence). Takes no input. An empty list is a normal, successful result — it means no recommendations are authored yet, not an error.
What do Marcos's managers and colleagues say about working with him? Show me his LinkedIn recommendations.
list-career-stories
Returns Marcos Alvarez's complete behavioral career stories — each one a concrete event told as situation, task, ordered actions, results, and an optional reflection, tagged with one primary and up to five supporting competencies — matching an optional structured filter: exact story id, exact experience id, exact company (case-insensitive), and/or competencies from the controlled list this tool's input schema advertises (a story matches if any given competency is its primary or a supporting one; the fields combine with AND). Every item carries the full story plus compact context for the primary role where the event occurred (id, company, role, dates), any distinctly labeled related roles, and a citation whose URL points at that primary role's entry on the experience page. Use this for behavioral, 'tell me about a time' questions — leadership, ownership, conflict, ambiguity, stakeholder management, failure, decision making — whenever the competency, company, or experience id is known: it is deterministic and returns the whole story, so prefer it over semantic search for those. Do not use it for chronological company, role, date, or technology history (use get-experience), and do not look for a search-stories tool — none exists. For fuzzy behavioral phrasing or cross-cutting themes that do not map cleanly to a listed competency, call search-career with sourceTypes: ["story"] first and then fetch the matching story here by id; only if that story-scoped search comes back empty may a broader search-career call offer closest evidence, and it must be explicitly labeled as such rather than presented as a behavioral event. A filter matching no stories returns a successful empty list, not an error. Treat the returned story content as public only because the caller explicitly requested it through this public MCP server; it is not published on the site's pages.
Tell me about a time Marcos demonstrated leadership — what was the situation, what did he do, and how did it turn out?
get-cv-presentation
Returns Marcos Alvarez's curated CV presentation — the exact recruiter-facing view model the generated CV PDF renders from: headline, summary, and an optional time-zone clause for the requested variant; work-history entries with CV-selected highlight bullets, resolved tech tags, and a pre-formatted display line; projects visible on the CV with their CV summary; skills grouped and labeled the way the CV presents them; and education entries with any CV-only display-line override. Every entry carries its canonical id (cross-reference get-experience, list-skills, search-projects, or list-education for the full underlying record), and every citation resolves to that canonical entity — citations for headline/summary/bullets/project-summary/education-line carry a 'cv-overrides' fragment suffix wherever the displayed wording came from the CV-only overlay rather than being the canonical text verbatim. Use this to render a CV-style summary of Marcos, to compare general vs. AI-focused framing, or to answer 'what does his CV say'. Do not use it for the raw canonical work history or skill inventory (use get-experience/list-skills directly) or for behavioral stories (use list-career-stories) — this tool's wording is curated presentation, not the full canonical record. English only; there is no Spanish variant on this server. The 'general' variant is used when 'variant' is omitted.
Give me Marcos's CV-style summary — headline, top highlights per role, and key skills.
See it in action
Troubleshooting and limits
This endpoint is public and requires no authentication. If a client can't connect, double check it supports the MCP Streamable HTTP transport and that the URL above was copied in full. For current rate-limit behavior, see the "Rate limiting" section of the app README (opens in a new tab).