openphone

Send and read OpenPhone messages, calls, contacts and phone numbers.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
89%
Qualität der Benennung
99%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (1)

  • LOWTool 'openphone_get_contact_custom_fields' name length outside 3-30 rangein openphone_get_contact_custom_fields

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~3,051Tokens (Tool-Definitionen)
~1.4 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.38% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "openphone": {
      "url": "https://openphone.usefulapi.io/mcp"
    }
  }
}

Remote-Endpunkte

https://openphone.usefulapi.io/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (16)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢openphone_list_phone_numbers(userId)

List the OpenPhone numbers in the workspace (id, number, name, formatted number, assigned users, restrictions). Usually the first call — most other tools need a phoneNumberId. OpenPhone REST: GET /phone-numbers.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "userId": {
      "description": "Scope results to a user's access (a user id starting with 'US'). From openphone_list_users.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢openphone_list_users(maxResults, pageToken)

List workspace users (id, email, name, role). Use to find a userId for scoping other calls. OpenPhone REST: GET /users.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "maxResults": {
      "description": "Results per page, 1-50. Default 10.",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "pageToken": {
      "description": "Pagination token from a previous response's nextPageToken.",
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢openphone_list_contacts(maxResults, pageToken, externalIds, sources)

List contacts in the workspace, optionally filtered by external ids or sources. Returns each contact's default fields (name, company, emails, phone numbers) and custom fields. OpenPhone REST: GET /contacts.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "maxResults": {
      "description": "Results per page, 1-50. Default 10.",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "pageToken": {
      "description": "Pagination token from a previous response's nextPageToken.",
      "type": "string"
    },
    "externalIds": {
      "description": "Filter to contacts with these external ids (from an integrated system).",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "sources": {
      "description": "Filter to contacts created by these sources.",
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢openphone_get_contact(id)

Get a single contact by its id, including default fields (name, company, role, emails, phone numbers) and custom fields. OpenPhone REST: GET /contacts/{id}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "The contact id."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢openphone_get_contact_custom_fields

List the workspace's contact custom-field definitions (name, key, type). Use the returned keys when creating contacts with custom fields. OpenPhone REST: GET /contact-custom-fields.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢openphone_list_conversations(maxResults, phoneNumbers, userId, createdAfter, createdBefore, ...)

List conversations (threads), most-recent activity first, optionally filtered by phone number(s), user, and created/updated date ranges. Each conversation has participants, assignee, and last-activity metadata. OpenPhone REST: GET /conversations.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "maxResults": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Results per page, 1-100 (required)."
    },
    "phoneNumbers": {
      "description": "Filter to conversations on these OpenPhone numbers (E.164 or 'PN...' ids), 1-100 items.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "userId": {
      "description": "Scope results to a user's access (a user id starting with 'US'). From openphone_list_users.",
      "type": "string"
    },
    "createdAfter": {
      "description": "Only conversations created after as an ISO-8601 datetime, e.g. '2026-07-01T00:00:00Z'.",
      "type": "string"
    },
    "createdBefore": {
      "description": "Only conversations created before as an ISO-8601 datetime, e.g. '2026-07-01T00:00:00Z'.",
      "type": "string"
    },
    "updatedAfter": {
      "description": "Only conversations updated after as an ISO-8601 datetime, e.g. '2026-07-01T00:00:00Z'.",
      "type": "string"
    },
    "updatedBefore": {
      "description": "Only conversations updated before as an ISO-8601 datetime, e.g. '2026-07-01T00:00:00Z'.",
      "type": "string"
    },
    "excludeInactive": {
      "description": "Exclude inactive conversations when true.",
      "type": "boolean"
    },
    "pageToken": {
      "description": "Pagination token from a previous response's nextPageToken.",
      "type": "string"
    }
  },
  "required": [
    "maxResults"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢openphone_list_messages(phoneNumberId, participants, maxResults, userId, createdAfter, ...)

List messages in a conversation between one of your OpenPhone numbers and one or more participants. Returns text, direction, status and timestamps. OpenPhone REST: GET /messages.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "phoneNumberId": {
      "type": "string",
      "minLength": 1,
      "description": "An OpenPhone phone-number id (starts with 'PN'). Get it from openphone_list_phone_numbers."
    },
    "participants": {
      "minItems": 1,
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Participant phone numbers in E.164 format (e.g. '+15555555555'), 1-10 items (required)."
    },
    "maxResults": {
      "description": "Results per page, 1-100. Default 10.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "userId": {
      "description": "Scope results to a user's access (a user id starting with 'US'). From openphone_list_users.",
      "type": "string"
    },
    "createdAfter": {
      "description": "Only messages created after as an ISO-8601 datetime, e.g. '2026-07-01T00:00:00Z'.",
      "type": "string"
    },
    "createdBefore": {
      "description": "Only messages created before as an ISO-8601 datetime, e.g. '2026-07-01T00:00:00Z'.",
      "type": "string"
    },
    "pageToken": {
      "description": "Pagination token from a previous response's nextPageToken.",
      "type": "string"
    }
  },
  "required": [
    "phoneNumberId",
    "participants"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢openphone_get_message(id)

Get a single message by its id (starts with 'AC'). OpenPhone REST: GET /messages/{id}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "The message id (starts with 'AC')."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴openphone_send_message(content, from, to, userId, setInboxStatus)

Send an SMS/text message from one of your OpenPhone numbers to up to 10 recipients. WRITE ACTION — this actually sends a real text message (which may incur carrier cost and requires approved A2P 10DLC registration). OpenPhone REST: POST /messages.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "content": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1600,
      "description": "The message body, 1-1600 characters (required)."
    },
    "from": {
      "type": "string",
      "minLength": 1,
      "description": "The sending OpenPhone number — a phone-number id ('PN...') or E.164 number, e.g. '+15555555555' (required)."
    },
    "to": {
      "minItems": 1,
      "maxItems": 10,
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Recipients in E.164 format (or contact ids), 1-10 items (required)."
    },
    "userId": {
      "description": "The sending user id ('US...'); defaults to the phone number's owner.",
      "type": "string"
    },
    "setInboxStatus": {
      "description": "Set to 'done' to mark the conversation complete after sending.",
      "type": "string",
      "enum": [
        "done"
      ]
    }
  },
  "required": [
    "content",
    "from",
    "to"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢openphone_list_calls(phoneNumberId, participants, maxResults, userId, createdAfter, ...)

List calls between one of your OpenPhone numbers and a participant, newest first, optionally filtered by user and created date range. Returns direction, status, duration and timestamps. OpenPhone REST: GET /calls.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "phoneNumberId": {
      "type": "string",
      "minLength": 1,
      "description": "An OpenPhone phone-number id (starts with 'PN'). Get it from openphone_list_phone_numbers."
    },
    "participants": {
      "minItems": 1,
      "maxItems": 1,
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "A single participant phone number in E.164 format, e.g. '+15555555555' (required, exactly 1)."
    },
    "maxResults": {
      "description": "Results per page, 1-100. Default 10.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "userId": {
      "description": "Scope results to a user's access (a user id starting with 'US'). From openphone_list_users.",
      "type": "string"
    },
    "createdAfter": {
      "description": "Only calls created after as an ISO-8601 datetime, e.g. '2026-07-01T00:00:00Z'.",
      "type": "string"
    },
    "createdBefore": {
      "description": "Only calls created before as an ISO-8601 datetime, e.g. '2026-07-01T00:00:00Z'.",
      "type": "string"
    },
    "pageToken": {
      "description": "Pagination token from a previous response's nextPageToken.",
      "type": "string"
    }
  },
  "required": [
    "phoneNumberId",
    "participants"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢openphone_get_call(id)

Get a single call by its id (starts with 'AC') — direction, status, duration, participants and timestamps. OpenPhone REST: GET /calls/{id}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "The call id (starts with 'AC')."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢openphone_get_call_summary(callId)

Get the AI-generated summary and next steps for a call by its id. Availability depends on your plan and whether the call was summarized. OpenPhone REST: GET /call-summaries/{callId}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "callId": {
      "type": "string",
      "minLength": 1,
      "description": "The call id (starts with 'AC')."
    }
  },
  "required": [
    "callId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢openphone_get_call_transcript(id)

Get the transcription for a call by its id — dialogue segments with speaker, text and timestamps, plus overall status and duration. OpenPhone REST: GET /call-transcripts/{id}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "The call id (starts with 'AC')."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢openphone_get_call_recordings(callId)

Get the recordings for a call by its id — each with a URL, duration, start time and status. OpenPhone REST: GET /call-recordings/{callId}.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "callId": {
      "type": "string",
      "minLength": 1,
      "description": "The call id (starts with 'AC')."
    }
  },
  "required": [
    "callId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢openphone_list_webhooks

List all webhooks configured in the workspace (id, url, events, status). Read-only inventory — this tool does not create or delete webhooks. OpenPhone REST: GET /webhooks.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴openphone_create_contact(firstName, lastName, company, role, emails, ...)

Create a new contact in the workspace. WRITE ACTION — this adds a persistent contact record. Emails and phoneNumbers are passed as simple string arrays and stored under default field labels. OpenPhone REST: POST /contacts.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "firstName": {
      "type": "string",
      "minLength": 1,
      "description": "The contact's first name (required)."
    },
    "lastName": {
      "description": "The contact's last name.",
      "type": "string"
    },
    "company": {
      "description": "The contact's company.",
      "type": "string"
    },
    "role": {
      "description": "The contact's role / job title.",
      "type": "string"
    },
    "emails": {
      "description": "Email addresses for the contact.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "phoneNumbers": {
      "description": "Phone numbers for the contact (E.164 recommended).",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "externalId": {
      "description": "A unique id from an external system (1-75 chars).",
      "type": "string",
      "minLength": 1,
      "maxLength": 75
    },
    "source": {
      "description": "How the contact was created; defaults to 'public-api'.",
      "type": "string"
    },
    "sourceUrl": {
      "description": "A link to the contact in the source system.",
      "type": "string",
      "format": "uri"
    }
  },
  "required": [
    "firstName"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet16 Tools