Paydirt MCP by usefulapi

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

사용해야 할까요

품질 및 안전성

A
설명 품질
98%
스키마 완전성
82%
이름 품질
80%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

발견 사항 (1)

  • LOWTool 'paydirt_update_client' description lacks action verbpaydirt_update_client에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,397토큰 (도구 정의)
~1.1 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.87%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

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

원격 엔드포인트

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

할 수 있는 일

도구 목록

도구 (16)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢paydirt_list_clients

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

입력 스키마

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

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 16개