PerspectPerspectDocs
Go to Admin
View as Markdown

Contacts

This reference is auto-generated from the registered MCP tool providers in perspectapiworkers. It reflects the tools exposed by the per-site Perspect MCP server.

Connection

Use the per-site MCP endpoint:

https://perspect.com/mcp/{siteName}

Authenticate with OAuth or an MCP API key using Authorization: Bearer sk_mcp_....

Tools

contact_archive

Title: Archive Contact Submission

Archive a contact submission. Valid from: pending, reviewed, spam, resolved.

Required permission: contacts.update

Parameters

Parameter Type Required Default Description
contactId string Yes — Contact submission ID

Example call

{
  "tool": "contact_archive",
  "arguments": {
    "contactId": "string"
  }
}

Output schema

{
  "type": "object",
  "additionalProperties": true
}

contact_bulk_update

Title: Bulk Update Contacts

Perform a bulk action on multiple contact submissions (max 100 IDs). Actions: mark_read, mark_unread, archive, spam, delete. Use contact_list to get submission IDs first.

Required permission: contacts.update

Parameters

Parameter Type Required Default Description
ids array<string> Yes — Array of contact submission IDs (max 100)
action string Yes — Action to perform Allowed: mark_read, mark_unread, archive, spam, delete.

Example call

{
  "tool": "contact_bulk_update",
  "arguments": {
    "ids": [
      "string"
    ],
    "action": "mark_read"
  }
}

Output schema

{
  "type": "object",
  "additionalProperties": true
}

contact_delete

Title: Delete Contact Submission

Permanently delete a contact submission

Required permission: contacts.delete

Parameters

Parameter Type Required Default Description
contactId string Yes — Contact submission ID

Example call

{
  "tool": "contact_delete",
  "arguments": {
    "contactId": "string"
  }
}

Output schema

{
  "type": "object",
  "properties": {
    "message": {
      "type": "string"
    }
  },
  "required": [
    "message"
  ]
}

contact_export

Title: Export Contact Submissions

Export contact submissions as JSON data

Required permission: contacts.read

Parameters

Parameter Type Required Default Description
status string No — Filter by status Allowed: pending, reviewed, spam, resolved, archived.
startDate string No — Filter submissions after this date (ISO 8601)
endDate string No — Filter submissions before this date (ISO 8601)

Example call

{
  "tool": "contact_export",
  "arguments": {}
}

Output schema

{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      }
    },
    "pagination": {
      "type": "object",
      "properties": {
        "total": {
          "type": "number"
        }
      },
      "required": [
        "total"
      ]
    }
  },
  "required": [
    "items",
    "pagination"
  ]
}

contact_get

Title: Get Contact Submission

Get a specific contact submission by ID

Required permission: contacts.read

Parameters

Parameter Type Required Default Description
contactId string Yes — Contact submission ID

Example call

{
  "tool": "contact_get",
  "arguments": {
    "contactId": "string"
  }
}

Output schema

{
  "type": "object",
  "additionalProperties": true
}

contact_list

Title: List Contact Submissions

List contact form submissions with optional filters (status, search, date range)

Required permission: contacts.read

Parameters

Parameter Type Required Default Description
limit number No 20 Maximum number of results (1-200)
offset number No 0 Number of results to skip
status string No — Filter by submission status Allowed: pending, reviewed, spam, resolved, archived.
search string No — Search by email, name, subject, or message content
startDate string No — Filter submissions created after this date (ISO 8601)
endDate string No — Filter submissions created before this date (ISO 8601)

Example call

{
  "tool": "contact_list",
  "arguments": {
    "limit": 20,
    "offset": 0
  }
}

Output schema

{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": true
      }
    },
    "pagination": {
      "type": "object",
      "properties": {
        "total": {
          "type": "number"
        },
        "limit": {
          "type": "number"
        },
        "offset": {
          "type": "number"
        },
        "pages": {
          "type": "number"
        }
      },
      "required": [
        "total",
        "limit",
        "offset",
        "pages"
      ]
    }
  },
  "required": [
    "items",
    "pagination"
  ]
}

contact_mark_read

Title: Mark Contact as Read

Mark a contact submission as reviewed/read. Valid from: pending, spam, resolved, archived.

Required permission: contacts.update

Parameters

Parameter Type Required Default Description
contactId string Yes — Contact submission ID

Example call

{
  "tool": "contact_mark_read",
  "arguments": {
    "contactId": "string"
  }
}

Output schema

{
  "type": "object",
  "additionalProperties": true
}

contact_mark_unread

Title: Mark Contact as Unread

Mark a contact submission as unread/pending. Valid from: reviewed, spam, resolved, archived.

Required permission: contacts.update

Parameters

Parameter Type Required Default Description
contactId string Yes — Contact submission ID

Example call

{
  "tool": "contact_mark_unread",
  "arguments": {
    "contactId": "string"
  }
}

Output schema

{
  "type": "object",
  "additionalProperties": true
}

contact_stats

Title: Contact Submission Stats

Get contact form statistics including counts by status and recent activity

Required permission: contacts.read

Parameters

Parameter Type Required Default Description
startDate string No — Start date for activity period (ISO 8601)
endDate string No — End date for activity period (ISO 8601)

Example call

{
  "tool": "contact_stats",
  "arguments": {}
}

Output schema

{
  "type": "object",
  "additionalProperties": true
}

contact_update_status

Title: Update Contact Status

Update the status of a contact submission

Required permission: contacts.update

Parameters

Parameter Type Required Default Description
contactId string Yes — Contact submission ID
status string Yes — New status Allowed: pending, reviewed, spam, resolved, archived.

Example call

{
  "tool": "contact_update_status",
  "arguments": {
    "contactId": "string",
    "status": "pending"
  }
}

Output schema

{
  "type": "object",
  "additionalProperties": true
}

This page is generated from the registered MCP tool providers. Do not edit it by hand.