An MCP server that provides access to Francisco Perez-Sorrosal's CV
The single source of truth for Francisco Perez-Sorrosal's CV content. YAML data, validation schema, and publishing workflow. Rendered artifacts (PDF, HTML, LaTeX, Typst, Markdown) are generated and released via GitHub Releases, never committed here.
cv-data/resume.yaml — structured CV content (experience, education, skills, publications, patents, etc.)cv-data/resume-semantics.yaml — semantic overlay (topics, relationships, annotations)schemas/ — JSON Schema for validation; mirrored from cv-forge.github/workflows/ — CI validation and tag-triggered publishingTo propose an edit to the CV data:
git switch -c update/your-changecv-data/resume.yaml or cv-data/resume-semantics.yamlmainThe CI workflow validates automatically; if checks pass, merge and proceed to Publishing.
# Install check-jsonschema (standalone CLI)
pip install check-jsonschema
# Validate both files
check-jsonschema --schemafile schemas/resume.schema.json cv-data/resume.yaml
check-jsonschema --schemafile schemas/semantics.schema.json cv-data/resume-semantics.yaml
All green? Ready to PR.
A release is triggered by pushing a CalVer tag in the form YYYY.MM.DD (with optional .N for same-day re-releases, e.g. 2026.09.13.1).
git tag 2026.09.13
git push origin 2026.09.13
The workflow automatically:
release.json manifest (consumed by the MCP server)All assets are stable, version-free URLs under releases/latest/download/<name>.
To re-run the publish workflow without creating a new tag (useful when templates or rendering logic changes):
gh workflow run publish.yml -f tag=2026.09.14
Or via the GitHub Actions UI:
tag inputThis regenerates all eight release assets and redeploys the site, keeping the same version number. Assets at releases/latest/download/ are updated in place (overwritten).
The JSON schemas in schemas/ are mirrored from cv-forge. When cv-forge releases a new version that changes the data models (via export-schemas), update the schemas in this repo:
After cv-forge merges a PR that changes src/cv_forge/models/, refresh the mirrored copies:
curl -s https://raw.githubusercontent.com/francisco-perez-sorrosal/cv-forge/v1/schemas/resume.schema.json > schemas/resume.schema.json
curl -s https://raw.githubusercontent.com/francisco-perez-sorrosal/cv-forge/v1/schemas/semantics.schema.json > schemas/semantics.schema.json
git add schemas/
git commit -m "chore: sync schemas from cv-forge v1"
git push
The CI drift-check (.github/workflows/validate.yml) compares the local schemas against the remote cv-forge v1 copies. If they diverge, the check fails and blocks PRs until the sync above completes. A push that lands seconds before cv-forge re-points its v1 tag can fail the drift check with a 404 on the upstream fetch; re-run the failed Validate CV Data job once the tag exists.
resume.yaml and resume-semantics.yaml, published as release assets (see the URL pattern below)fps-cv://resume, fps-cv://semantics) and per-entry lookupsFranciscoPerezSorrosal_CV.pdfFranciscoPerezSorrosal_CV.html, also served at the live CV siteFranciscoPerezSorrosal_CV.texFranciscoPerezSorrosal_CV.typFranciscoPerezSorrosal_CV.mdAll at https://github.com/francisco-perez-sorrosal/cv/releases/latest/download/<filename>.
The cv Claude Code plugin connects to an MCP server that serves the CV:
MCP Server: https://fps-cv-mcp.wasmer.app/mcp
The server fetches the latest release data automatically; no deploy required when you publish.
See CLAUDE.md for entry ID scheme, cross-reference rules, date format, and validation commands.
The cv-forge maintainer plugin provides an interactive edit flow:
No manual YAML editing or command-line work required. The plugin uses your gh auth for the PR.
cv-forge — machinery that renders, serves, and publishes this data. Contains the CLI, MCP server, and the two Claude Code plugins (cv consumer, cv-forge maintainer).This listing does not have a supported local package template. Use the maintainer’s documentation for its hosted endpoint, authentication, and client-specific setup. No install command has been inferred.
https://github.com/francisco-perez-sorrosal/cv/releases/download/v0.0.3/fps-cv-mcp-0.0.3.mcpbotherio.github.francisco-perez-sorrosal/cv works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.