@opencapstack/mcp-server 0.1.0 → 0.1.2
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/dist/tools/safes.d.ts.map +1 -1
- package/dist/tools/safes.js +10 -7
- package/dist/tools/safes.js.map +1 -1
- package/dist/tools/shareClasses.d.ts.map +1 -1
- package/dist/tools/shareClasses.js +9 -5
- package/dist/tools/shareClasses.js.map +1 -1
- package/package.json +1 -1
- package/src/tools/safes.ts +10 -7
- package/src/tools/shareClasses.ts +9 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safes.d.ts","sourceRoot":"","sources":["../../src/tools/safes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,SAAS,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"safes.d.ts","sourceRoot":"","sources":["../../src/tools/safes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,SAAS,EAAE,cAAc,EAuGrC,CAAC"}
|
package/dist/tools/safes.js
CHANGED
|
@@ -31,16 +31,18 @@ export const safeTools = [
|
|
|
31
31
|
name: 'create_safe',
|
|
32
32
|
description: 'Record a new SAFE instrument (e.g. post-money SAFE from a YC-style round).',
|
|
33
33
|
inputSchema: z.object({
|
|
34
|
-
investmentAmount: z
|
|
34
|
+
investmentAmount: z
|
|
35
|
+
.union([z.number(), z.string()])
|
|
36
|
+
.transform((v) => parseFloat(String(v)))
|
|
37
|
+
.describe('Investment amount in USD'),
|
|
35
38
|
valuationCap: z
|
|
36
|
-
.number()
|
|
37
|
-
.
|
|
39
|
+
.union([z.number(), z.string()])
|
|
40
|
+
.transform((v) => parseFloat(String(v)))
|
|
38
41
|
.optional()
|
|
39
42
|
.describe('Valuation cap in USD (for valuation cap SAFEs)'),
|
|
40
43
|
discountRate: z
|
|
41
|
-
.number()
|
|
42
|
-
.
|
|
43
|
-
.max(100)
|
|
44
|
+
.union([z.number(), z.string()])
|
|
45
|
+
.transform((v) => parseFloat(String(v)))
|
|
44
46
|
.optional()
|
|
45
47
|
.describe('Discount rate percentage (e.g. 20 for 20%)'),
|
|
46
48
|
safeType: z
|
|
@@ -50,7 +52,8 @@ export const safeTools = [
|
|
|
50
52
|
companyId: z.string().describe('Company ID'),
|
|
51
53
|
investmentDate: z.string().describe('Investment date in ISO 8601 format (YYYY-MM-DD)'),
|
|
52
54
|
proRataRights: z
|
|
53
|
-
.boolean()
|
|
55
|
+
.union([z.boolean(), z.string()])
|
|
56
|
+
.transform((v) => v === true || v === 'true')
|
|
54
57
|
.optional()
|
|
55
58
|
.default(false)
|
|
56
59
|
.describe('Whether the investor has pro-rata rights'),
|
package/dist/tools/safes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safes.js","sourceRoot":"","sources":["../../src/tools/safes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,SAAS,GAAqB;IACzC;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EACT,kFAAkF;QACpF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YACjE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YAC/E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;SAC3E,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YACtE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;YACjC,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAClE,CAAC;QACJ,CAAC;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,mDAAmD;QAChE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;SACnC,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,iBAAiB,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9E,CAAC;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,4EAA4E;QACzF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"safes.js","sourceRoot":"","sources":["../../src/tools/safes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shareClasses.d.ts","sourceRoot":"","sources":["../../src/tools/shareClasses.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,eAAe,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"shareClasses.d.ts","sourceRoot":"","sources":["../../src/tools/shareClasses.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,eAAe,EAAE,cAAc,EAiE3C,CAAC"}
|
|
@@ -35,14 +35,18 @@ export const shareClassTools = [
|
|
|
35
35
|
.enum(['common', 'preferred', 'warrant', 'option'])
|
|
36
36
|
.describe('Type of share class'),
|
|
37
37
|
authorizedShares: z
|
|
38
|
-
.number()
|
|
39
|
-
.
|
|
40
|
-
.positive()
|
|
38
|
+
.union([z.number(), z.string()])
|
|
39
|
+
.transform((v) => parseInt(String(v), 10))
|
|
41
40
|
.describe('Total number of authorized shares'),
|
|
42
|
-
parValue: z
|
|
41
|
+
parValue: z
|
|
42
|
+
.union([z.number(), z.string()])
|
|
43
|
+
.transform((v) => parseFloat(String(v)))
|
|
44
|
+
.optional()
|
|
45
|
+
.describe('Par value per share in USD'),
|
|
43
46
|
companyId: z.string().describe('Company ID this share class belongs to'),
|
|
44
47
|
liquidationPreference: z
|
|
45
|
-
.number()
|
|
48
|
+
.union([z.number(), z.string()])
|
|
49
|
+
.transform((v) => parseFloat(String(v)))
|
|
46
50
|
.optional()
|
|
47
51
|
.describe('Liquidation preference multiplier (e.g. 1 for 1x)'),
|
|
48
52
|
participationRights: z
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shareClasses.js","sourceRoot":"","sources":["../../src/tools/shareClasses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,eAAe,GAAqB;IAC/C;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,oFAAoF;QACtF,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YACjE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;SAC3E,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9E,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;YAC/C,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aACzE,CAAC;QACJ,CAAC;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,+CAA+C;QAC5D,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;SAC1C,CAAC;QACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,yBAAyB,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACvE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9E,CAAC;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,qDAAqD;QAClE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YACxE,SAAS,EAAE,CAAC;iBACT,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;iBAClD,QAAQ,CAAC,qBAAqB,CAAC;YAClC,gBAAgB,EAAE,CAAC;iBAChB,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"shareClasses.js","sourceRoot":"","sources":["../../src/tools/shareClasses.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/tools/safes.ts
CHANGED
|
@@ -34,16 +34,18 @@ export const safeTools: ToolDefinition[] = [
|
|
|
34
34
|
name: 'create_safe',
|
|
35
35
|
description: 'Record a new SAFE instrument (e.g. post-money SAFE from a YC-style round).',
|
|
36
36
|
inputSchema: z.object({
|
|
37
|
-
investmentAmount: z
|
|
37
|
+
investmentAmount: z
|
|
38
|
+
.union([z.number(), z.string()])
|
|
39
|
+
.transform((v) => parseFloat(String(v)))
|
|
40
|
+
.describe('Investment amount in USD'),
|
|
38
41
|
valuationCap: z
|
|
39
|
-
.number()
|
|
40
|
-
.
|
|
42
|
+
.union([z.number(), z.string()])
|
|
43
|
+
.transform((v) => parseFloat(String(v)))
|
|
41
44
|
.optional()
|
|
42
45
|
.describe('Valuation cap in USD (for valuation cap SAFEs)'),
|
|
43
46
|
discountRate: z
|
|
44
|
-
.number()
|
|
45
|
-
.
|
|
46
|
-
.max(100)
|
|
47
|
+
.union([z.number(), z.string()])
|
|
48
|
+
.transform((v) => parseFloat(String(v)))
|
|
47
49
|
.optional()
|
|
48
50
|
.describe('Discount rate percentage (e.g. 20 for 20%)'),
|
|
49
51
|
safeType: z
|
|
@@ -53,7 +55,8 @@ export const safeTools: ToolDefinition[] = [
|
|
|
53
55
|
companyId: z.string().describe('Company ID'),
|
|
54
56
|
investmentDate: z.string().describe('Investment date in ISO 8601 format (YYYY-MM-DD)'),
|
|
55
57
|
proRataRights: z
|
|
56
|
-
.boolean()
|
|
58
|
+
.union([z.boolean(), z.string()])
|
|
59
|
+
.transform((v) => v === true || v === 'true')
|
|
57
60
|
.optional()
|
|
58
61
|
.default(false)
|
|
59
62
|
.describe('Whether the investor has pro-rata rights'),
|
|
@@ -38,14 +38,18 @@ export const shareClassTools: ToolDefinition[] = [
|
|
|
38
38
|
.enum(['common', 'preferred', 'warrant', 'option'])
|
|
39
39
|
.describe('Type of share class'),
|
|
40
40
|
authorizedShares: z
|
|
41
|
-
.number()
|
|
42
|
-
.
|
|
43
|
-
.positive()
|
|
41
|
+
.union([z.number(), z.string()])
|
|
42
|
+
.transform((v) => parseInt(String(v), 10))
|
|
44
43
|
.describe('Total number of authorized shares'),
|
|
45
|
-
parValue: z
|
|
44
|
+
parValue: z
|
|
45
|
+
.union([z.number(), z.string()])
|
|
46
|
+
.transform((v) => parseFloat(String(v)))
|
|
47
|
+
.optional()
|
|
48
|
+
.describe('Par value per share in USD'),
|
|
46
49
|
companyId: z.string().describe('Company ID this share class belongs to'),
|
|
47
50
|
liquidationPreference: z
|
|
48
|
-
.number()
|
|
51
|
+
.union([z.number(), z.string()])
|
|
52
|
+
.transform((v) => parseFloat(String(v)))
|
|
49
53
|
.optional()
|
|
50
54
|
.describe('Liquidation preference multiplier (e.g. 1 for 1x)'),
|
|
51
55
|
participationRights: z
|