Servidor MCP

asset-register

io.github.theluckystrike/asset-register
Negocio y operaciones Finanzas e inversión Público y accesible MCP 2026-07-28

Qué hace este MCP

Maintains a fixed-asset register with tax-table depreciation schedules, disposals, net book values, and depreciation journals.

asset_add
Add a fixed asset
Add one fixed asset to the register and return its id with the rate, useful life and convention taken from the bundled tax table. Cost and residual are whole minor units. Free tier holds ten assets.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['name', 'category', 'cost_minor', 'purchase_date'], 'properties': {'name': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'What the asset is, e.g. "MacBook Pro 16" or "Delivery van"'}, 'note': {'type': 'string', 'maxLength': 2000}, 'method': {'enum': ['straight-line', 'declining-balance'], 'type': 'string', 'description': '"straight-line" or "declining-balance". Default: the table row method, straight-line for the Polish annex and the reducing-balance pool rate for the UK'}, 'scheme': {'enum': ['pl', 'uk', 'us'], 'type': 'string', 'description': '"pl" Polish KST annex rates, "uk" HMRC capital allowance pools, "us" IRS MACRS GDS. Omit to derive it from the shared business profile currency'}, 'project': {'type': 'string', 'maxLength': 200, 'description': 'Project, department or cost centre this asset belongs to'}, 'category': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'A code or name from the bundled table, e.g. "487" or "Computers and computer sets" (pl), "main" (uk), "5-year" (us). Read assets://categories for the list'}, 'currency': {'type': 'string', 'pattern': '^[A-Za-z]{3}$', 'description': 'ISO code. Defaults to the shared business profile currency, else the scheme table currency'}, 'rate_pct': {'type': 'number', 'description': 'Override the annual percentage derived from the table. Use for a lowered Polish rate under art. 16i'}, 'cost_minor': {'type': 'integer', 'description': 'Acquisition cost in MINOR units (integer cents/grosze), e.g. 549900 for 5499.00. Never a decimal'}, 'life_years': {'type': 'number', 'description': 'Override the useful life derived from the table, in years. The answer reports that it was an override'}, 'purchase_date': {'type': 'string', 'maxLength': 10, 'description': 'ISO date YYYY-MM-DD the asset was bought'}, 'residual_minor': {'type': 'integer', 'description': 'Residual or salvage value in MINOR units, default 0. Must be less than cost. MACRS ignores it and the answer says so'}, 'in_service_date': {'type': 'string', 'maxLength': 10, 'description': 'ISO date YYYY-MM-DD the asset entered use and the register. Defaults to purchase_date'}, 'declining_coefficient': {'type': 'number', 'description': 'Declining-balance coefficient. Polish default 2.0, capped by the table; ignored with straight-line'}}, 'additionalProperties': False}
asset_delete
Delete an asset
Remove one asset from the register when nothing depends on it: not disposed of, never journaled. Its free-tier slot is free again. An asset with a dependent is refused and the dependent is named. Free.
Destructivo
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['asset'], 'properties': {'asset': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Asset id such as ASSET-2026-0001, or an exact or partial name'}}, 'additionalProperties': False}
asset_dispose
Dispose of an asset
Record that an asset left the business on a date and return the gain or loss against net book value. proceeds_minor is in MINOR units. Depreciation stops here, and a second disposal is refused.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['asset', 'date'], 'properties': {'date': {'type': 'string', 'maxLength': 10, 'description': 'ISO date YYYY-MM-DD the asset left the business. It cannot be before the in-service date'}, 'note': {'type': 'string', 'maxLength': 2000, 'description': 'What happened, e.g. sold to a dealer, written off after a fire'}, 'asset': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Asset id such as ASSET-2026-0001, or an exact or partial name'}, 'proceeds_minor': {'type': 'integer', 'description': 'Sale proceeds in MINOR units, default 0 for a scrapping or a write-off'}}, 'additionalProperties': False}
asset_journal
Journal the month's depreciation
Return the depreciation journal for one month: debit depreciation expense and credit accumulated depreciation, per asset and in total, plus an expense_add-ready payload per currency. It writes no expense. Pro.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['month'], 'properties': {'month': {'type': 'string', 'maxLength': 10, 'description': 'The month to journal, YYYY-MM. A date YYYY-MM-DD is read as its month'}, 'scheme': {'enum': ['pl', 'uk', 'us'], 'type': 'string', 'description': 'Only assets on this tax scheme'}, 'project': {'type': 'string', 'maxLength': 200, 'description': 'Only assets on this project or cost centre'}, 'category': {'type': 'string', 'maxLength': 200, 'description': 'Expense category to put on the expense_add payload. Default "depreciation"'}, 'expense_account': {'type': 'string', 'maxLength': 200, 'description': 'Debit account name. Default "Depreciation expense"'}, 'accumulated_account': {'type': 'string', 'maxLength': 200, 'description': 'Credit account name. Default "Accumulated depreciation"'}}, 'additionalProperties': False}
asset_list
List the fixed asset register
List the assets in the register with cost, method, rate and net book value at a date, filtered by scheme, category, project, currency or disposal state. Free and unlimited.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'as_of': {'type': 'string', 'maxLength': 10, 'description': 'Value the register at this month or date, YYYY-MM or YYYY-MM-DD. Default today'}, 'limit': {'type': 'integer', 'maximum': 2000, 'minimum': 1, 'description': 'Maximum rows, default and ceiling 2000'}, 'scheme': {'enum': ['pl', 'uk', 'us'], 'type': 'string', 'description': 'Only assets on this tax scheme'}, 'project': {'type': 'string', 'maxLength': 200, 'description': 'Only assets on this project or cost centre'}, 'category': {'type': 'string', 'maxLength': 200, 'description': 'Only assets in this table category code or name'}, 'currency': {'type': 'string', 'pattern': '^[A-Za-z]{3}$', 'description': 'Only assets held in this currency'}, 'include_disposed': {'type': 'boolean', 'description': 'Include assets already disposed of. Default false'}}, 'additionalProperties': False}
asset_report
Report the register
For one year: net book value by category, scheme and currency at as_of, the year's depreciation charge per currency, and every disposal with its gain or loss. Pro; asset_list and asset_schedule are free per-asset views.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'year': {'type': 'integer', 'description': 'Calendar year to report, e.g. 2026. Default the year of as_of, else this year'}, 'as_of': {'type': 'string', 'maxLength': 10, 'description': 'Value the register at this month or date, YYYY-MM or YYYY-MM-DD. Default the last day of the year'}, 'scheme': {'enum': ['pl', 'uk', 'us'], 'type': 'string', 'description': 'Only assets on this tax scheme'}, 'project': {'type': 'string', 'maxLength': 200, 'description': 'Only assets on this project or cost centre'}}, 'additionalProperties': False}
asset_schedule
Build a depreciation schedule
Build the depreciation schedule for a stored asset, or price one not in the register, per year or per month, to residual or zero, with the table's rate, life and convention. Periods sum exactly to the base.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'asset': {'type': 'string', 'maxLength': 200, 'description': 'Asset id such as ASSET-2026-0001, or an exact or partial name. Omit and pass the fields below to price an asset that is not in the register'}, 'method': {'enum': ['straight-line', 'declining-balance'], 'type': 'string', 'description': '"straight-line" or "declining-balance"'}, 'scheme': {'enum': ['pl', 'uk', 'us'], 'type': 'string', 'description': 'Scheme, when pricing an asset that is not in the register'}, 'category': {'type': 'string', 'maxLength': 200, 'description': 'Table category code or name, when pricing an asset that is not in the register'}, 'currency': {'type': 'string', 'pattern': '^[A-Za-z]{3}$', 'description': 'ISO code, when pricing an asset that is not in the register'}, 'rate_pct': {'type': 'number', 'description': 'Override the annual percentage from the table'}, 'cost_minor': {'type': 'integer', 'description': 'Cost in MINOR units, when pricing an asset that is not in the register'}, 'life_years': {'type': 'number', 'description': 'Override the useful life from the table, in years'}, 'granularity': {'enum': ['year', 'month'], 'type': 'string', 'description': '"year" for one row per period, "month" for the monthly charge. Default "year"'}, 'purchase_date': {'type': 'string', 'maxLength': 10, 'description': 'ISO date YYYY-MM-DD, when pricing an asset that is not in the register'}, 'residual_minor': {'type': 'integer', 'description': 'Residual in MINOR units, default 0'}, 'in_service_date': {'type': 'string', 'maxLength': 10, 'description': 'ISO date YYYY-MM-DD the asset entered use. Defaults to purchase_date'}, 'declining_coefficient': {'type': 'number', 'description': 'Declining-balance coefficient; ignored with straight-line'}}, 'additionalProperties': False}
license_activate
Activate license
Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong or expired key changes nothing. license_status confirms it.
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['key'], 'properties': {'key': {'type': 'string', 'description': 'License key from checkout, MCPL1.<payload>.<signature>'}}, 'additionalProperties': False}
license_status
License status
Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a free-tier refusal. No arguments, nothing changes.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
Modificado
license_activate
21 de September de 2026 a las 02:56
Modificado
license_status
21 de September de 2026 a las 02:56
Modificado
asset_report
21 de September de 2026 a las 02:56
Modificado
asset_delete
21 de September de 2026 a las 02:56
Modificado
asset_dispose
21 de September de 2026 a las 02:56
Modificado
asset_journal
21 de September de 2026 a las 02:56
Modificado
asset_schedule
21 de September de 2026 a las 02:56
Modificado
asset_list
21 de September de 2026 a las 02:56
Modificado
asset_add
21 de September de 2026 a las 02:56
Añadido
license_activate
17 de September de 2026 a las 12:52
Añadido
license_status
17 de September de 2026 a las 12:52
Añadido
asset_report
17 de September de 2026 a las 12:52
Añadido
asset_delete
17 de September de 2026 a las 12:52
Añadido
asset_dispose
17 de September de 2026 a las 12:52
Añadido
asset_journal
17 de September de 2026 a las 12:52
Añadido
asset_schedule
17 de September de 2026 a las 12:52
Añadido
asset_list
17 de September de 2026 a las 12:52
Añadido
asset_add
17 de September de 2026 a las 12:52