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 件