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.