Open To Close MCP by usefulapi
Review Open To Close properties and transaction records; add contacts and property notes.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (8)
- LOWin opentoclose_list_property_fields
- LOWin opentoclose_list_property_field_groups
- LOWin opentoclose_list_property_field_sections
- LOWin opentoclose_list_property_templates
- LOWin opentoclose_list_property_contacts
- LOWin opentoclose_list_property_documents
- LOWin opentoclose_list_property_notes
- LOWin opentoclose_list_property_tasks
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
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": {
"open-to-close": {
"url": "https://open-to-close.usefulapi.io/mcp"
}
}
}Remote-Endpunkte
https://open-to-close.usefulapi.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (20)
🟢opentoclose_list_agents(offset, limit, first_name, last_name, email, ...)
List agents with name/email search and documented sorting. One offset/limit page. GET /v1/agents/.
Eingabe-Schema
{
"type": "object",
"properties": {
"offset": {
"description": "Rows to skip, default 0.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"limit": {
"description": "Rows per call, default 20, maximum 100. If the page is full, request the next offset; no total count is documented.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"first_name": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"last_name": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"email": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"sort_by": {
"type": "string",
"enum": [
"first_name",
"last_name",
"email"
]
},
"sort_dir": {
"type": "string",
"enum": [
"asc",
"desc"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢opentoclose_list_contacts(offset, limit, first_name, last_name, email, ...)
List contacts with name/email search and documented sorting. One offset/limit page. GET /v1/contacts.
Eingabe-Schema
{
"type": "object",
"properties": {
"offset": {
"description": "Rows to skip, default 0.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"limit": {
"description": "Rows per call, default 20, maximum 100. If the page is full, request the next offset; no total count is documented.",
"type": "integer",
"minimum": 1,
"maximum": 100
},
"first_name": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"last_name": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"email": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"sort_by": {
"type": "string",
"enum": [
"first_name",
"last_name",
"email"
]
},
"sort_dir": {
"type": "string",
"enum": [
"asc",
"desc"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢opentoclose_list_contact_roles
List contact roles. GET /v1/contactRoles/.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢opentoclose_list_file_roles
List file roles. GET /v1/fileRoles/.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢opentoclose_list_property_fields
List property fields grouped into sections. GET /v1/propertyFields.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢opentoclose_list_property_field_groups
List property field groups. GET /v1/propertyFieldGroups.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢opentoclose_list_property_field_sections
List property field sections. GET /v1/propertyFieldSections.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢opentoclose_list_property_templates
List property templates. GET /v1/propertyTemplates/.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢opentoclose_list_teams
List teams and their members. GET /v1/teams/.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢opentoclose_list_time_zones
List time zones. GET /v1/timeZones/.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢opentoclose_list_tags
List tags. GET /v1/tags.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢opentoclose_list_properties(offset, limit)
List properties with team/agent summaries through the current v1.1 endpoint. Maximum 50 per call. This does not return a property's full field values. GET /v1.1/properties.
Eingabe-Schema
{
"type": "object",
"properties": {
"offset": {
"description": "Rows to skip, default 0.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"limit": {
"description": "Rows per call, default 20, maximum 50. If the page is full, request the next offset; no total count is documented.",
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢opentoclose_list_property_contacts(property_id, first_name, last_name, email)
List contacts associated with a property, optionally filtered by name/email. GET /v1/properties/{property_id}/contacts.
Eingabe-Schema
{
"type": "object",
"properties": {
"property_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"first_name": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"last_name": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"email": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"required": [
"property_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢opentoclose_list_property_documents(property_id)
Read a property's document folders and document metadata/links. Does not download files. GET /v1/properties/{property_id}/documents.
Eingabe-Schema
{
"type": "object",
"properties": {
"property_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"property_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢opentoclose_list_property_notes(property_id, offset, limit)
List notes associated with a property. One offset/limit page. GET /v1/properties/{property_id}/notes.
Eingabe-Schema
{
"type": "object",
"properties": {
"property_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"offset": {
"description": "Rows to skip, default 0.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
},
"limit": {
"description": "Rows per call, default 20, maximum 100. If the page is full, request the next offset; no total count is documented.",
"type": "integer",
"minimum": 1,
"maximum": 100
}
},
"required": [
"property_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢opentoclose_get_property_note(property_id, record_id)
Read one note associated with a property. GET /v1/properties/{property_id}/notes/{record_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"property_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"record_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"property_id",
"record_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢opentoclose_list_property_tasks(property_id)
List tasks associated with a property. GET /v1/properties/{property_id}/tasks.
Eingabe-Schema
{
"type": "object",
"properties": {
"property_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"property_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢opentoclose_get_property_task(property_id, record_id)
Read one task associated with a property. GET /v1/properties/{property_id}/tasks/{record_id}.
Eingabe-Schema
{
"type": "object",
"properties": {
"property_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"record_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"property_id",
"record_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡opentoclose_create_contact(first_name, last_name, email, middle_name, nick_name, ...)
WRITE: create a contact. Search existing contacts first to avoid duplicates, then confirm the requested details. Creates a contact record without associating it with a property. Returns a created record ID. POST /v1/contacts.
Eingabe-Schema
{
"type": "object",
"properties": {
"first_name": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"last_name": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"email": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"middle_name": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"nick_name": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"office_email": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"phone": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"cell_phone": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"address": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"city": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"state": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"zip": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"country": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"contact_role_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡opentoclose_add_property_note(property_id, description, private, pinned, personal, ...)
WRITE: add a note to a property. Confirm the property and note content/visibility with the user first. Adds another note on each call; inspect current notes before retrying. Optional visibility fields are omitted unless supplied; the vendor documents null defaults. POST /v1/properties/{property_id}/notes.
Eingabe-Schema
{
"type": "object",
"properties": {
"property_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 10000
},
"private": {
"type": "boolean"
},
"pinned": {
"type": "boolean"
},
"personal": {
"type": "boolean"
},
"global": {
"type": "boolean"
},
"priority": {
"type": "string",
"enum": [
"low",
"medium",
"high"
]
},
"priority_date": {
"type": "string",
"format": "date",
"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])))$"
}
},
"required": [
"property_id",
"description"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Nachweis