get_company_profile
Get the company profile
All MCP toolsRead
Read the organization's canonical company profile: the intro (one Markdown block), the fact rows (label/value), and the public links. This is the material an agent speaks from about the company; candidates only ever see the intro, on published postings. null means no profile has been created yet — write one with save_company_profile. The company's legal name is not here; it lives on the organization itself.
Input schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}Output schema
{
"type": "object",
"properties": {
"profile": {
"anyOf": [
{
"type": "object",
"properties": {
"schemaVersion": {
"type": "string",
"pattern": "^2\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$",
"description": "Contract version as a SemVer core triple with major locked to 2 (pattern \"2.<minor>.<patch>\", e.g. \"2.0.0\"). Minors are additive-only: they may only add optional fields. Other majors and non-SemVer strings are rejected."
},
"intro": {
"description": "Company intro: ONE Markdown block — facts and links alone do not convey what the company is like. Read by (1) candidates in the posting's About-the-company block and (3) agents as their material when speaking about the company. The suggested section headings live in COMPANY_MD_SECTIONS — a suggestion for authors, never a required structure.",
"type": "string",
"maxLength": 20000,
"pattern": "^\\S(?:[\\s\\S]*\\S)?$"
},
"facts": {
"description": "Company facts: ordered free rows, one line each (label + value). Present means non-empty — an empty list is spelled by omitting the field (the nonempty-optional posture).",
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"maxLength": 200,
"pattern": "^\\S(?:[\\s\\S]*\\S)?$",
"description": "What the row states (trimmed, non-empty). Rows are free — add, edit, delete at will; the default vocabulary is founded / headcount / locations / business domains, but nothing is a fixed key."
},
"value": {
"type": "string",
"maxLength": 200,
"pattern": "^\\S(?:[\\s\\S]*\\S)?$",
"description": "The stated value, exactly as the company words it (trimmed, non-empty)."
}
},
"required": [
"label",
"value"
],
"additionalProperties": false,
"description": "One company fact row: label + value."
}
},
"links": {
"description": "Company links: ordered public URLs. Present means non-empty — an empty list is spelled by omitting the field (the nonempty-optional posture).",
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"maxLength": 200,
"pattern": "^\\S(?:[\\s\\S]*\\S)?$",
"description": "Display label for the link (trimmed, non-empty)."
},
"url": {
"type": "string",
"format": "uri",
"description": "Public URL where an agent can look the company up."
}
},
"required": [
"label",
"url"
],
"additionalProperties": false,
"description": "One public company link: label + URL, in the order stated."
}
}
},
"required": [
"schemaVersion"
],
"additionalProperties": false,
"description": "Canonical matchwire company profile (strict at every nesting level; unknown keys rejected). Versioned via schemaVersion. Holds only what stays constant across the organization's postings: intro / facts / links. The organization's legal title lives on the organizations row and is deliberately not part of this contract."
},
{
"type": "null"
}
],
"description": "The organization's profile, or null when none has been created yet."
}
},
"required": [
"profile"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}