Paydirt MCP by usefulapi
Read, create and update clients, projects and jobs, and log time in Paydirt.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen paydirt_update_client
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": {
"paydirt": {
"url": "https://paydirt.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://paydirt.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (16)
🟢paydirt_list_clients
List all clients of the account, with billing details and hourly rates. Paydirt API: GET /v1/clients.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢paydirt_get_client(client_id)
Get one client by id. Paydirt API: GET /v1/clients/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The client id."
}
},
"required": [
"client_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴paydirt_create_client(business_name)
Create a client with a business name. Paydirt API: POST /v1/clients.
Esquema de entrada
{
"type": "object",
"properties": {
"business_name": {
"type": "string",
"minLength": 1,
"description": "The client's business name."
}
},
"required": [
"business_name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡paydirt_update_client(client_id, business_name)
Change the business name of an existing client. Paydirt API: PUT /v1/clients/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The client id."
},
"business_name": {
"type": "string",
"minLength": 1,
"description": "The new business name."
}
},
"required": [
"client_id",
"business_name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢paydirt_list_projects
List all projects of the account, with their client and completion status. Paydirt API: GET /v1/projects.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢paydirt_get_project(project_id)
Get one project by id. Paydirt API: GET /v1/projects/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The project id."
}
},
"required": [
"project_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴paydirt_create_project(client_id, name, completed)
Create a project under a client. Paydirt API: POST /v1/projects.
Esquema de entrada
{
"type": "object",
"properties": {
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The client that owns the project id."
},
"name": {
"type": "string",
"minLength": 1,
"description": "The project name."
},
"completed": {
"description": "Whether the project is completed.",
"type": "boolean"
}
},
"required": [
"client_id",
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡paydirt_update_project(project_id, name, completed)
Rename a project or mark it completed or open. Paydirt API: PUT /v1/projects/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The project id."
},
"name": {
"description": "The new project name.",
"type": "string",
"minLength": 1
},
"completed": {
"description": "Whether the project is completed.",
"type": "boolean"
}
},
"required": [
"project_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢paydirt_list_jobs
List all jobs of the account, with price, price type, estimate and completion. Paydirt API: GET /v1/jobs.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢paydirt_get_job(job_id)
Get one job by id. Paydirt API: GET /v1/jobs/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"job_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The job id."
}
},
"required": [
"job_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴paydirt_create_job(project_id, name, price_type, price, completed)
Create a job in a project. price_type 0 = per hour at the job price, 1 = fixed price, 2 = per hour at each user's rate. Paydirt API: POST /v1/jobs.
Esquema de entrada
{
"type": "object",
"properties": {
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The project that owns the job id."
},
"name": {
"type": "string",
"minLength": 1,
"description": "The job name."
},
"price_type": {
"type": "integer",
"minimum": 0,
"maximum": 2,
"description": "0 = per hour, 1 = fixed price, 2 = per hour at each user's rate."
},
"price": {
"type": "number",
"minimum": 0,
"description": "The job price. Its meaning depends on price_type."
},
"completed": {
"description": "Whether the job is completed.",
"type": "boolean"
}
},
"required": [
"project_id",
"name",
"price_type",
"price"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡paydirt_update_job(job_id, name, project_id, completed)
Rename a job, move it to another project, or mark it completed or open. Paydirt API: PUT /v1/jobs/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"job_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The job id."
},
"name": {
"description": "The new job name.",
"type": "string",
"minLength": 1
},
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The project the job moves to id."
},
"completed": {
"description": "Whether the job is completed.",
"type": "boolean"
}
},
"required": [
"job_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢paydirt_list_time_logs(start, end, user_id, client_id, project_id, ...)
List time logs, optionally filtered by date range, user, client, project, job, billable or billed status. Paydirt API: GET /v1/time.
Esquema de entrada
{
"type": "object",
"properties": {
"start": {
"description": "Include logs on and after this date (inclusive).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"end": {
"description": "Include logs up to and including this date.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"user_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The user id."
},
"client_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The client id."
},
"project_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The project id."
},
"job_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The job id."
},
"billable": {
"description": "true = billable only, false = unbillable only.",
"type": "boolean"
},
"billed": {
"description": "true = billed only, false = unbilled only.",
"type": "boolean"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢paydirt_get_time_log(time_log_id)
Get one time log by id. Paydirt API: GET /v1/time/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"time_log_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The time log id."
}
},
"required": [
"time_log_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴paydirt_create_time_log(job_id, user_id, duration_only, duration, date, ...)
Log time against a job. Give started_at and ended_at, or set duration_only true and give duration (seconds) and date. Defaults to the calling user. Creates a billable record. Paydirt API: POST /v1/time.
Esquema de entrada
{
"type": "object",
"properties": {
"job_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The job the time is logged against id."
},
"user_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "The user who did the work (default: the calling user) id."
},
"duration_only": {
"description": "true = log a duration on a date; false = log a start and end time.",
"type": "boolean"
},
"duration": {
"description": "Duration in seconds. Required when duration_only is true.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"date": {
"description": "Date of the log. Required when duration_only is true.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"started_at": {
"description": "Start time. Required when duration_only is false.",
"type": "string"
},
"ended_at": {
"description": "End time. Required when duration_only is false.",
"type": "string"
},
"description": {
"description": "What the work was about.",
"type": "string"
}
},
"required": [
"job_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢paydirt_list_users
List the users of the account (ids, names and emails). Use the ids for user_id filters. Paydirt API: GET /v1/users.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Comunidad
Evidencia