Search loads only when you use it. Browse all categories below.

MCP tool

Get project profile

sosoapi_get_project_profile

Read a project's brand profile (tagline, voice, target audience, goals, palette and more); profile is null when none exists.

Read as Markdown

Profiles and transports

Profiles: full · Transports: stdio, http

Choose core or full to control which tools your client sees; this does not change its permissions. Local file upload requires stdio and is unavailable over HTTP. Set SOSOAPI_OUTPUT_SCHEMAS=1 to include output schemas in discovery. Tools return structured results with or without that setting.

Permissions and side effects

Annotations help clients describe a tool. Each call still checks the user’s authentication, role, resource access and capability grants.

{
  "readOnlyHint": true,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}

Input fields

Required means required inside its parent object and selected branch. A required child does not make an optional parent required. Rules and field names below are copied from the contract.

Input fields
Field / branchType / requiredConstraints
$objectRequired in parent
  • additionalProperties: false
project_idstringRequired in parent
  • format: "uuid"
Complete JSON Schema
{
  "type": "object",
  "properties": {
    "project_id": {
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "project_id"
  ],
  "additionalProperties": false
}

Structured output

This schema describes structuredContent in a successful tool result. The MCP response also includes content and may set isError when a call fails. For publishing, read the post’s final result rather than treating an accepted request or text response as confirmation. The linked API operation explains permissions and retry rules.

Required means required inside its parent object and selected branch. A required child does not make an optional parent required. Rules and field names below are copied from the contract.

Structured output
Field / branchType / requiredConstraints
$objectRequired in parent
  • additionalProperties: false
contract_versionstringRequired in parent
  • const: "project/v1"
profileobject | nullRequired in parent—
profileanyOf 1objectRequired in parent
  • additionalProperties: false
profile.project_idanyOf 1stringRequired in parent
  • format: "uuid"
profile.workspace_idanyOf 1stringRequired in parent
  • format: "uuid"
profile.taglineanyOf 1string | nullRequired in parent—
profile.taglineanyOf 1 / anyOf 1stringRequired in parent—
profile.taglineanyOf 1 / anyOf 2nullRequired in parent—
profile.descriptionanyOf 1string | nullRequired in parent—
profile.descriptionanyOf 1 / anyOf 1stringRequired in parent—
profile.descriptionanyOf 1 / anyOf 2nullRequired in parent—
profile.voiceanyOf 1string | nullRequired in parent—
profile.voiceanyOf 1 / anyOf 1stringRequired in parent—
profile.voiceanyOf 1 / anyOf 2nullRequired in parent—
profile.target_audienceanyOf 1string | nullRequired in parent—
profile.target_audienceanyOf 1 / anyOf 1stringRequired in parent—
profile.target_audienceanyOf 1 / anyOf 2nullRequired in parent—
profile.color_paletteanyOf 1arrayRequired in parent—
profile.color_palette[]anyOf 1stringOptional / item—
profile.goalsanyOf 1arrayRequired in parent—
profile.goals[]anyOf 1stringOptional / item—
profile.no_go_topicsanyOf 1arrayRequired in parent—
profile.no_go_topics[]anyOf 1stringOptional / item—
profile.language_primaryanyOf 1stringRequired in parent—
profile.positioninganyOf 1string | nullRequired in parent—
profile.positioninganyOf 1 / anyOf 1stringRequired in parent—
profile.positioninganyOf 1 / anyOf 2nullRequired in parent—
profile.uspanyOf 1string | nullRequired in parent—
profile.uspanyOf 1 / anyOf 1stringRequired in parent—
profile.uspanyOf 1 / anyOf 2nullRequired in parent—
profile.visual_identityanyOf 1object | nullRequired in parent—
profile.visual_identityanyOf 1 / anyOf 1objectRequired in parent
  • additionalProperties: {}
profile.visual_identity.*anyOf 1 / anyOf 1any JSON valueOptional / item—
profile.visual_identityanyOf 1 / anyOf 2nullRequired in parent—
profile.forbidden_claimsanyOf 1arrayRequired in parent—
profile.forbidden_claims[]anyOf 1stringOptional / item—
profile.north_star_metricanyOf 1string | nullRequired in parent—
profile.north_star_metricanyOf 1 / anyOf 1stringRequired in parent—
profile.north_star_metricanyOf 1 / anyOf 2nullRequired in parent—
profile.posting_cadenceanyOf 1object | nullRequired in parent—
profile.posting_cadenceanyOf 1 / anyOf 1objectRequired in parent
  • additionalProperties: {}
profile.posting_cadence.*anyOf 1 / anyOf 1any JSON valueOptional / item—
profile.posting_cadenceanyOf 1 / anyOf 2nullRequired in parent—
profile.app_store_url_iosanyOf 1string | nullRequired in parent—
profile.app_store_url_iosanyOf 1 / anyOf 1stringRequired in parent—
profile.app_store_url_iosanyOf 1 / anyOf 2nullRequired in parent—
profile.app_store_url_androidanyOf 1string | nullRequired in parent—
profile.app_store_url_androidanyOf 1 / anyOf 1stringRequired in parent—
profile.app_store_url_androidanyOf 1 / anyOf 2nullRequired in parent—
profile.app_metadataanyOf 1objectRequired in parent
  • additionalProperties: {}
profile.app_metadata.*anyOf 1any JSON valueOptional / item—
profile.profile_versionanyOf 1integerRequired in parent
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
profile.updated_byanyOf 1string | nullRequired in parent—
profile.updated_byanyOf 1 / anyOf 1stringRequired in parent
  • format: "uuid"
profile.updated_byanyOf 1 / anyOf 2nullRequired in parent—
profile.updated_by_kindanyOf 1stringRequired in parent
  • enum: ["jwt","api_key","delegated_ai","migration"]
profile.updated_by_api_key_idanyOf 1string | nullRequired in parent—
profile.updated_by_api_key_idanyOf 1 / anyOf 1stringRequired in parent
  • format: "uuid"
profile.updated_by_api_key_idanyOf 1 / anyOf 2nullRequired in parent—
profile.updated_by_delegated_grant_idanyOf 1string | nullRequired in parent—
profile.updated_by_delegated_grant_idanyOf 1 / anyOf 1stringRequired in parent
  • format: "uuid"
profile.updated_by_delegated_grant_idanyOf 1 / anyOf 2nullRequired in parent—
profile.created_atanyOf 1stringRequired in parent
  • format: "date-time"
  • 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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
profile.updated_atanyOf 1stringRequired in parent
  • format: "date-time"
  • 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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
profileanyOf 2nullRequired in parent—
Complete JSON Schema
{
  "type": "object",
  "properties": {
    "contract_version": {
      "type": "string",
      "const": "project/v1"
    },
    "profile": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "project_id": {
              "type": "string",
              "format": "uuid"
            },
            "workspace_id": {
              "type": "string",
              "format": "uuid"
            },
            "tagline": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "description": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "voice": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "target_audience": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "color_palette": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "goals": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "no_go_topics": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "language_primary": {
              "type": "string"
            },
            "positioning": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "usp": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "visual_identity": {
              "anyOf": [
                {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                },
                {
                  "type": "null"
                }
              ]
            },
            "forbidden_claims": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "north_star_metric": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "posting_cadence": {
              "anyOf": [
                {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                },
                {
                  "type": "null"
                }
              ]
            },
            "app_store_url_ios": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "app_store_url_android": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "app_metadata": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {}
            },
            "profile_version": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "updated_by": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ]
            },
            "updated_by_kind": {
              "type": "string",
              "enum": [
                "jwt",
                "api_key",
                "delegated_ai",
                "migration"
              ]
            },
            "updated_by_api_key_id": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ]
            },
            "updated_by_delegated_grant_id": {
              "anyOf": [
                {
                  "type": "string",
                  "format": "uuid"
                },
                {
                  "type": "null"
                }
              ]
            },
            "created_at": {
              "type": "string",
              "format": "date-time",
              "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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            "updated_at": {
              "type": "string",
              "format": "date-time",
              "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])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            }
          },
          "required": [
            "project_id",
            "workspace_id",
            "tagline",
            "description",
            "voice",
            "target_audience",
            "color_palette",
            "goals",
            "no_go_topics",
            "language_primary",
            "positioning",
            "usp",
            "visual_identity",
            "forbidden_claims",
            "north_star_metric",
            "posting_cadence",
            "app_store_url_ios",
            "app_store_url_android",
            "app_metadata",
            "profile_version",
            "updated_by",
            "updated_by_kind",
            "updated_by_api_key_id",
            "updated_by_delegated_grant_id",
            "created_at",
            "updated_at"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "contract_version",
    "profile"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Example tool call

These examples use fictional values checked against the schemas. Replace the IDs with ones you are authorized to use, the media with ready assets and the dates with your confirmed publishing time. Check the account’s eligibility before submitting a write. This page sends no API requests.

{
  "name": "sosoapi_get_project_profile",
  "arguments": {
    "project_id": "11111111-1111-4111-8111-111111111111"
  }
}

structuredContent

{
  "contract_version": "project/v1",
  "profile": null
}
Install or connect MCP