Paydirt MCP by usefulapi

Read, create and update clients, projects and jobs, and log time in Paydirt.

Sollte ich dies verwenden

Qualität und Sicherheit

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

Befunde (1)

  • LOWTool 'paydirt_update_client' description lacks action verbin paydirt_update_client

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

Kontextkosten

~2,397Tokens (Tool-Definitionen)
~1.1 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.87% 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": {
    "paydirt": {
      "url": "https://paydirt.usefulapi.io/mcp"
    }
  }
}

Remote-Endpunkte

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

Was es kann

Tool-Inventar

Tools (16)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢paydirt_list_clients

List all clients of the account, with billing details and hourly rates. Paydirt API: GET /v1/clients.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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}.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "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.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet16 Tools