@frihet/mcp-server 1.3.2 → 1.5.0

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.
Files changed (55) hide show
  1. package/README.md +94 -18
  2. package/dist/client-interface.d.ts +57 -0
  3. package/dist/client-interface.d.ts.map +1 -1
  4. package/dist/client.d.ts +57 -0
  5. package/dist/client.d.ts.map +1 -1
  6. package/dist/client.js +115 -0
  7. package/dist/client.js.map +1 -1
  8. package/dist/index.js +10 -9
  9. package/dist/index.js.map +1 -1
  10. package/dist/prompts/register-all.d.ts.map +1 -1
  11. package/dist/prompts/register-all.js +305 -0
  12. package/dist/prompts/register-all.js.map +1 -1
  13. package/dist/resources/register-all.d.ts +6 -4
  14. package/dist/resources/register-all.d.ts.map +1 -1
  15. package/dist/resources/register-all.js +221 -10
  16. package/dist/resources/register-all.js.map +1 -1
  17. package/dist/tools/clients.d.ts.map +1 -1
  18. package/dist/tools/clients.js +21 -4
  19. package/dist/tools/clients.js.map +1 -1
  20. package/dist/tools/crm.d.ts +9 -0
  21. package/dist/tools/crm.d.ts.map +1 -0
  22. package/dist/tools/crm.js +181 -0
  23. package/dist/tools/crm.js.map +1 -0
  24. package/dist/tools/expenses.d.ts.map +1 -1
  25. package/dist/tools/expenses.js +25 -6
  26. package/dist/tools/expenses.js.map +1 -1
  27. package/dist/tools/intelligence.d.ts +15 -0
  28. package/dist/tools/intelligence.d.ts.map +1 -0
  29. package/dist/tools/intelligence.js +127 -0
  30. package/dist/tools/intelligence.js.map +1 -0
  31. package/dist/tools/invoices.d.ts.map +1 -1
  32. package/dist/tools/invoices.js +94 -10
  33. package/dist/tools/invoices.js.map +1 -1
  34. package/dist/tools/products.d.ts.map +1 -1
  35. package/dist/tools/products.js +18 -2
  36. package/dist/tools/products.js.map +1 -1
  37. package/dist/tools/quotes.d.ts.map +1 -1
  38. package/dist/tools/quotes.js +40 -4
  39. package/dist/tools/quotes.js.map +1 -1
  40. package/dist/tools/register-all.d.ts +1 -1
  41. package/dist/tools/register-all.d.ts.map +1 -1
  42. package/dist/tools/register-all.js +7 -1
  43. package/dist/tools/register-all.js.map +1 -1
  44. package/dist/tools/shared.d.ts +62 -0
  45. package/dist/tools/shared.d.ts.map +1 -1
  46. package/dist/tools/shared.js +140 -1
  47. package/dist/tools/shared.js.map +1 -1
  48. package/dist/tools/vendors.d.ts +7 -0
  49. package/dist/tools/vendors.d.ts.map +1 -0
  50. package/dist/tools/vendors.js +125 -0
  51. package/dist/tools/vendors.js.map +1 -0
  52. package/dist/types.d.ts +1 -0
  53. package/dist/types.d.ts.map +1 -1
  54. package/package.json +2 -2
  55. package/scripts/postinstall.js +1 -1
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Vendor tools for the Frihet MCP server.
3
+ */
4
+ import { z } from "zod/v4";
5
+ import { withToolLogging, formatPaginatedResponse, formatRecord, listContent, getContent, mutateContent, enrichResponse, READ_ONLY_ANNOTATIONS, CREATE_ANNOTATIONS, UPDATE_ANNOTATIONS, DELETE_ANNOTATIONS, paginatedOutput, deleteResultOutput, vendorItemOutput } from "./shared.js";
6
+ const addressSchema = z
7
+ .object({
8
+ street: z.string().optional().describe("Street address / Direccion"),
9
+ city: z.string().optional().describe("City / Ciudad"),
10
+ state: z.string().optional().describe("State or province / Provincia o comunidad autonoma"),
11
+ postalCode: z.string().optional().describe("Postal code / Codigo postal"),
12
+ country: z.string().optional().describe("Country (ISO code) / Pais"),
13
+ })
14
+ .optional()
15
+ .describe("Vendor address / Direccion del proveedor");
16
+ export function registerVendorTools(server, client) {
17
+ // -- list_vendors --
18
+ server.registerTool("list_vendors", {
19
+ title: "List Vendors",
20
+ description: "List all vendors/suppliers with optional pagination and search. " +
21
+ "Returns contact info, tax IDs, and addresses. " +
22
+ "/ Lista todos los proveedores con paginacion y busqueda opcional. " +
23
+ "Devuelve informacion de contacto, NIF/CIF y direcciones.",
24
+ annotations: READ_ONLY_ANNOTATIONS,
25
+ inputSchema: {
26
+ q: z.string().optional().describe("Search query (name, email, etc.) / Busqueda por texto"),
27
+ limit: z.number().int().min(1).max(100).optional().describe("Max results (1-100) / Resultados maximos"),
28
+ offset: z.number().int().min(0).optional().describe("Offset / Desplazamiento"),
29
+ after: z.string().optional().describe("Cursor for pagination / Cursor de paginacion"),
30
+ fields: z.string().optional().describe("Comma-separated fields to return / Campos a devolver separados por coma"),
31
+ },
32
+ outputSchema: paginatedOutput(vendorItemOutput),
33
+ }, async ({ q, limit, offset, after, fields }) => withToolLogging("list_vendors", async () => {
34
+ const result = await client.listVendors({ q, limit, offset, after, fields });
35
+ return {
36
+ content: [listContent(formatPaginatedResponse("vendors", result))],
37
+ structuredContent: result,
38
+ };
39
+ }));
40
+ // -- get_vendor --
41
+ server.registerTool("get_vendor", {
42
+ title: "Get Vendor",
43
+ description: "Get a single vendor/supplier by their ID. Returns full contact details. " +
44
+ "/ Obtiene un proveedor por su ID. Devuelve todos los datos de contacto.",
45
+ annotations: READ_ONLY_ANNOTATIONS,
46
+ inputSchema: {
47
+ id: z.string().describe("Vendor ID / ID del proveedor"),
48
+ },
49
+ outputSchema: vendorItemOutput,
50
+ }, async ({ id }) => withToolLogging("get_vendor", async () => {
51
+ const result = await client.getVendor(id);
52
+ return {
53
+ content: [getContent(formatRecord("Vendor", result))],
54
+ structuredContent: result,
55
+ };
56
+ }));
57
+ // -- create_vendor --
58
+ server.registerTool("create_vendor", {
59
+ title: "Create Vendor",
60
+ description: "Create a new vendor/supplier. Requires at minimum a name. " +
61
+ "Vendors are used when tracking expenses and purchase orders. " +
62
+ "Example: name='Office Supplies Ltd', email='billing@office.com', taxId='B87654321', address={street:'Gran Via 1', city:'Madrid', country:'ES'} " +
63
+ "/ Crea un nuevo proveedor. Requiere como minimo un nombre. " +
64
+ "Los proveedores se usan al registrar gastos y pedidos de compra.",
65
+ annotations: CREATE_ANNOTATIONS,
66
+ inputSchema: {
67
+ name: z.string().describe("Vendor/company name / Nombre del proveedor o empresa"),
68
+ email: z.string().optional().describe("Email address / Correo electronico"),
69
+ phone: z.string().optional().describe("Phone number / Telefono"),
70
+ taxId: z.string().optional().describe("Tax ID (NIF/CIF/VAT) / NIF o CIF"),
71
+ address: addressSchema,
72
+ },
73
+ outputSchema: vendorItemOutput,
74
+ }, async (input) => withToolLogging("create_vendor", async () => {
75
+ const result = await client.createVendor(input);
76
+ const hints = enrichResponse("vendors", "create", result);
77
+ return {
78
+ content: [mutateContent(formatRecord("Vendor created", result))],
79
+ structuredContent: { ...result, ...hints },
80
+ };
81
+ }));
82
+ // -- update_vendor --
83
+ server.registerTool("update_vendor", {
84
+ title: "Update Vendor",
85
+ description: "Update an existing vendor using PATCH semantics. Only the provided fields will be changed. " +
86
+ "Example: id='abc123', email='new@supplier.com', phone='+34600123456' " +
87
+ "/ Actualiza un proveedor existente. Solo se modifican los campos proporcionados.",
88
+ annotations: UPDATE_ANNOTATIONS,
89
+ inputSchema: {
90
+ id: z.string().describe("Vendor ID / ID del proveedor"),
91
+ name: z.string().optional().describe("Name / Nombre"),
92
+ email: z.string().optional().describe("Email / Correo"),
93
+ phone: z.string().optional().describe("Phone / Telefono"),
94
+ taxId: z.string().optional().describe("Tax ID / NIF/CIF"),
95
+ address: addressSchema,
96
+ },
97
+ outputSchema: vendorItemOutput,
98
+ }, async ({ id, ...data }) => withToolLogging("update_vendor", async () => {
99
+ const result = await client.updateVendor(id, data);
100
+ return {
101
+ content: [mutateContent(formatRecord("Vendor updated", result))],
102
+ structuredContent: result,
103
+ };
104
+ }));
105
+ // -- delete_vendor --
106
+ server.registerTool("delete_vendor", {
107
+ title: "Delete Vendor",
108
+ description: "Permanently delete a vendor by their ID. This action cannot be undone. " +
109
+ "Warning: this may affect existing expenses referencing this vendor. " +
110
+ "/ Elimina permanentemente un proveedor por su ID. Esta accion no se puede deshacer. " +
111
+ "Advertencia: puede afectar a gastos existentes que referencien este proveedor.",
112
+ annotations: DELETE_ANNOTATIONS,
113
+ inputSchema: {
114
+ id: z.string().describe("Vendor ID / ID del proveedor"),
115
+ },
116
+ outputSchema: deleteResultOutput,
117
+ }, async ({ id }) => withToolLogging("delete_vendor", async () => {
118
+ await client.deleteVendor(id);
119
+ return {
120
+ content: [mutateContent(`Vendor ${id} deleted successfully. / Proveedor ${id} eliminado correctamente.`)],
121
+ structuredContent: { success: true, id },
122
+ };
123
+ }));
124
+ }
125
+ //# sourceMappingURL=vendors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vendors.js","sourceRoot":"","sources":["../../src/tools/vendors.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -6,6 +6,7 @@ export interface PaginatedResponse<T> {
6
6
  total: number;
7
7
  limit: number;
8
8
  offset: number;
9
+ nextCursor?: string;
9
10
  }
10
11
  export interface ApiError {
11
12
  error: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@frihet/mcp-server",
3
- "version": "1.3.2",
4
- "description": "AI-native MCP server for business management — invoices, expenses, clients, products, quotes, webhooks. 31 tools. Works with Claude, Cursor, Windsurf, Cline.",
3
+ "version": "1.5.0",
4
+ "description": "AI-native MCP server for business management — invoices, expenses, clients, products, quotes, webhooks, CRM. 52 tools with business intelligence. Works with Claude, Cursor, Windsurf, Cline.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "bin": {
@@ -4,7 +4,7 @@ if (process.env.CI || process.env.FRIHET_QUIET) process.exit(0);
4
4
 
5
5
  console.log(`
6
6
  ╔══════════════════════════════════════════════════════╗
7
- ║ @frihet/mcp-server v1.3.1 installed ║
7
+ ║ @frihet/mcp-server v1.4.0 installed ║
8
8
  ║ ║
9
9
  ║ Docs: https://docs.frihet.io/mcp ║
10
10
  ║ GitHub: https://github.com/Frihet-io/frihet-mcp ║