Skip to content

Releases: garusis/hire-me-mcp

v1.0.0 — a portfolio you can hand to your AI

Choose a tag to compare

@garusis garusis released this 25 Aug 12:45
4d8ee4e

hire-me-mcp v1.0.0 — a portfolio you can hand to your AI

hire-me-mcp is Marcos Alvarez's portfolio rebuilt as a live, queryable API: a public, anonymous Model Context Protocol (MCP) server and a Next.js site that both read from the same typed career data, so any AI assistant can be handed this CV as a tool and get back cited, grounded answers instead of guesses. No API key, no signup, one URL to connect.

Live URLs

Connect an agent in 30 seconds

Claude Code (CLI):

claude mcp add --transport http hire-me-mcp https://hire-me-mcp-web.vercel.app/api/mcp

Cursor / VS Code (.cursor/mcp.json or .vscode/mcp.json):

{
  "mcpServers": {
    "hire-me-mcp": {
      "url": "https://hire-me-mcp-web.vercel.app/api/mcp"
    }
  }
}

Claude web/desktop: add the endpoint URL as a custom connector. Every client, rate limits and troubleshooting: docs/mcp.md.

Six tools: get-profile, get-experience, search-projects, get-skill-evidence, search-career (semantic search over the full career text), and ping. Every response carries a citation back to the specific record it was drawn from, and "not claimed" is an honest first-class answer — the server admits gaps instead of hallucinating around them.

What shipped, milestone by milestone

Full detail with issue/PR links in CHANGELOG.md.

  • v0.1 — Foundation & Agentic DX: Turborepo + pnpm monorepo, Biome, Vitest, test-first enforcement wired into the coding agents themselves (Claude hooks + AGENTS.md), CI with branch protection, Playwright smoke, Vercel deploys with PR previews.
  • v0.2 — Career Data Domain Layer: the typed source of truth — Zod-validated career content with evidence, explicit gap records and a content lint that fails the build if a claim lacks evidence — plus framework-free domain services returning citation envelopes.
  • v0.3 — Public MCP Server: the Streamable HTTP endpoint at /api/mcp with the first four career tools, per-IP rate limiting, and protocol-level integration tests with the real MCP SDK client in CI.
  • v0.4 — Portfolio Site: the data-driven site — design system, experience timeline, projects, skills-with-evidence — with a11y/content e2e suites and Lighthouse gates against preview deploys.
  • v0.5 — Interview Chat Agent: an embedded Mastra chat agent with streaming, inline citations, guardrails, and a CI-gating eval suite scoring groundedness, gap honesty and relevance.
  • v0.6 — Semantic Search (RAG): Neon Postgres + pgvector, an incremental ingestion pipeline, a golden retrieval dataset with recall/precision evals in CI, and the search-career tool.
  • v0.7 — Agent-First Onboarding: llms.txt, /.well-known/mcp.json, JSON-LD discovery, a connect-your-agent panel, and generated connection snippets with CI docs-rot guards that execute them against the live endpoint.
  • v0.8 — Analytics & Write Tools: an anonymized, aggregate-only usage analytics pipeline with a public privacy note at /privacy; public write tools were deliberately descoped (see limitations).
  • v1.0 — Launch: generated CV PDF, security headers + CSP, a committed security review, enforced performance budgets, one-command production certification (green run), and this release.

Known limitations

  • Read-only by design. There are no contact or book_call tools — the abuse surface of anonymous write tools outweighed their value, so contact stays on the site itself. This is a decision, not a gap (#60, #74, #77).
  • Free-tier infrastructure. Embeddings and evals run on Gemini free-tier quotas; the vector store is Neon free tier. Under load, search-career may be slower than the deterministic tools.
  • Rate limits. All tools share a per-IP rate limit; hammering the endpoint returns MCP-level rate-limit errors rather than answers. Limits are documented in docs/mcp.md.
  • search-projects is deterministic keyword/tag matching — for conceptual questions, search-career is the semantic fallback.

Out of scope for v1.0

  • Release automation (release-please/changesets) — releases follow the manual procedure in docs/release-readiness.md; the versioning policy is at the top of the changelog.
  • External announcements — drafted, posted manually.
  • Auth, personalization, or any per-visitor state: the server is anonymous and stateless by design.

Verification: the release-readiness pyramid — unit, protocol-level MCP, e2e, retrieval and agent evals — ran green against the production deployment (run 32846780537), and the live initialize response reports version 1.0.0.