{"name":"work.person/career-record","slug":"person-career-record","title":"person.work — Agent-maintained CV","description":"Maintain your CV with your agent. Review changes, then share one record as web, PDF and open data.","url":"https://mcp.market/server/person-career-record","rating":null,"grade":"C","score":65,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":6,"ok":6,"last_checked_at":"2026-09-21T00:55:48.208Z","last_ok_at":"2026-09-21T00:55:48.208Z","latency_ms":1515},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":"https://person.work/onboarding/agent","version":"0.7.0","remotes":[{"type":"streamable-http","url":"https://person.work/api/mcp"}],"packages":[],"tools":[{"name":"get_my_career_record","description":"Returns the OAuth-authenticated owner's canonical record. Read this before proposing an ongoing CV update so stable experience identifiers and confirmed facts are preserved.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"get_profile","description":"Returns one public Career Record whose owner explicitly enabled MCP visibility. Contact values are excluded.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"username":{"type":"string","minLength":3,"maxLength":50,"description":"The person.work profile slug"},"include_extensions":{"default":true,"type":"boolean"},"format":{"default":"full","type":"string","enum":["full","summary"]}},"required":["username"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"propose_my_career_change","description":"Adds a structured, human-readable diff to the owner's review inbox. Experience upserts may include a public HTTPS company_logo_url; person.work imports its own protected copy only after owner approval. Use this for normal maintenance after the initial import; the agent cannot apply or publish it.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"instruction":{"type":"string","minLength":1,"maxLength":12000},"source_label":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}]},"proposed_patch":{"type":"object","properties":{"profile":{"type":"object","properties":{"avatar_url":{"description":"Public HTTPS URL of the profile picture. person.work imports and stores a protected copy, cropped to a portrait frame. Use null to remove the current picture and fall back to initials; omit the field to preserve it.","anyOf":[{"type":"string","maxLength":2000,"format":"uri","pattern":"^https:\\/\\/"},{"type":"null"}]},"headline":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}]},"summary":{"anyOf":[{"type":"string","maxLength":12000},{"type":"null"}]},"summary_short":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]},"summary_full":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}]},"profession_group":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"competencies":{"maxItems":40,"type":"array","items":{"type":"string","minLength":1,"maxLength":160}},"spoken_languages":{"maxItems":40,"type":"array","items":{"type":"string","minLength":1,"maxLength":160}}},"additionalProperties":false},"extension":{"type":"object","properties":{"extension_id":{"type":"string","minLength":1,"maxLength":120},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":120},"additionalProperties":{"anyOf":[{"type":"string","maxLength":320},{"maxItems":60,"type":"array","items":{"type":"string","minLength":1,"maxLength":160}},{"type":"number"},{"type":"object","properties":{"min":{"type":"number"},"max":{"type":"number"}},"required":["min","max"],"additionalProperties":false}]}}},"required":["extension_id","fields"],"additionalProperties":false,"description":"Typed profession fields (e.g. primaryLanguages, seniority). Replaces the stored fields of that extension; omit to leave them untouched."},"experiences":{"minItems":1,"maxItems":24,"type":"array","items":{"oneOf":[{"type":"object","properties":{"operation":{"type":"string","const":"upsert"},"experience":{"type":"object","properties":{"stable_uri":{"type":"string","minLength":3,"maxLength":200},"company":{"type":"string","minLength":1,"maxLength":240},"company_logo_url":{"description":"Public HTTPS URL of the company logo. person.work imports and stores a protected copy. Use null to remove the current logo; omit the field to preserve it.","anyOf":[{"type":"string","maxLength":2000,"format":"uri","pattern":"^https:\\/\\/"},{"type":"null"}]},"role":{"type":"string","minLength":1,"maxLength":320},"start_date":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"end_date":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"headline":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]},"key_result":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]},"context":{"anyOf":[{"type":"string","maxLength":8000},{"type":"null"}]},"problem":{"anyOf":[{"type":"string","maxLength":8000},{"type":"null"}]},"contribution":{"anyOf":[{"type":"string","maxLength":16000},{"type":"null"}]},"result":{"anyOf":[{"type":"string","maxLength":8000},{"type":"null"}]},"learning":{"anyOf":[{"type":"string","maxLength":8000},{"type":"null"}]},"order_index":{"type":"integer","minimum":0,"maximum":99},"is_prominent":{"type":"boolean"}},"required":["stable_uri","company","role","start_date","end_date","order_index","is_prominent"],"additionalProperties":false}},"required":["operation","experience"],"additionalProperties":false},{"type":"object","properties":{"operation":{"type":"string","const":"remove"},"stable_uri":{"type":"string","minLength":3,"maxLength":200}},"required":["operation","stable_uri"],"additionalProperties":false}]}}},"additionalProperties":false},"diff_summary":{"default":[],"maxItems":100,"type":"array","items":{"type":"object","properties":{"path":{"type":"string","minLength":1,"maxLength":300},"operation":{"type":"string","enum":["add","replace","remove"]},"before":{},"after":{},"reason":{"type":"string","maxLength":1000}},"required":["path","operation"]}}},"required":["instruction","proposed_patch"],"$schema":"https://json-schema.org/draft/2020-12/schema"}},{"name":"sync_my_profile","description":"Explicit initial-import operation for structured facts already interpreted by the calling agent. It does not accept or store a raw CV, PDF, or source text, and person.work does not run a second AI interpretation. The operation deterministically validates the payload and atomically creates a private profile when needed or replaces the owner's profile facts and complete experience list. Experiences may include a public HTTPS company_logo_url; person.work imports a protected copy. Use null to remove a logo and omit the field to preserve it. Identity is required only for first creation. Never use this for routine updates.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"identity":{"description":"Required only when this initial sync creates the authenticated owner's private person.work profile.","type":"object","properties":{"first_name":{"type":"string","minLength":1,"maxLength":120},"last_name":{"type":"string","minLength":1,"maxLength":120},"slug":{"type":"string","pattern":"^[a-z0-9][a-z0-9-]{1,28}[a-z0-9]$","description":"Requested public slug. Used only when the authenticated owner has no person.work profile yet."}},"required":["first_name","last_name","slug"],"additionalProperties":false},"profile":{"type":"object","properties":{"avatar_url":{"description":"Public HTTPS URL of the profile picture. person.work imports and stores a protected copy, cropped to a portrait frame. Use null to remove the current picture and fall back to initials; omit the field to preserve it.","anyOf":[{"type":"string","maxLength":2000,"format":"uri","pattern":"^https:\\/\\/"},{"type":"null"}]},"headline":{"type":"string","minLength":1,"maxLength":240},"summary":{"type":"string","minLength":1,"maxLength":4000},"summary_short":{"type":"string","maxLength":1000},"summary_full":{"type":"string","maxLength":12000},"profession_group":{"type":"string","minLength":1,"maxLength":160},"competencies":{"maxItems":80,"type":"array","items":{"type":"string","minLength":1,"maxLength":160}},"primary_language":{"default":"de","type":"string","minLength":2,"maxLength":12}},"required":["headline","summary","summary_short","summary_full","profession_group","competencies"],"additionalProperties":false},"extension":{"type":"object","properties":{"extension_id":{"type":"string","minLength":1,"maxLength":120},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":120},"additionalProperties":{"anyOf":[{"type":"string","maxLength":320},{"maxItems":60,"type":"array","items":{"type":"string","minLength":1,"maxLength":160}},{"type":"number"},{"type":"object","properties":{"min":{"type":"number"},"max":{"type":"number"}},"required":["min","max"],"additionalProperties":false}]}}},"required":["extension_id","fields"],"additionalProperties":false,"description":"Typed profession fields (e.g. primaryLanguages, seniority). Replaces the stored fields of that extension; omit to leave them untouched."},"experiences":{"minItems":1,"maxItems":24,"type":"array","items":{"type":"object","properties":{"stable_uri":{"type":"string","minLength":3,"maxLength":200},"company":{"type":"string","minLength":1,"maxLength":240},"company_logo_url":{"description":"Public HTTPS URL of the company logo. person.work imports and stores a protected copy. Use null to remove the current logo; omit the field to preserve it.","anyOf":[{"type":"string","maxLength":2000,"format":"uri","pattern":"^https:\\/\\/"},{"type":"null"}]},"role":{"type":"string","minLength":1,"maxLength":320},"start_date":{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},"end_date":{"anyOf":[{"type":"string","format":"date","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"},{"type":"null"}]},"headline":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]},"key_result":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]},"context":{"anyOf":[{"type":"string","maxLength":8000},{"type":"null"}]},"problem":{"anyOf":[{"type":"string","maxLength":8000},{"type":"null"}]},"contribution":{"anyOf":[{"type":"string","maxLength":16000},{"type":"null"}]},"result":{"anyOf":[{"type":"string","maxLength":8000},{"type":"null"}]},"learning":{"anyOf":[{"type":"string","maxLength":8000},{"type":"null"}]},"order_index":{"type":"integer","minimum":0,"maximum":99},"is_prominent":{"type":"boolean"}},"required":["stable_uri","company","role","start_date","end_date","order_index","is_prominent"],"additionalProperties":false}}},"required":["profile","experiences"],"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false,"description":"Structured CV facts interpreted by the calling agent. Raw files and source text are not part of this contract; person.work validates and stores only this structured payload."}}],"scan":{"score":65,"grade":"C","scanned_at":"2026-09-19T21:01:48.659Z","report":{"scannerVersion":"0.1.7","scannedAt":"2026-09-19T21:01:48.649Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":17,"max":20,"notes":["remote reachable in 3831ms"]},"poisoning":{"score":15,"max":15,"notes":["4 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":4,"max":10,"notes":["verified namespace with website, no repo"]}},"findings":[{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://person.work/api/mcp","reachable":true,"authRequired":false,"latencyMs":3831,"serverInfo":{"name":"person-work","version":"0.7.0"}}],"packages":[],"repo":{"found":false},"icon":{"url":"https://person.work/images/landing/logo.webp","source":"registry"},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}