Yuki MCP by usefulapi

Read Yuki administrations, open invoices, ledger balances, contacts and documents.

사용해야 할까요

품질 및 안전성

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

발견 사항 (4)

  • LOWTool 'yuki_list_document_folder_tabs' description lacks action verbyuki_list_document_folder_tabs에서
  • LOWTool 'yuki_list_outstanding_debtor_items' name length outside 3-30 rangeyuki_list_outstanding_debtor_items에서
  • LOWTool 'yuki_list_outstanding_creditor_items' name length outside 3-30 rangeyuki_list_outstanding_creditor_items에서
  • LOWTool 'yuki_list_gl_account_transactions' name length outside 3-30 rangeyuki_list_gl_account_transactions에서

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

컨텍스트 비용

~4,534토큰 (도구 정의)
~2.3 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 3.54%)

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

설치

원클릭 설치

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

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

원격 엔드포인트

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

할 수 있는 일

도구 목록

도구 (16)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢yuki_list_domains(offset)

List the Yuki domains (customer environments) this access key can reach: id, name and URL. Accountant keys reach many domains. Accounting.Domains.

입력 스키마

{
  "type": "object",
  "properties": {
    "offset": {
      "description": "Skip this many items (default 0). Use the previous reply's next_offset to read on.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢yuki_list_administrations(offset)

List the administrations (companies with their own books) this access key can reach: id, name, address, Chamber of Commerce and VAT numbers, start date. Use the ids in the other tools. Accounting.Administrations.

입력 스키마

{
  "type": "object",
  "properties": {
    "offset": {
      "description": "Skip this many items (default 0). Use the previous reply's next_offset to read on.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢yuki_list_outstanding_debtor_items(administration_id, include_bank_transactions, sort_order, start_date, end_date, ...)

Open items on the debtors list (unpaid sales invoices): date, description, contact, open and original amount, reference, due date. Optionally within a date range. Accounting.OutstandingDebtorItems / OutstandingDebtorItemsByDate.

입력 스키마

{
  "type": "object",
  "properties": {
    "administration_id": {
      "description": "Yuki administration id (from yuki_list_administrations). Optional when the key has a single administration.",
      "type": "string",
      "pattern": "^[A-Za-z0-9._-]{1,64}$"
    },
    "include_bank_transactions": {
      "description": "Also list unmatched bank transactions as open items (default false).",
      "type": "boolean"
    },
    "sort_order": {
      "description": "Sort order (default DateDesc).",
      "type": "string",
      "enum": [
        "ContactAsc",
        "ContactDesc",
        "AmountAsc",
        "AmountDesc",
        "DateAsc",
        "DateDesc"
      ]
    },
    "start_date": {
      "description": "With end_date: only items dated in this range (yyyy-mm-dd).",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "end_date": {
      "description": "With start_date: end of the range (yyyy-mm-dd).",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "limit": {
      "description": "Most items to return (default 100, max 500).",
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "offset": {
      "description": "Skip this many items (default 0). Use the previous reply's next_offset to read on.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢yuki_list_outstanding_creditor_items(administration_id, include_bank_transactions, sort_order, start_date, end_date, ...)

Open items on the creditors list (unpaid purchase invoices): date, description, contact, open and original amount, reference, due date. Optionally within a date range. Accounting.OutstandingCreditorItems / OutstandingCreditorItemsByDate.

입력 스키마

{
  "type": "object",
  "properties": {
    "administration_id": {
      "description": "Yuki administration id (from yuki_list_administrations). Optional when the key has a single administration.",
      "type": "string",
      "pattern": "^[A-Za-z0-9._-]{1,64}$"
    },
    "include_bank_transactions": {
      "description": "Also list unmatched bank transactions as open items (default false).",
      "type": "boolean"
    },
    "sort_order": {
      "description": "Sort order (default DateDesc).",
      "type": "string",
      "enum": [
        "ContactAsc",
        "ContactDesc",
        "AmountAsc",
        "AmountDesc",
        "DateAsc",
        "DateDesc"
      ]
    },
    "start_date": {
      "description": "With end_date: only items dated in this range (yyyy-mm-dd).",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "end_date": {
      "description": "With start_date: end of the range (yyyy-mm-dd).",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "limit": {
      "description": "Most items to return (default 100, max 500).",
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "offset": {
      "description": "Skip this many items (default 0). Use the previous reply's next_offset to read on.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢yuki_get_gl_account_balance(administration_id, date, limit, offset)

The balance of every general ledger account of an administration on a date (yyyy-mm-dd): account code, description, amount. Accounting.GLAccountBalance.

입력 스키마

{
  "type": "object",
  "properties": {
    "administration_id": {
      "description": "Yuki administration id (from yuki_list_administrations). Optional when the key has a single administration.",
      "type": "string",
      "pattern": "^[A-Za-z0-9._-]{1,64}$"
    },
    "date": {
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
      "description": "Balance date, yyyy-mm-dd."
    },
    "limit": {
      "description": "Most items to return (default 100, max 500).",
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "offset": {
      "description": "Skip this many items (default 0). Use the previous reply's next_offset to read on.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    }
  },
  "required": [
    "date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢yuki_list_gl_account_transactions(administration_id, gl_account_code, start_date, end_date, limit, ...)

The transactions booked on one general ledger account in a date range: date, description, amount, contact, project. Get account codes from yuki_get_gl_account_scheme. Accounting.GLAccountTransactions.

입력 스키마

{
  "type": "object",
  "properties": {
    "administration_id": {
      "description": "Yuki administration id (from yuki_list_administrations). Optional when the key has a single administration.",
      "type": "string",
      "pattern": "^[A-Za-z0-9._-]{1,64}$"
    },
    "gl_account_code": {
      "type": "string",
      "minLength": 1,
      "maxLength": 32,
      "pattern": "^[A-Za-z0-9._-]+$",
      "description": "General ledger account code, e.g. 80000."
    },
    "start_date": {
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
      "description": "First day, yyyy-mm-dd."
    },
    "end_date": {
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
      "description": "Last day, yyyy-mm-dd."
    },
    "limit": {
      "description": "Most items to return (default 100, max 500).",
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "offset": {
      "description": "Skip this many items (default 0). Use the previous reply's next_offset to read on.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    }
  },
  "required": [
    "gl_account_code",
    "start_date",
    "end_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢yuki_get_net_revenue(administration_id, start_date, end_date)

The net revenue (turnover) of an administration in a date range, by transaction date. Accounting.NetRevenue.

입력 스키마

{
  "type": "object",
  "properties": {
    "administration_id": {
      "description": "Yuki administration id (from yuki_list_administrations). Optional when the key has a single administration.",
      "type": "string",
      "pattern": "^[A-Za-z0-9._-]{1,64}$"
    },
    "start_date": {
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
      "description": "First day, yyyy-mm-dd."
    },
    "end_date": {
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$",
      "description": "Last day, yyyy-mm-dd."
    }
  },
  "required": [
    "start_date",
    "end_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢yuki_get_gl_account_scheme(administration_id, limit, offset)

The general ledger accounts (chart of accounts) of an administration: code, description, type. Use the codes in yuki_list_gl_account_transactions. AccountingInfo.GetGLAccountScheme.

입력 스키마

{
  "type": "object",
  "properties": {
    "administration_id": {
      "description": "Yuki administration id (from yuki_list_administrations). Optional when the key has a single administration.",
      "type": "string",
      "pattern": "^[A-Za-z0-9._-]{1,64}$"
    },
    "limit": {
      "description": "Most items to return (default 100, max 500).",
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "offset": {
      "description": "Skip this many items (default 0). Use the previous reply's next_offset to read on.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢yuki_list_projects(administration_id, search_option, search_value, limit, offset)

Projects of an administration (code, description, company, contact, period, budgets), optionally filtered. AccountingInfo.GetProjects.

입력 스키마

{
  "type": "object",
  "properties": {
    "administration_id": {
      "description": "Yuki administration id (from yuki_list_administrations). Optional when the key has a single administration.",
      "type": "string",
      "pattern": "^[A-Za-z0-9._-]{1,64}$"
    },
    "search_option": {
      "description": "Field to search in (default All).",
      "type": "string",
      "enum": [
        "All",
        "Company",
        "Code",
        "Description"
      ]
    },
    "search_value": {
      "description": "Text to search for (ignored for All).",
      "type": "string",
      "maxLength": 200
    },
    "limit": {
      "description": "Most items to return (default 100, max 500).",
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "offset": {
      "description": "Skip this many items (default 0). Use the previous reply's next_offset to read on.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢yuki_search_contacts(domain_id, search_option, search_value, sort_order, active, ...)

Search the contacts (customers and suppliers) of a domain by name, city, postcode, tag, email, website, phone, code, Chamber of Commerce number, VAT number or bank account. Returns at most 100 contacts per page; ask for the next page_number until the reply is empty. Contact.SearchContacts.

입력 스키마

{
  "type": "object",
  "properties": {
    "domain_id": {
      "description": "Yuki domain id (from yuki_list_domains). Optional when the key has a single domain.",
      "type": "string",
      "pattern": "^[A-Za-z0-9._-]{1,64}$"
    },
    "search_option": {
      "description": "Field to search in (default All).",
      "type": "string",
      "enum": [
        "All",
        "Name",
        "City",
        "Postcode",
        "Tag",
        "Email",
        "Website",
        "Phone",
        "Code",
        "CoCNumber",
        "VATNumber",
        "BankAccount"
      ]
    },
    "search_value": {
      "description": "Text to search for. Empty lists all contacts.",
      "type": "string",
      "maxLength": 200
    },
    "sort_order": {
      "description": "Sort order (default Name).",
      "type": "string",
      "enum": [
        "Name",
        "LastName",
        "CreatedAsc",
        "CreatedDesc",
        "ModifiedAsc",
        "ModifiedDesc",
        "HID"
      ]
    },
    "active": {
      "description": "Active, inactive or both (default Both).",
      "type": "string",
      "enum": [
        "Both",
        "Active",
        "Inactive"
      ]
    },
    "page_number": {
      "description": "Page number, starting at 1 (default 1). A page holds up to 100 contacts.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "offset": {
      "description": "Skip this many contacts of the page (default 0). A long page is cut to fit the reply: use next_offset with the same page_number, then the next page_number.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢yuki_list_document_folders(domain_id)

The folders of the document archive (id, name). With an accountant key that reaches several domains, pass domain_id so the archive of that domain is read (default: the key's only domain). Archive.DocumentFolders.

입력 스키마

{
  "type": "object",
  "properties": {
    "domain_id": {
      "description": "Yuki domain id (from yuki_list_domains). Optional when the key has a single domain.",
      "type": "string",
      "pattern": "^[A-Za-z0-9._-]{1,64}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢yuki_list_document_folder_tabs(folder_id, domain_id)

The tabs inside one archive folder (id, name). Archive.DocumentFolderTabs.

입력 스키마

{
  "type": "object",
  "properties": {
    "folder_id": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000000,
      "description": "Folder id from yuki_list_document_folders."
    },
    "domain_id": {
      "description": "Yuki domain id (from yuki_list_domains). Optional when the key has a single domain.",
      "type": "string",
      "pattern": "^[A-Za-z0-9._-]{1,64}$"
    }
  },
  "required": [
    "folder_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢yuki_list_documents(folder_id, document_type, start_date, end_date, sort_order, ...)

Documents in the archive (invoices, receipts, bank statements...) with id, subject, type, contact, dates, amount. Narrow by archive folder or by document type, and by creation date range. Page with number_of_records and start_record. Archive.Documents / DocumentsInFolder / DocumentsByType.

입력 스키마

{
  "type": "object",
  "properties": {
    "folder_id": {
      "description": "Only this archive folder (id from yuki_list_document_folders). Not together with document_type.",
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000000
    },
    "document_type": {
      "description": "Only this Yuki document type number. Not together with folder_id.",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "start_date": {
      "description": "First day, yyyy-mm-dd (default 1990-01-01).",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "end_date": {
      "description": "Last day, yyyy-mm-dd (default 2100-01-01).",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "sort_order": {
      "description": "Sort order (default CreatedDesc).",
      "type": "string",
      "enum": [
        "CreatedDesc",
        "CreatedAsc",
        "ModifiedDesc",
        "ModifiedAsc",
        "DocumentDateDesc",
        "DocumentDateAsc",
        "ContactNameAsc",
        "ContactNameDesc"
      ]
    },
    "number_of_records": {
      "description": "Documents per call (default 100, max 500).",
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "start_record": {
      "description": "Offset of the first document (default 0). Add numberOfRecords to page on.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    },
    "offset": {
      "description": "Skip this many documents of the fetched batch (default 0). A long batch is cut to fit the reply: use next_offset with the same arguments.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    },
    "domain_id": {
      "description": "Yuki domain id (from yuki_list_domains). Optional when the key has a single domain.",
      "type": "string",
      "pattern": "^[A-Za-z0-9._-]{1,64}$"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢yuki_search_documents(search_text, search_option, folder_id, tab_id, start_date, ...)

Search archive documents by text in the creator, contact, subject, tag or type (or all). Optionally limit to a folder or tab and a date range. Archive.SearchDocuments.

입력 스키마

{
  "type": "object",
  "properties": {
    "search_text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Text to search for."
    },
    "search_option": {
      "description": "Where to search (default All).",
      "type": "string",
      "enum": [
        "All",
        "Creator",
        "Contact",
        "Subject",
        "Tag",
        "Type"
      ]
    },
    "folder_id": {
      "description": "Only this folder; -1 or omitted = all folders.",
      "type": "integer",
      "minimum": -1,
      "maximum": 1000000000
    },
    "tab_id": {
      "description": "Only this tab; -1 or omitted = all tabs.",
      "type": "integer",
      "minimum": -1,
      "maximum": 1000000000
    },
    "start_date": {
      "description": "First day, yyyy-mm-dd. Omit with end_date to search all years.",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "end_date": {
      "description": "Last day, yyyy-mm-dd.",
      "type": "string",
      "pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
    },
    "sort_order": {
      "description": "Sort order (default CreatedDesc).",
      "type": "string",
      "enum": [
        "CreatedDesc",
        "CreatedAsc",
        "ModifiedDesc",
        "ModifiedAsc",
        "DocumentDateDesc",
        "DocumentDateAsc",
        "ContactNameAsc",
        "ContactNameDesc"
      ]
    },
    "number_of_records": {
      "description": "Documents per call (default 100, max 500).",
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    },
    "start_record": {
      "description": "Offset of the first document (default 0). Add numberOfRecords to page on.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    },
    "offset": {
      "description": "Skip this many documents of the fetched batch (default 0). A long batch is cut to fit the reply: use next_offset with the same arguments.",
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000
    },
    "domain_id": {
      "description": "Yuki domain id (from yuki_list_domains). Optional when the key has a single domain.",
      "type": "string",
      "pattern": "^[A-Za-z0-9._-]{1,64}$"
    }
  },
  "required": [
    "search_text"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢yuki_get_document(document_id, domain_id)

Details of one archive document by id (subject, type, contact, dates, amounts, folder). Archive.FindDocument.

입력 스키마

{
  "type": "object",
  "properties": {
    "document_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._-]{1,64}$",
      "description": "Yuki document id (the ID in a document list)."
    },
    "domain_id": {
      "description": "Yuki domain id (from yuki_list_domains). Optional when the key has a single domain.",
      "type": "string",
      "pattern": "^[A-Za-z0-9._-]{1,64}$"
    }
  },
  "required": [
    "document_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢yuki_get_document_download_url(document_id, domain_id)

A presigned download URL for the file of one archive document (the link works for a short time; open it in a browser). Archive.DocumentDownloadUrl.

입력 스키마

{
  "type": "object",
  "properties": {
    "document_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9._-]{1,64}$",
      "description": "Yuki document id (the ID in a document list)."
    },
    "domain_id": {
      "description": "Yuki domain id (from yuki_list_domains). Optional when the key has a single domain.",
      "type": "string",
      "pattern": "^[A-Za-z0-9._-]{1,64}$"
    }
  },
  "required": [
    "document_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

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