@open-nav/mcp 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +50 -1
- package/dist/server.js.map +1 -1
- package/package.json +5 -5
- package/src/server.ts +84 -0
package/README.md
CHANGED
|
@@ -37,11 +37,12 @@ Same variables as the CLI, so one configuration serves both.
|
|
|
37
37
|
|
|
38
38
|
## Tools
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
Five work with no credentials at all:
|
|
41
41
|
|
|
42
42
|
| Tool | What it does |
|
|
43
43
|
| ------------------- | ---------------------------------------------------------------------------------------- |
|
|
44
44
|
| `validate_invoice` | Check invoice data against the schema and the business rules, with NAV's own fault codes |
|
|
45
|
+
| `compute_summary` | Derive the VAT-rate summary and totals from the lines, and flag any mismatch |
|
|
45
46
|
| `lookup_fault_code` | Explain a NAV fault code in NAV's words, in `hu`, `en` or `de` |
|
|
46
47
|
| `render_invoice` | Render a printable invoice, with the phrases the VAT Act requires |
|
|
47
48
|
| `export_invoices` | Build the data export required by decree 23/2014. (VI. 30.) NGM |
|
|
@@ -56,6 +57,17 @@ Five more appear once credentials are configured:
|
|
|
56
57
|
| `list_invoices` | Invoices issued by you or to you, in a date range |
|
|
57
58
|
| `get_invoice` | One invoice in full, as reported |
|
|
58
59
|
|
|
60
|
+
## Resources
|
|
61
|
+
|
|
62
|
+
Two resources carry NAV's error catalogues as JSON, so an agent can read the
|
|
63
|
+
whole space of faults without a tool call. Both are available with no
|
|
64
|
+
credentials.
|
|
65
|
+
|
|
66
|
+
| Resource | What it is |
|
|
67
|
+
| ------------------------ | --------------------------------------------------------------------------------------------- |
|
|
68
|
+
| `nav://faults` | Every validation fault code, with NAV's `en`, `hu` and `de` wording |
|
|
69
|
+
| `nav://interface-errors` | Every interface-level error code (auth, malformed request, throttling), with the same wording |
|
|
70
|
+
|
|
59
71
|
## Decisions that matter for an agent
|
|
60
72
|
|
|
61
73
|
**Tools that cannot work are not offered.** Without credentials the NAV tools
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAaL,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAsB,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAItF;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,WAAW,EAAE,cAAc,CAAA;KAAE,KAAK,SAAS,CAAC;CACxE;AAiDD,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,aAAkB,GAAG,SAAS,CAYzE"}
|
package/dist/server.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { NavApiError, decodeInvoiceData, faultMessage, parseDocument, parseTaxNumber, serializeDocument, validateInvoice, } from '@open-nav/core';
|
|
3
|
+
import { NavApiError, NAV_FAULT_MESSAGES, NAV_INTERFACE_MESSAGES, checkInvoiceSummary, computeInvoiceSummary, decodeInvoiceData, faultMessage, parseDocument, parseTaxNumber, serializeDocument, validateInvoice, } from '@open-nav/core';
|
|
4
4
|
import { NavClient, waitForTransaction } from '@open-nav/client';
|
|
5
5
|
import { createDataExport, renderInvoiceHtml } from '@open-nav/invoicing';
|
|
6
6
|
import { VERSION } from './version.js';
|
|
@@ -40,6 +40,7 @@ function parseInvoice(xml) {
|
|
|
40
40
|
}
|
|
41
41
|
export function createNavMcpServer(options = {}) {
|
|
42
42
|
const server = new McpServer({ name: 'open-nav', version: VERSION });
|
|
43
|
+
registerResources(server);
|
|
43
44
|
registerOfflineTools(server);
|
|
44
45
|
if (options.credentials && options.software) {
|
|
45
46
|
registerOnlineTools(server, {
|
|
@@ -50,6 +51,26 @@ export function createNavMcpServer(options = {}) {
|
|
|
50
51
|
}
|
|
51
52
|
return server;
|
|
52
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Reference data an agent can read directly, without spending a tool call.
|
|
56
|
+
*
|
|
57
|
+
* NAV's fault and interface-error catalogues are static and finite, so they
|
|
58
|
+
* are better read once as a resource than looked up code by code.
|
|
59
|
+
*/
|
|
60
|
+
function registerResources(server) {
|
|
61
|
+
const jsonResource = (name, uri, title, description, value) => {
|
|
62
|
+
server.registerResource(name, uri, { title, description, mimeType: 'application/json' }, async (url) => ({
|
|
63
|
+
contents: [
|
|
64
|
+
{ uri: url.href, mimeType: 'application/json', text: JSON.stringify(value, null, 2) },
|
|
65
|
+
],
|
|
66
|
+
}));
|
|
67
|
+
};
|
|
68
|
+
jsonResource('nav-fault-catalogue', 'nav://faults', 'NAV validation fault catalogue', "Every validation fault code NAV can report against an invoice, with NAV's own " +
|
|
69
|
+
'English, Hungarian and German wording. Read this to interpret a rejection or to see ' +
|
|
70
|
+
'the full space of faults.', NAV_FAULT_MESSAGES);
|
|
71
|
+
jsonResource('nav-interface-error-catalogue', 'nav://interface-errors', 'NAV interface error catalogue', 'Every interface-level error code NAV can return (malformed request, authentication, ' +
|
|
72
|
+
'rate limiting and the like), with its English, Hungarian and German wording.', NAV_INTERFACE_MESSAGES);
|
|
73
|
+
}
|
|
53
74
|
/** Tools that contact nothing and need no credentials. */
|
|
54
75
|
function registerOfflineTools(server) {
|
|
55
76
|
server.registerTool('validate_invoice', {
|
|
@@ -154,6 +175,34 @@ function registerOfflineTools(server) {
|
|
|
154
175
|
return failure(error);
|
|
155
176
|
}
|
|
156
177
|
});
|
|
178
|
+
server.registerTool('compute_summary', {
|
|
179
|
+
title: 'Compute the invoice VAT summary',
|
|
180
|
+
description: 'Derive the VAT-rate summary and invoice totals from the lines of NAV invoice data, ' +
|
|
181
|
+
'the way NAV expects them, and report any place where a stated summary disagrees with ' +
|
|
182
|
+
'the lines. Use this while building an invoice to get the summary right before ' +
|
|
183
|
+
'submitting — a one-forint mismatch rejects the whole batch. Needs no credentials.',
|
|
184
|
+
inputSchema: {
|
|
185
|
+
xml: z.string().describe('The InvoiceData XML document'),
|
|
186
|
+
},
|
|
187
|
+
annotations: { readOnlyHint: true, openWorldHint: false },
|
|
188
|
+
}, async ({ xml }) => {
|
|
189
|
+
try {
|
|
190
|
+
const invoice = parseInvoice(xml).invoiceMain.invoice;
|
|
191
|
+
if (!invoice) {
|
|
192
|
+
return failure(new Error('The document carries no single invoice to summarise'));
|
|
193
|
+
}
|
|
194
|
+
const summary = computeInvoiceSummary(invoice);
|
|
195
|
+
const mismatches = checkInvoiceSummary(invoice);
|
|
196
|
+
return result({
|
|
197
|
+
summary,
|
|
198
|
+
reconciles: mismatches.length === 0,
|
|
199
|
+
mismatches,
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
catch (error) {
|
|
203
|
+
return failure(error);
|
|
204
|
+
}
|
|
205
|
+
});
|
|
157
206
|
}
|
|
158
207
|
/** Tools that talk to NAV. Registered only when credentials are configured. */
|
|
159
208
|
function registerOnlineTools(server, options) {
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-nav/mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "MCP server exposing the Hungarian NAV Online Számla invoice service to AI agents",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"nav",
|
|
@@ -50,12 +50,12 @@
|
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
52
52
|
"zod": "^4.5.4",
|
|
53
|
-
"@open-nav/client": "^0.1.
|
|
54
|
-
"@open-nav/
|
|
55
|
-
"@open-nav/
|
|
53
|
+
"@open-nav/client": "^0.1.1",
|
|
54
|
+
"@open-nav/core": "^0.1.1",
|
|
55
|
+
"@open-nav/invoicing": "^0.1.1"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
|
-
"@open-nav/mock-server": "^0.1.
|
|
58
|
+
"@open-nav/mock-server": "^0.1.1"
|
|
59
59
|
},
|
|
60
60
|
"scripts": {
|
|
61
61
|
"build": "tsc -b"
|
package/src/server.ts
CHANGED
|
@@ -2,6 +2,10 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import {
|
|
4
4
|
NavApiError,
|
|
5
|
+
NAV_FAULT_MESSAGES,
|
|
6
|
+
NAV_INTERFACE_MESSAGES,
|
|
7
|
+
checkInvoiceSummary,
|
|
8
|
+
computeInvoiceSummary,
|
|
5
9
|
decodeInvoiceData,
|
|
6
10
|
faultMessage,
|
|
7
11
|
parseDocument,
|
|
@@ -89,6 +93,7 @@ function parseInvoice(xml: string): InvoiceData {
|
|
|
89
93
|
|
|
90
94
|
export function createNavMcpServer(options: NavMcpOptions = {}): McpServer {
|
|
91
95
|
const server = new McpServer({ name: 'open-nav', version: VERSION });
|
|
96
|
+
registerResources(server);
|
|
92
97
|
registerOfflineTools(server);
|
|
93
98
|
if (options.credentials && options.software) {
|
|
94
99
|
registerOnlineTools(server, {
|
|
@@ -100,6 +105,52 @@ export function createNavMcpServer(options: NavMcpOptions = {}): McpServer {
|
|
|
100
105
|
return server;
|
|
101
106
|
}
|
|
102
107
|
|
|
108
|
+
/**
|
|
109
|
+
* Reference data an agent can read directly, without spending a tool call.
|
|
110
|
+
*
|
|
111
|
+
* NAV's fault and interface-error catalogues are static and finite, so they
|
|
112
|
+
* are better read once as a resource than looked up code by code.
|
|
113
|
+
*/
|
|
114
|
+
function registerResources(server: McpServer): void {
|
|
115
|
+
const jsonResource = (
|
|
116
|
+
name: string,
|
|
117
|
+
uri: string,
|
|
118
|
+
title: string,
|
|
119
|
+
description: string,
|
|
120
|
+
value: unknown,
|
|
121
|
+
): void => {
|
|
122
|
+
server.registerResource(
|
|
123
|
+
name,
|
|
124
|
+
uri,
|
|
125
|
+
{ title, description, mimeType: 'application/json' },
|
|
126
|
+
async (url) => ({
|
|
127
|
+
contents: [
|
|
128
|
+
{ uri: url.href, mimeType: 'application/json', text: JSON.stringify(value, null, 2) },
|
|
129
|
+
],
|
|
130
|
+
}),
|
|
131
|
+
);
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
jsonResource(
|
|
135
|
+
'nav-fault-catalogue',
|
|
136
|
+
'nav://faults',
|
|
137
|
+
'NAV validation fault catalogue',
|
|
138
|
+
"Every validation fault code NAV can report against an invoice, with NAV's own " +
|
|
139
|
+
'English, Hungarian and German wording. Read this to interpret a rejection or to see ' +
|
|
140
|
+
'the full space of faults.',
|
|
141
|
+
NAV_FAULT_MESSAGES,
|
|
142
|
+
);
|
|
143
|
+
|
|
144
|
+
jsonResource(
|
|
145
|
+
'nav-interface-error-catalogue',
|
|
146
|
+
'nav://interface-errors',
|
|
147
|
+
'NAV interface error catalogue',
|
|
148
|
+
'Every interface-level error code NAV can return (malformed request, authentication, ' +
|
|
149
|
+
'rate limiting and the like), with its English, Hungarian and German wording.',
|
|
150
|
+
NAV_INTERFACE_MESSAGES,
|
|
151
|
+
);
|
|
152
|
+
}
|
|
153
|
+
|
|
103
154
|
/** Tools that contact nothing and need no credentials. */
|
|
104
155
|
function registerOfflineTools(server: McpServer): void {
|
|
105
156
|
server.registerTool(
|
|
@@ -224,6 +275,39 @@ function registerOfflineTools(server: McpServer): void {
|
|
|
224
275
|
}
|
|
225
276
|
},
|
|
226
277
|
);
|
|
278
|
+
|
|
279
|
+
server.registerTool(
|
|
280
|
+
'compute_summary',
|
|
281
|
+
{
|
|
282
|
+
title: 'Compute the invoice VAT summary',
|
|
283
|
+
description:
|
|
284
|
+
'Derive the VAT-rate summary and invoice totals from the lines of NAV invoice data, ' +
|
|
285
|
+
'the way NAV expects them, and report any place where a stated summary disagrees with ' +
|
|
286
|
+
'the lines. Use this while building an invoice to get the summary right before ' +
|
|
287
|
+
'submitting — a one-forint mismatch rejects the whole batch. Needs no credentials.',
|
|
288
|
+
inputSchema: {
|
|
289
|
+
xml: z.string().describe('The InvoiceData XML document'),
|
|
290
|
+
},
|
|
291
|
+
annotations: { readOnlyHint: true, openWorldHint: false },
|
|
292
|
+
},
|
|
293
|
+
async ({ xml }) => {
|
|
294
|
+
try {
|
|
295
|
+
const invoice = parseInvoice(xml).invoiceMain.invoice;
|
|
296
|
+
if (!invoice) {
|
|
297
|
+
return failure(new Error('The document carries no single invoice to summarise'));
|
|
298
|
+
}
|
|
299
|
+
const summary = computeInvoiceSummary(invoice);
|
|
300
|
+
const mismatches = checkInvoiceSummary(invoice);
|
|
301
|
+
return result({
|
|
302
|
+
summary,
|
|
303
|
+
reconciles: mismatches.length === 0,
|
|
304
|
+
mismatches,
|
|
305
|
+
});
|
|
306
|
+
} catch (error) {
|
|
307
|
+
return failure(error);
|
|
308
|
+
}
|
|
309
|
+
},
|
|
310
|
+
);
|
|
227
311
|
}
|
|
228
312
|
|
|
229
313
|
/** Tools that talk to NAV. Registered only when credentials are configured. */
|