Formitize MCP by usefulapi
Read jobs, form templates, submitted forms and assets; create and update CRM tasks in Formitize.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen formitize_list_lookup_databases
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"formitize": {
"url": "https://formitize.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://formitize.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (15)
🟢formitize_list_jobs(finished, from, to, status, agentName, ...)
List jobs (work orders). Returns unfinished jobs by default; set finished to true for finished jobs. Up to 500 per call. Formitize API: GET /job/.
Esquema de entrada
{
"type": "object",
"properties": {
"finished": {
"description": "true = finished jobs; default = unfinished jobs.",
"type": "boolean"
},
"from": {
"description": "Earliest date to list (YYYY-MM-DD or Unix timestamp).",
"type": "string"
},
"to": {
"description": "Latest date to list (YYYY-MM-DD or Unix timestamp).",
"type": "string"
},
"status": {
"description": "Filter by job status.",
"type": "string"
},
"agentName": {
"description": "Filter by the assigned agent (user) name.",
"type": "string"
},
"jobnumber": {
"description": "Filter by job number.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"ordernumber": {
"description": "Filter by order number.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Jobs per page (max 500).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢formitize_get_job(job_id)
Get one job by id: client, contact, title, job and order numbers, status, forms attached to the job and invoice id. Formitize API: GET /job/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "The job id (from formitize_list_jobs)."
}
},
"required": [
"job_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢formitize_get_job_history(job_id)
Get the change history of one job: edits, status changes and their times. Formitize API: GET /job/{id}/history.
Esquema de entrada
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "The job id (from formitize_list_jobs)."
}
},
"required": [
"job_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢formitize_list_form_templates(simple)
List the form templates in the account (id, title, dates). Use the id with formitize_get_form_template. Formitize API: GET /form/list.
Esquema de entrada
{
"type": "object",
"properties": {
"simple": {
"description": "true = return the simplified form without the schema data.",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢formitize_get_form_template(form_id, simple)
Get one form template with its field layout (elements and their types). Formitize API: GET /form/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"form_id": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "The form template id (from formitize_list_form_templates)."
},
"simple": {
"description": "true = return the simplified form without the schema data.",
"type": "boolean"
}
},
"required": [
"form_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢formitize_list_submitted_forms(title, job_id, form_id, modified_after_date, page)
List submitted forms (form entries), newest first, 200 per page. Filter by title, job, template or modified date. Formitize API: GET /form/submit/list.
Esquema de entrada
{
"type": "object",
"properties": {
"title": {
"description": "Search submitted forms by title.",
"type": "string"
},
"job_id": {
"description": "Only forms attached to this job id.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"form_id": {
"description": "Only forms from this template id.",
"type": "string"
},
"modified_after_date": {
"description": "Only forms modified after this date (YYYY-MM-DD).",
"type": "string"
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢formitize_get_submitted_form(submitted_form_id, simple)
Get one submitted form with its answers, the submitting user, the job and the GPS position. Formitize API: GET /form/submit/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"submitted_form_id": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "The submitted form id (from formitize_list_submitted_forms)."
},
"simple": {
"description": "true = return the simplified form without the schema data.",
"type": "boolean"
}
},
"required": [
"submitted_form_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢formitize_list_asset_types
List the asset types (schemas) with their column names. Use the id with formitize_list_assets. Formitize API: GET /asset/schema/list.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢formitize_list_assets(schema_id)
List the assets of one asset type, with their schema columns. Formitize API: GET /asset/list/{schemaID}/.
Esquema de entrada
{
"type": "object",
"properties": {
"schema_id": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "The asset type id (from formitize_list_asset_types)."
}
},
"required": [
"schema_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢formitize_get_asset(schema_id, asset_id)
Get one asset by id, with its asset type schema, client, location and field values. Formitize API: GET /asset/{schemaID}/{assetID}.
Esquema de entrada
{
"type": "object",
"properties": {
"schema_id": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "The asset type id (from formitize_list_asset_types)."
},
"asset_id": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "The asset id (from formitize_list_assets)."
}
},
"required": [
"schema_id",
"asset_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢formitize_list_lookup_databases
List the lookup database tables with their column names. Formitize API: GET /database/list.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢formitize_list_tasks(status, assigned_to, client_id, task_type, from, ...)
List CRM tasks with optional filters. Paginated. Formitize API: GET /crm/task/.
Esquema de entrada
{
"type": "object",
"properties": {
"status": {
"description": "Filter by task status.",
"type": "string"
},
"assigned_to": {
"description": "Only tasks assigned to this user id.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"client_id": {
"description": "Only tasks for this client id.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"task_type": {
"description": "Filter by task type (for example Call).",
"type": "string"
},
"from": {
"description": "Earliest due date (YYYY-MM-DD or Unix timestamp).",
"type": "string"
},
"to": {
"description": "Latest due date (YYYY-MM-DD or Unix timestamp).",
"type": "string"
},
"search": {
"description": "Search text.",
"type": "string"
},
"order": {
"description": "Sort order, as the Formitize API accepts it.",
"type": "string"
},
"page": {
"description": "Page number (default 1).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢formitize_get_task(task_id)
Get one CRM task with its related client or job and attachments. Formitize API: GET /crm/task/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"task_id": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "The task id (from formitize_list_tasks)."
}
},
"required": [
"task_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴formitize_create_task(title, description, task_type, due_date, assigned_to, ...)
WRITE: create a new CRM task. Each call makes a new task, so do not repeat it. Formitize API: POST /crm/task/.
Esquema de entrada
{
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"description": "The task title."
},
"description": {
"description": "The task description.",
"type": "string"
},
"task_type": {
"description": "The task type (for example Call).",
"type": "string"
},
"due_date": {
"description": "Due date as a Unix timestamp (seconds).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"assigned_to": {
"description": "The user id the task is assigned to.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"status": {
"description": "The status number, as formitize_get_task returns it.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"tags": {
"description": "Tags for the task.",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"title"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡formitize_update_task(task_id, title, description, task_type, due_date, ...)
WRITE: update a CRM task. Only the fields you pass change. Repeating the same call gives the same result. Formitize API: POST /crm/task/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"task_id": {
"type": "string",
"pattern": "^[0-9]+$",
"description": "The task id (from formitize_list_tasks)."
},
"title": {
"description": "New title.",
"type": "string"
},
"description": {
"description": "New description.",
"type": "string"
},
"task_type": {
"description": "New task type.",
"type": "string"
},
"due_date": {
"description": "New due date as a Unix timestamp (seconds).",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"assigned_to": {
"description": "New assigned user id.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"status": {
"description": "New status number.",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"tags": {
"description": "New tags (replaces the existing tags).",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"task_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Comunidad
Evidencia