Resume MCP Server vs MCP Odoo — MCP Server Comparison | AllMCPs
Side-by-Side Model Context Protocol Comparison
Resume MCP Server vs MCP Odoo
In-depth architectural comparison of the Resume MCP Server and MCP Odoo MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Resume MCP Server
Workplace & Productivity · Local stdio
Quality: 57/100 (Good) | Auth: No auth required
MCP Odoo
Workplace & Productivity · Local stdio
Quality: 69/100 (Great) | Auth: other
Verdict Summary: Choose Resume MCP Server if you need specialized Workplace & Productivity tools running via a local process. Choose MCP Odoo if your workspace requires Workplace & Productivity integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Resume MCP Server when:
You need dedicated capabilities in the Workplace & Productivity domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: No auth required (Free / Open Source).
MCP server for searching and retrieving structured information from local resume and job application documents (.docx, .pdf, .md, .txt) with auto hot-reload. 21 tools for full-text search and filtering by skill, company, and education, plus structured extraction of work experience, achievements, badge skills, and side projects. pip install resume-mcp-server
Production-grade MCP server for Odoo ERP (16-19) with zero Odoo-side install. 24 tools across read, write (approval-token gated), diagnose, migrate, and audit. JSON-2 transport for Odoo 19+, real Docker Compose smoke tests against Odoo 16/17/18/19, diagnostics (diagnoseodoocall, upgraderiskreport, fitgapreport, scanaddonssource), and 5 reusable agent prompts.
Tools & Capabilities Breakdown
Resume MCP Server Tools (19)
list_resume_summaries
List resumes as lightweight identity records — id, name, email, phone only.
Use this to orient and pick a resume_id before fetching details with other tools.
Much more token-efficient than list_resumes when you only need to identify who is present.
Pass query to filter by first or last name (absorbs the old search_resumes_by_name tool).
Response includes total_count and items for pagination.
get_resume_profile
Get a resume's top-level fields (contact info, professional statement, education)
without the nested work experience and badge skill lists.
See also: get_resume_full for everything about this resume in one call.
Returns {"error": ...} if resume_id is not found.
get_resume_full
Get a resume's complete nested structure in one call: profile fields plus all
work experiences (with achievements), badge skills, side projects (with technologies),
and education entries (with competencies).
Prefer get_resume_profile plus the scoped list_* tools (list_work_experiences,
list_skills, list_side_projects, list_education) when you only need part of this —
it's more token-efficient. Use get_resume_full when you need the whole picture at once.
Returns {"error": ...} if resume_id is not found.
list_resumes
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Resume MCP Server is categorized under Workplace & Productivity and uses a local stdio subprocess. In contrast, MCP Odoo belongs to Workplace & Productivity using local stdio subprocess. Select Resume MCP Server when you need capabilities focused on workplace & productivity and MCP Odoo when you require tools for workplace & productivity.
List all documents. When doc_type is 'resume' (or omitted), structured resume data
is returned if available; otherwise flat file metadata is returned.
Response includes total_count and items for pagination.
See also: list_resume_summaries for a lighter-weight, more token-efficient listing;
get_resume_full for one resume's full nested structure by resume_id.
get_resume
Return the full extracted text of a document, as {"text": "..."}.
Note: takes a file path (see list_resumes), not a resume_id — use get_resume_profile
or list_resumes to fetch structured data by resume_id instead.
Returns {"error": ...} if path is not found.
search_resumes
Search across all documents for a keyword or phrase.
Response includes total_count, items, has_more, next_offset, and message for pagination.
search_resumes_by_skill
Find which resumes list one or more given badge skills. Returns resume identity and matched
skill names only — more token-efficient than list_resumes when filtering by skill.
Accepts either a single skill string or a list of skills to filter by multiple at once.
Each result includes: id, first_name, last_name, matched_skills.
Response includes total_count, items, has_more, next_offset, and message for pagination.
list_work_experiences
List work experiences, optionally filtered to a specific resume, only current roles,
and/or a keyword query matched against company name, position title, or achievement
descriptions (absorbs the old search_work_experiences tool).
Each result includes a resume_id field identifying which resume the experience belongs to.
Response includes total_count and items for pagination.
Returns {"error": ...} if resume_id is given but not found.
get_work_experience
Get a single work experience entry with its achievements.
Returns {"error": ...} if id is not found.
list_achievements
List achievements (resume bullet points), optionally filtered to a specific resume
and/or a keyword query matched against the achievement text (absorbs the old
search_achievements tool).
Response shape depends on the arguments given, to keep the common case cheap:
- resume_id given, query omitted: bare {id, desc} per item (cheapest — you already
know which resume these belong to).
- query given, and/or resume_id omitted: each item also includes company_name,
position_title, work_experience_id, and resume_id, since that context would
otherwise be unrecoverable from the achievement alone.
Response includes total_count and items for pagination.
Returns {"error": ...} if resume_id is given but not found.
get_achievement
Get a single achievement (phrase skill) by ID.
Returns {"error": ...} if id is not found.
list_skills
List badge skills (technologies, tools, languages), optionally filtered to a resume
and/or a keyword query matched against the skill title (absorbs the old search_skills tool).
Note: badge skills are deduplicated and shared across resumes by title, so — unlike
work experiences, side projects, and education — items here do not carry a resume_id.
Response includes total_count and items for pagination.
Returns {"error": ...} if resume_id is given but not found.
+7 more tools listed on main page
MCP Odoo Tools (41)
data_quality_report
Run read-only data-quality checks on one Odoo model: duplicates, missing required values, orphaned references, format anomalies
diagnose_odoo_call
Diagnose an Odoo model call without executing it
generate_json2_payload
Build a JSON-2 request preview without network access
inspect_model_relationships
Inspect model relationships and required field metadata
diagnose_access
Diagnose ACL and record-rule visibility for an Odoo model
upgrade_risk_report
Report Odoo upgrade and JSON-2 migration risks
analyze_upgrade_log
Classify Odoo install/update log errors into a migration worklist (no_action / needs_review / needs_script) with fix suggestions
lookup_model_history
Look up Odoo model rename/removal history by old or new model name (e.g. account.invoice -> account.move)
fit_gap_report
Classify Odoo requirements into fit/gap implementation buckets
scan_addons_source
Scan local Odoo addon source without importing addon code
build_domain
Build a validated Odoo domain from structured conditions
business_pack_report
Report expected modules, models, and safe discovery calls for a business pack