# Számolj vele: agent interface

Hungarian business-tax planning at https://szamoljvele.hu/. The human interface and agent tools use the same calculator engine. This is a simplified estimate, not a tax return or professional advice. The site has one Hungarian-language edition; the English technical documentation is not a translation of the calculator or its tax guides.

## Discover and call

Open https://szamoljvele.hu/ in a WebMCP-capable browser. The page registers two read-only tools:

- `calculate_hungarian_business_tax`: estimate one supplied scenario.
- `compare_hungarian_tax_modes`: compare two to four supplied, independent mode profiles.

Input/output JSON Schemas and runnable examples: https://szamoljvele.hu/agent-tools.json.

The integration uses `document.modelContext`, with compatibility detection for earlier `navigator.modelContext` implementations. Browser support is experimental and may require an origin trial or browser testing flag. The public website does not require WebMCP. Tools are not an HTTP endpoint and cannot be invoked by posting to the manifest URL.

For a browser agent without WebMCP, the loaded homepage also exposes `window.SzamoljVeleAgent.calculateTax(input)` and `window.SzamoljVeleAgent.compareTaxModes(input)`. These synchronous functions return the same structured object. `webmcpReady` resolves to whether both browser tools were registered. Normal labelled controls and ordinary guide links remain available.

## Input contract

- Supply `taxYear` explicitly: 2026 or 2027.
- `annualRevenueHuf` is annual revenue excluding VAT, in HUF. Do not pass monthly revenue, EUR or USD. There is no implicit currency conversion.
- Amounts named `annual…Huf` are annual; owner compensation named `monthly…Huf` is monthly and before tax.
- `atalany`: specify employment and the activity-dependent cost ratio. `general` means 45% in 2026, 50% in 2027; 80%/90% require an eligible activity. A main-occupation profile also requires `qualifiedActivity`.
- `kata`: explicitly choose `current` or `proposal`. `proposal` is only available for 2027 and is not enacted law. In the proposal scenario, business clients require the business revenue percentage, largest related payer-group percentage, and employer-client status.
- `vszja` and `kiva`: supply each mode's own annual expenses and monthly owner withdrawal/salary. Expenses exclude that compensation and the taxes calculated by the tool.
- HIPA defaults to the simplified method. The general method accepts its own permitted deductions, not every accounting expense. Omitted HIPA deductions are zero.
- Unknown fields, invalid percentages, non-finite values and amounts above the schema's technical bound are rejected. Do not invent missing financial or eligibility information.

Example:

```json
{"taxYear":2026,"annualRevenueHuf":18000000,"taxMode":"atalany","parameters":{"employment":"side","costRatio":"general","hipaMethod":"simple"}}
```

## Interpret the response

`ok:false` means input validation or calculation failed; do not interpret it as a tax estimate. When `eligible:false`, tax and remaining-income estimates are null. Explain the supplied warnings instead.

`incomeBasis` is essential: KATA and átalányadó amounts are after public charges but BEFORE actual business expenses. VSZJA and KIVA amounts deduct the expenses supplied for that specific profile. Comparing these remaining amounts does not automatically identify a financially equivalent or legally suitable "best" choice. No recommendation or ranking is returned.

Preserve `warnings`, `endsAtYearEnd`, `rulesStatus`, `estimateOnly`, `wageBaselineYear` and `assumptions` when summarizing results. In particular, 2027 wage-dependent calculations retain the 2026 baseline, and the new-KATA scenario is a consultation draft. VAT and personal tax relief are excluded. Whole-year, uniform-income, one-municipality assumptions apply; VSZJA/KIVA have additional simplifications described in the response.

The tools always use the site's baseline rules. They do not read the visitor's saved financial inputs or custom tax-rate overrides, write localStorage, change the visible calculator, or send tool inputs to analytics or another server. A calculation temporarily selects the year in the shared engine and restores its previous constants before returning.

## Rules and explanations

- [Model scope and official sources](https://szamoljvele.hu/TAX_RULES.md)
- [Hungarian guides and agent resources](https://szamoljvele.hu/llms.txt)
- [Tax terms and who receives each tax](https://szamoljvele.hu/utmutato/vallalkozasi-formak/#adok)

## HTTP and ChatGPT integrations

The public Node agent service is deployed alongside the static website. HTTP and MCP initialize/list/call were verified on 2026-11-05 using synthetic scenarios, with results matching the shared browser engine. No authentication or API key is required.

- OpenAPI schema: https://szamoljvele.hu/openapi.json.
- Public JSON POST paths `/api/agent/calculate` and `/api/agent/compare` use the same request and response contracts as the two browser tools.
- `https://szamoljvele.hu/mcp` provides the same tools through stateless MCP Streamable HTTP, allowing a configured ChatGPT/custom MCP client to call the calculator without executing the website's JavaScript.
- The public service accepts explicit scenarios; it does not use a visitor's saved state. Send annual HUF, not displayed monthly/foreign-currency inputs. It runs existing formulas, not an AI model.
- Operators: deployment instructions and verification are in `server/README.md` in the repository. The existing static website can remain unchanged on its current runtime; the service runs separately.

The HTML head links to this guide and `llms.txt`, and a visible footer link exposes the documentation index to readers that extract body links. The provided Nginx configuration also supplies a live HTTP `Link` header. These are discovery aids, not a guarantee that every crawler fetches the index or that ChatGPT automatically installs a calculation tool.

For ChatGPT tool execution, configure an MCP connection or a Custom GPT Action using the OpenAPI schema. An ordinary search/browsing visit and an installed tool connection are different capabilities. See the official guides:

- https://developers.openai.com/api/docs/guides/custom-mcp-server
- https://developers.openai.com/api/docs/actions/introduction
