@lovie-ai/formation-mcp-server 1.0.3 → 1.0.5
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/mcp/index.d.ts +1 -0
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +7 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/resources/index.d.ts +6 -0
- package/dist/mcp/resources/index.d.ts.map +1 -0
- package/dist/mcp/resources/index.js +388 -0
- package/dist/mcp/resources/index.js.map +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +24 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/index.d.ts.map +1 -1
- package/dist/mcp/tools/index.js +2 -0
- package/dist/mcp/tools/index.js.map +1 -1
- package/dist/mcp/tools/info.d.ts +5 -0
- package/dist/mcp/tools/info.d.ts.map +1 -0
- package/dist/mcp/tools/info.js +81 -0
- package/dist/mcp/tools/info.js.map +1 -0
- package/package.json +1 -1
package/dist/mcp/index.d.ts
CHANGED
|
@@ -4,4 +4,5 @@ export { getSessionStore, FormationSessionStore } from './state/FormationSession
|
|
|
4
4
|
export { registerTool, getAllTools, handleToolCall, initializeTools } from './tools/index';
|
|
5
5
|
export * from './state/types';
|
|
6
6
|
export * from './errors';
|
|
7
|
+
export { getAllResources, getResourceContent, FORMATION_RESOURCES, RESOURCE_CONTENT } from './resources/index';
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/mcp/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGvF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAG3F,cAAc,eAAe,CAAC;AAG9B,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGvF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAG3F,cAAc,eAAe,CAAC;AAG9B,cAAc,UAAU,CAAC;AAGzB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/mcp/index.js
CHANGED
|
@@ -15,7 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
16
16
|
};
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.initializeTools = exports.handleToolCall = exports.getAllTools = exports.registerTool = exports.FormationSessionStore = exports.getSessionStore = exports.startStdioServer = exports.createMCPServer = void 0;
|
|
18
|
+
exports.RESOURCE_CONTENT = exports.FORMATION_RESOURCES = exports.getResourceContent = exports.getAllResources = exports.initializeTools = exports.handleToolCall = exports.getAllTools = exports.registerTool = exports.FormationSessionStore = exports.getSessionStore = exports.startStdioServer = exports.createMCPServer = void 0;
|
|
19
19
|
const server_1 = require("./server");
|
|
20
20
|
// Export server functions
|
|
21
21
|
var server_2 = require("./server");
|
|
@@ -35,6 +35,12 @@ Object.defineProperty(exports, "initializeTools", { enumerable: true, get: funct
|
|
|
35
35
|
__exportStar(require("./state/types"), exports);
|
|
36
36
|
// Export errors
|
|
37
37
|
__exportStar(require("./errors"), exports);
|
|
38
|
+
// Export resources
|
|
39
|
+
var index_2 = require("./resources/index");
|
|
40
|
+
Object.defineProperty(exports, "getAllResources", { enumerable: true, get: function () { return index_2.getAllResources; } });
|
|
41
|
+
Object.defineProperty(exports, "getResourceContent", { enumerable: true, get: function () { return index_2.getResourceContent; } });
|
|
42
|
+
Object.defineProperty(exports, "FORMATION_RESOURCES", { enumerable: true, get: function () { return index_2.FORMATION_RESOURCES; } });
|
|
43
|
+
Object.defineProperty(exports, "RESOURCE_CONTENT", { enumerable: true, get: function () { return index_2.RESOURCE_CONTENT; } });
|
|
38
44
|
// Main entry point when run directly
|
|
39
45
|
if (require.main === module) {
|
|
40
46
|
(0, server_1.startStdioServer)().catch((error) => {
|
package/dist/mcp/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA,qCAA4C;AAE5C,0BAA0B;AAC1B,mCAA6D;AAApD,yGAAA,eAAe,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAE1C,uBAAuB;AACvB,uEAAuF;AAA9E,wHAAA,eAAe,OAAA;AAAE,8HAAA,qBAAqB,OAAA;AAE/C,wBAAwB;AACxB,uCAA2F;AAAlF,qGAAA,YAAY,OAAA;AAAE,oGAAA,WAAW,OAAA;AAAE,uGAAA,cAAc,OAAA;AAAE,wGAAA,eAAe,OAAA;AAEnE,eAAe;AACf,gDAA8B;AAE9B,gBAAgB;AAChB,2CAAyB;AAEzB,qCAAqC;AACrC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAA,yBAAgB,GAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACjC,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA,qCAA4C;AAE5C,0BAA0B;AAC1B,mCAA6D;AAApD,yGAAA,eAAe,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAE1C,uBAAuB;AACvB,uEAAuF;AAA9E,wHAAA,eAAe,OAAA;AAAE,8HAAA,qBAAqB,OAAA;AAE/C,wBAAwB;AACxB,uCAA2F;AAAlF,qGAAA,YAAY,OAAA;AAAE,oGAAA,WAAW,OAAA;AAAE,uGAAA,cAAc,OAAA;AAAE,wGAAA,eAAe,OAAA;AAEnE,eAAe;AACf,gDAA8B;AAE9B,gBAAgB;AAChB,2CAAyB;AAEzB,mBAAmB;AACnB,2CAA+G;AAAtG,wGAAA,eAAe,OAAA;AAAE,2GAAA,kBAAkB,OAAA;AAAE,4GAAA,mBAAmB,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AAEnF,qCAAqC;AACrC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAA,yBAAgB,GAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACjC,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Resource } from '@modelcontextprotocol/sdk/types.js';
|
|
2
|
+
export declare const FORMATION_RESOURCES: Resource[];
|
|
3
|
+
export declare const RESOURCE_CONTENT: Record<string, string>;
|
|
4
|
+
export declare function getResourceContent(uri: string): string | null;
|
|
5
|
+
export declare function getAllResources(): Resource[];
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/resources/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAG9D,eAAO,MAAM,mBAAmB,EAAE,QAAQ,EA+BzC,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAuVnD,CAAC;AAGF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE7D;AAGD,wBAAgB,eAAe,IAAI,QAAQ,EAAE,CAE5C"}
|
|
@@ -0,0 +1,388 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RESOURCE_CONTENT = exports.FORMATION_RESOURCES = void 0;
|
|
4
|
+
exports.getResourceContent = getResourceContent;
|
|
5
|
+
exports.getAllResources = getAllResources;
|
|
6
|
+
// Resource definitions
|
|
7
|
+
exports.FORMATION_RESOURCES = [
|
|
8
|
+
{
|
|
9
|
+
uri: 'formation://guide',
|
|
10
|
+
name: 'Formation Guide',
|
|
11
|
+
description: 'Step-by-step guide for Delaware company formation process',
|
|
12
|
+
mimeType: 'text/markdown',
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
uri: 'formation://pricing',
|
|
16
|
+
name: 'Pricing Information',
|
|
17
|
+
description: 'Delaware filing fees and service costs',
|
|
18
|
+
mimeType: 'text/markdown',
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
uri: 'formation://company-types',
|
|
22
|
+
name: 'Company Types',
|
|
23
|
+
description: 'Detailed comparison of LLC, C-Corp, and S-Corp',
|
|
24
|
+
mimeType: 'text/markdown',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
uri: 'formation://faq',
|
|
28
|
+
name: 'FAQ',
|
|
29
|
+
description: 'Frequently asked questions about company formation',
|
|
30
|
+
mimeType: 'text/markdown',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
uri: 'formation://requirements',
|
|
34
|
+
name: 'Requirements',
|
|
35
|
+
description: 'Required information for Delaware company formation',
|
|
36
|
+
mimeType: 'text/markdown',
|
|
37
|
+
},
|
|
38
|
+
];
|
|
39
|
+
// Resource content - EDIT THIS CONTENT TO CUSTOMIZE YOUR MCP
|
|
40
|
+
exports.RESOURCE_CONTENT = {
|
|
41
|
+
'formation://guide': `# Lovie - Delaware Company Formation Guide
|
|
42
|
+
|
|
43
|
+
## Overview
|
|
44
|
+
Lovie helps you form a Delaware company step-by-step, completely free. The process takes about 3-5 minutes to complete.
|
|
45
|
+
|
|
46
|
+
**What you get with Lovie:**
|
|
47
|
+
- Free company formation (no service fees)
|
|
48
|
+
- Lovie as your incorporator
|
|
49
|
+
- All legally compliant documents
|
|
50
|
+
- In-house legal team working every day to keep you compliant
|
|
51
|
+
- Step-by-step compliance guide
|
|
52
|
+
- Help with business address and banking
|
|
53
|
+
|
|
54
|
+
## Steps
|
|
55
|
+
|
|
56
|
+
### 1. Start a Session
|
|
57
|
+
Call \`formation_start\` to begin. You'll receive a session ID to use for all subsequent calls.
|
|
58
|
+
|
|
59
|
+
### 2. Select State
|
|
60
|
+
Call \`formation_set_state\` with state "DE" (Delaware is currently the only supported state).
|
|
61
|
+
|
|
62
|
+
### 3. Choose Company Type
|
|
63
|
+
Call \`formation_set_company_type\` with one of:
|
|
64
|
+
- **LLC** - Limited Liability Company (simplest, most flexible)
|
|
65
|
+
- **C-Corp** - C Corporation (best for raising investment)
|
|
66
|
+
- **S-Corp** - S Corporation (tax advantages for small businesses)
|
|
67
|
+
|
|
68
|
+
### 4. Select Entity Ending
|
|
69
|
+
Call \`formation_set_entity_ending\` to choose your company's legal suffix:
|
|
70
|
+
- LLC: "LLC", "L.L.C.", "Limited Liability Company"
|
|
71
|
+
- Corp: "Inc.", "Incorporated", "Corp.", "Corporation"
|
|
72
|
+
|
|
73
|
+
### 5. Set Company Name
|
|
74
|
+
Call \`formation_set_company_name\` with your desired company name (without the ending).
|
|
75
|
+
|
|
76
|
+
### 6. Check Name Availability (Optional)
|
|
77
|
+
Call \`formation_check_name\` to verify the name is available with Delaware Secretary of State.
|
|
78
|
+
|
|
79
|
+
### 7. Set Registered Agent
|
|
80
|
+
Call \`formation_set_registered_agent\` with agent details. A registered agent is required in Delaware.
|
|
81
|
+
|
|
82
|
+
### 8. Set Share Structure (Corps only)
|
|
83
|
+
For C-Corp or S-Corp, call \`formation_set_share_structure\` to define authorized shares and par value.
|
|
84
|
+
|
|
85
|
+
### 9. Add Shareholders/Members
|
|
86
|
+
Call \`formation_add_shareholder\` for each owner. Total ownership must not exceed 100%.
|
|
87
|
+
|
|
88
|
+
### 10. Set Authorized Party
|
|
89
|
+
Call \`formation_set_authorized_party\` - this person signs the formation documents.
|
|
90
|
+
|
|
91
|
+
### 11. Generate Certificate
|
|
92
|
+
Call \`formation_generate_certificate\` to create the Certificate of Incorporation PDF.
|
|
93
|
+
|
|
94
|
+
### 12. Review and Approve
|
|
95
|
+
Review the PDF at the provided URL, then call \`formation_approve_certificate\` to complete.
|
|
96
|
+
|
|
97
|
+
## Tips
|
|
98
|
+
- Use \`formation_get_status\` anytime to see current progress
|
|
99
|
+
- Use \`formation_resume\` to get guidance on the next step
|
|
100
|
+
- Sessions expire after 24 hours
|
|
101
|
+
`,
|
|
102
|
+
'formation://pricing': `# Lovie Formation Pricing
|
|
103
|
+
|
|
104
|
+
## Lovie Service Fee
|
|
105
|
+
**FREE** - We don't charge you for company formation. Lovie handles everything at no cost to you.
|
|
106
|
+
|
|
107
|
+
## What's Included (Free)
|
|
108
|
+
- Company formation filing
|
|
109
|
+
- Lovie as your incorporator
|
|
110
|
+
- All legally compliant documents
|
|
111
|
+
- Certificate of Formation/Incorporation
|
|
112
|
+
- Operating Agreement (LLC) or Bylaws (Corp)
|
|
113
|
+
- Step-by-step compliance guide
|
|
114
|
+
- Ongoing compliance reminders
|
|
115
|
+
- **In-house legal team** working every day to keep you compliant with local and federal law
|
|
116
|
+
|
|
117
|
+
## State Filing Fees (Paid to Delaware)
|
|
118
|
+
These are government fees that go directly to Delaware:
|
|
119
|
+
|
|
120
|
+
### LLC
|
|
121
|
+
- **Standard Filing**: $90
|
|
122
|
+
- **Same-Day Filing**: +$100
|
|
123
|
+
- **24-Hour Filing**: +$50
|
|
124
|
+
|
|
125
|
+
### Corporation (C-Corp / S-Corp)
|
|
126
|
+
- **Standard Filing**: $89 (minimum)
|
|
127
|
+
- **Same-Day Filing**: +$100
|
|
128
|
+
- **24-Hour Filing**: +$50
|
|
129
|
+
|
|
130
|
+
## Annual Fees (Delaware Requirements)
|
|
131
|
+
|
|
132
|
+
### LLC
|
|
133
|
+
- **Annual Tax**: $300 (due June 1st each year)
|
|
134
|
+
|
|
135
|
+
### Corporation
|
|
136
|
+
- **Franchise Tax**: Minimum $175/year
|
|
137
|
+
- **Annual Report Fee**: $50/year
|
|
138
|
+
|
|
139
|
+
## Additional Lovie Services
|
|
140
|
+
|
|
141
|
+
### Business Address
|
|
142
|
+
- **Virtual Address**: Available through Lovie
|
|
143
|
+
- **Physical Address**: Available through Lovie
|
|
144
|
+
|
|
145
|
+
### Banking
|
|
146
|
+
- **Business Bank Account**: Lovie helps you open and manage your company bank account
|
|
147
|
+
|
|
148
|
+
### Lovie Financial Platform
|
|
149
|
+
- AI-first generative UI for all your financial needs
|
|
150
|
+
- Token-based pricing (a little more than free)
|
|
151
|
+
- Expense tracking, invoicing, payments, and more
|
|
152
|
+
`,
|
|
153
|
+
'formation://company-types': `# Company Types Comparison
|
|
154
|
+
|
|
155
|
+
## LLC (Limited Liability Company)
|
|
156
|
+
|
|
157
|
+
### Best For
|
|
158
|
+
- Small businesses and startups
|
|
159
|
+
- Solo entrepreneurs
|
|
160
|
+
- Real estate holdings
|
|
161
|
+
- Consulting businesses
|
|
162
|
+
|
|
163
|
+
### Advantages
|
|
164
|
+
- Simple formation and maintenance
|
|
165
|
+
- Flexible management structure
|
|
166
|
+
- Pass-through taxation (no double taxation)
|
|
167
|
+
- Limited liability protection
|
|
168
|
+
- No ownership restrictions
|
|
169
|
+
|
|
170
|
+
### Disadvantages
|
|
171
|
+
- Cannot issue stock
|
|
172
|
+
- Less attractive to venture capital investors
|
|
173
|
+
- Self-employment taxes on profits
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## C-Corporation
|
|
178
|
+
|
|
179
|
+
### Best For
|
|
180
|
+
- Startups seeking venture capital
|
|
181
|
+
- Companies planning to go public
|
|
182
|
+
- Businesses with many shareholders
|
|
183
|
+
- International expansion
|
|
184
|
+
|
|
185
|
+
### Advantages
|
|
186
|
+
- Can issue multiple classes of stock
|
|
187
|
+
- Attractive to investors
|
|
188
|
+
- Unlimited growth potential
|
|
189
|
+
- Employee stock options
|
|
190
|
+
- Perpetual existence
|
|
191
|
+
|
|
192
|
+
### Disadvantages
|
|
193
|
+
- Double taxation (corporate + dividend)
|
|
194
|
+
- More complex compliance requirements
|
|
195
|
+
- Board of directors required
|
|
196
|
+
- Formal meeting requirements
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## S-Corporation
|
|
201
|
+
|
|
202
|
+
### Best For
|
|
203
|
+
- Small businesses wanting corporate structure
|
|
204
|
+
- Companies with fewer than 100 shareholders
|
|
205
|
+
- Businesses seeking tax advantages
|
|
206
|
+
|
|
207
|
+
### Advantages
|
|
208
|
+
- Pass-through taxation
|
|
209
|
+
- Limited liability protection
|
|
210
|
+
- Can pay reasonable salary (saves self-employment tax)
|
|
211
|
+
- Corporate structure and credibility
|
|
212
|
+
|
|
213
|
+
### Disadvantages
|
|
214
|
+
- Limited to 100 shareholders
|
|
215
|
+
- Only US citizens/residents can be shareholders
|
|
216
|
+
- One class of stock only
|
|
217
|
+
- Strict eligibility requirements
|
|
218
|
+
- Must elect S-Corp status with IRS
|
|
219
|
+
`,
|
|
220
|
+
'formation://faq': `# Frequently Asked Questions
|
|
221
|
+
|
|
222
|
+
## About Lovie
|
|
223
|
+
|
|
224
|
+
### What is Lovie?
|
|
225
|
+
Lovie is an AI-first financial platform that helps you start and run your business. We provide free company formation, compliance tools, banking assistance, and a complete financial management platform.
|
|
226
|
+
|
|
227
|
+
### How much does Lovie charge for formation?
|
|
228
|
+
**Nothing!** Lovie's formation service is completely free. You only pay the state filing fees that go directly to Delaware.
|
|
229
|
+
|
|
230
|
+
### What makes Lovie different?
|
|
231
|
+
- **Free formation**: No service fees
|
|
232
|
+
- **Lovie as incorporator**: We handle all the paperwork
|
|
233
|
+
- **In-house legal team**: Our legal experts work every day to keep you compliant
|
|
234
|
+
- **Compliance included**: Legal documents and ongoing compliance guides
|
|
235
|
+
- **AI-first platform**: Generative UI for all your financial needs
|
|
236
|
+
- **Token-based pricing**: Our financial platform is almost free
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## General Questions
|
|
241
|
+
|
|
242
|
+
### Why Delaware?
|
|
243
|
+
Delaware is the most popular state for incorporation because:
|
|
244
|
+
- Business-friendly laws and Court of Chancery
|
|
245
|
+
- Privacy protection (no public disclosure of officers/directors)
|
|
246
|
+
- No state income tax for companies operating outside Delaware
|
|
247
|
+
- Well-established corporate law precedents
|
|
248
|
+
- Fast filing times
|
|
249
|
+
|
|
250
|
+
### How long does formation take?
|
|
251
|
+
- **Standard**: 3-5 business days
|
|
252
|
+
- **24-Hour**: Next business day
|
|
253
|
+
- **Same-Day**: Same business day
|
|
254
|
+
|
|
255
|
+
### Do I need to live in Delaware?
|
|
256
|
+
No. You can form a Delaware company from anywhere in the world. Lovie provides registered agent services in Delaware.
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
## Lovie Services
|
|
261
|
+
|
|
262
|
+
### Can Lovie help with a business address?
|
|
263
|
+
Yes! Lovie offers both virtual and physical business addresses.
|
|
264
|
+
|
|
265
|
+
### Can Lovie help open a bank account?
|
|
266
|
+
Yes! Lovie helps you open and manage your company bank account, integrated with our financial platform.
|
|
267
|
+
|
|
268
|
+
### What is Lovie's financial platform?
|
|
269
|
+
An AI-first generative UI platform for:
|
|
270
|
+
- Expense tracking
|
|
271
|
+
- Invoicing
|
|
272
|
+
- Payments
|
|
273
|
+
- Financial reporting
|
|
274
|
+
- Compliance management
|
|
275
|
+
- And more...
|
|
276
|
+
|
|
277
|
+
All with token-based pricing (a little more than free).
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
## LLC Questions
|
|
282
|
+
|
|
283
|
+
### What is an Operating Agreement?
|
|
284
|
+
A document that outlines ownership, management structure, and operating procedures. Lovie provides this document for free.
|
|
285
|
+
|
|
286
|
+
### Can a single person form an LLC?
|
|
287
|
+
Yes. Delaware allows single-member LLCs.
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## Corporation Questions
|
|
292
|
+
|
|
293
|
+
### What's the difference between authorized and issued shares?
|
|
294
|
+
- **Authorized shares**: Maximum shares the company CAN issue
|
|
295
|
+
- **Issued shares**: Shares actually given to shareholders
|
|
296
|
+
|
|
297
|
+
### What is par value?
|
|
298
|
+
The minimum price at which shares can be issued. Most startups use $0.0001 per share.
|
|
299
|
+
|
|
300
|
+
### How many shares should I authorize?
|
|
301
|
+
Common practice: 10,000,000 shares at $0.0001 par value.
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
## After Formation
|
|
306
|
+
|
|
307
|
+
### What do I need to do after forming my company?
|
|
308
|
+
Lovie guides you through everything:
|
|
309
|
+
1. Obtain an EIN from the IRS
|
|
310
|
+
2. Open a business bank account (Lovie helps!)
|
|
311
|
+
3. Set up your Operating Agreement or Bylaws (provided by Lovie)
|
|
312
|
+
4. Issue stock certificates (Corp)
|
|
313
|
+
5. File beneficial ownership report with FinCEN
|
|
314
|
+
6. Stay compliant with Lovie's compliance reminders
|
|
315
|
+
`,
|
|
316
|
+
'formation://requirements': `# Lovie Formation Requirements
|
|
317
|
+
|
|
318
|
+
## What You Need to Provide
|
|
319
|
+
|
|
320
|
+
### Company Details
|
|
321
|
+
- **Company Name**: Must be unique in Delaware
|
|
322
|
+
- **Company Type**: LLC, C-Corp, or S-Corp
|
|
323
|
+
- **Entity Ending**: Legal suffix (LLC, Inc., Corp., etc.)
|
|
324
|
+
|
|
325
|
+
### Registered Agent
|
|
326
|
+
Lovie can serve as your registered agent, or you can specify:
|
|
327
|
+
- **Name**: Individual or company name
|
|
328
|
+
- **Physical Address**: Must be in Delaware
|
|
329
|
+
- **Email**: For correspondence
|
|
330
|
+
- **Phone**: Contact number
|
|
331
|
+
|
|
332
|
+
### Share Structure (Corporations Only)
|
|
333
|
+
- **Authorized Shares**: Number of shares the company can issue
|
|
334
|
+
- **Par Value**: Minimum price per share (e.g., $0.0001)
|
|
335
|
+
|
|
336
|
+
### Shareholders/Members
|
|
337
|
+
For each owner:
|
|
338
|
+
- **Full Name**: Legal name
|
|
339
|
+
- **Email Address**: Valid email
|
|
340
|
+
- **Ownership Percentage**: Share of the company
|
|
341
|
+
- **Address**: Mailing address (optional but recommended)
|
|
342
|
+
|
|
343
|
+
### Authorized Party
|
|
344
|
+
Lovie will be your incorporator. We handle the signing and filing.
|
|
345
|
+
|
|
346
|
+
---
|
|
347
|
+
|
|
348
|
+
## Name Requirements
|
|
349
|
+
|
|
350
|
+
### Delaware Name Rules
|
|
351
|
+
- Must be distinguishable from existing Delaware entities
|
|
352
|
+
- Must include proper entity ending
|
|
353
|
+
- Cannot imply government affiliation
|
|
354
|
+
- Cannot include restricted words without approval
|
|
355
|
+
|
|
356
|
+
### Restricted Words (Require Approval)
|
|
357
|
+
- Bank, Banking, Banker
|
|
358
|
+
- Insurance, Assurance
|
|
359
|
+
- Trust, Trustee
|
|
360
|
+
- University, College
|
|
361
|
+
|
|
362
|
+
---
|
|
363
|
+
|
|
364
|
+
## What Lovie Provides (Free)
|
|
365
|
+
|
|
366
|
+
### Documents Included
|
|
367
|
+
1. **Certificate of Formation/Incorporation**: Official document from Delaware
|
|
368
|
+
2. **Operating Agreement** (LLC) or **Bylaws** (Corp)
|
|
369
|
+
3. **Stock Certificates** (Corp)
|
|
370
|
+
4. **Compliance Calendar**: Reminders for annual filings and taxes
|
|
371
|
+
|
|
372
|
+
### After Formation Support
|
|
373
|
+
- EIN application guidance
|
|
374
|
+
- Bank account setup assistance
|
|
375
|
+
- Ongoing compliance reminders
|
|
376
|
+
- In-house legal team keeping you compliant with local and federal law
|
|
377
|
+
- Access to Lovie's AI-first financial platform
|
|
378
|
+
`,
|
|
379
|
+
};
|
|
380
|
+
// Get resource content by URI
|
|
381
|
+
function getResourceContent(uri) {
|
|
382
|
+
return exports.RESOURCE_CONTENT[uri] || null;
|
|
383
|
+
}
|
|
384
|
+
// List all available resources
|
|
385
|
+
function getAllResources() {
|
|
386
|
+
return exports.FORMATION_RESOURCES;
|
|
387
|
+
}
|
|
388
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/resources/index.ts"],"names":[],"mappings":";;;AA+XA,gDAEC;AAGD,0CAEC;AApYD,uBAAuB;AACV,QAAA,mBAAmB,GAAe;IAC7C;QACE,GAAG,EAAE,mBAAmB;QACxB,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,2DAA2D;QACxE,QAAQ,EAAE,eAAe;KAC1B;IACD;QACE,GAAG,EAAE,qBAAqB;QAC1B,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,wCAAwC;QACrD,QAAQ,EAAE,eAAe;KAC1B;IACD;QACE,GAAG,EAAE,2BAA2B;QAChC,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,gDAAgD;QAC7D,QAAQ,EAAE,eAAe;KAC1B;IACD;QACE,GAAG,EAAE,iBAAiB;QACtB,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,oDAAoD;QACjE,QAAQ,EAAE,eAAe;KAC1B;IACD;QACE,GAAG,EAAE,0BAA0B;QAC/B,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,qDAAqD;QAClE,QAAQ,EAAE,eAAe;KAC1B;CACF,CAAC;AAEF,6DAA6D;AAChD,QAAA,gBAAgB,GAA2B;IACtD,mBAAmB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4DtB;IAEC,qBAAqB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDxB;IAEC,2BAA2B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkE9B;IAEC,iBAAiB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+FpB;IAEC,0BAA0B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8D7B;CACA,CAAC;AAEF,8BAA8B;AAC9B,SAAgB,kBAAkB,CAAC,GAAW;IAC5C,OAAO,wBAAgB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;AACvC,CAAC;AAED,+BAA+B;AAC/B,SAAgB,eAAe;IAC7B,OAAO,2BAAmB,CAAC;AAC7B,CAAC"}
|
package/dist/mcp/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAOnE,wBAAgB,eAAe,IAAI,MAAM,CAkFxC;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAgBtD"}
|
package/dist/mcp/server.js
CHANGED
|
@@ -7,6 +7,7 @@ const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
|
7
7
|
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
8
8
|
const index_1 = require("./tools/index");
|
|
9
9
|
const FormationSessionStore_1 = require("./state/FormationSessionStore");
|
|
10
|
+
const index_2 = require("./resources/index");
|
|
10
11
|
function createMCPServer() {
|
|
11
12
|
const server = new index_js_1.Server({
|
|
12
13
|
name: 'lovie-formation',
|
|
@@ -14,6 +15,7 @@ function createMCPServer() {
|
|
|
14
15
|
}, {
|
|
15
16
|
capabilities: {
|
|
16
17
|
tools: {},
|
|
18
|
+
resources: {},
|
|
17
19
|
},
|
|
18
20
|
});
|
|
19
21
|
// Initialize session store
|
|
@@ -23,6 +25,28 @@ function createMCPServer() {
|
|
|
23
25
|
const tools = (0, index_1.getAllTools)();
|
|
24
26
|
return { tools };
|
|
25
27
|
});
|
|
28
|
+
// List available resources
|
|
29
|
+
server.setRequestHandler(types_js_1.ListResourcesRequestSchema, async () => {
|
|
30
|
+
const resources = (0, index_2.getAllResources)();
|
|
31
|
+
return { resources };
|
|
32
|
+
});
|
|
33
|
+
// Read resource content
|
|
34
|
+
server.setRequestHandler(types_js_1.ReadResourceRequestSchema, async (request) => {
|
|
35
|
+
const { uri } = request.params;
|
|
36
|
+
const content = (0, index_2.getResourceContent)(uri);
|
|
37
|
+
if (!content) {
|
|
38
|
+
throw new Error(`Resource not found: ${uri}`);
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
contents: [
|
|
42
|
+
{
|
|
43
|
+
uri,
|
|
44
|
+
mimeType: 'text/markdown',
|
|
45
|
+
text: content,
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
};
|
|
49
|
+
});
|
|
26
50
|
// Handle tool calls
|
|
27
51
|
server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
28
52
|
const { name, arguments: args } = request.params;
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAGvE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH;AAGD,MAAM,MAAM,WAAW,GAAG,CACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,qBAAqB,KACzB,OAAO,CAAC,OAAO,CAAC,CAAC;AAOtB,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAG7E;AAGD,wBAAgB,WAAW,IAAI,cAAc,EAAE,CAE9C;AAGD,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,OAAO,CAAC,CAMlB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAGvE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH;AAGD,MAAM,MAAM,WAAW,GAAG,CACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,qBAAqB,KACzB,OAAO,CAAC,OAAO,CAAC,CAAC;AAOtB,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAG7E;AAGD,wBAAgB,WAAW,IAAI,cAAc,EAAE,CAE9C;AAGD,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,OAAO,CAAC,CAMlB;AAWD,wBAAgB,eAAe,IAAI,IAAI,CAOtC"}
|
package/dist/mcp/tools/index.js
CHANGED
|
@@ -30,6 +30,7 @@ const company_1 = require("./company");
|
|
|
30
30
|
const stakeholders_1 = require("./stakeholders");
|
|
31
31
|
const certificate_1 = require("./certificate");
|
|
32
32
|
const sync_1 = require("./sync");
|
|
33
|
+
const info_1 = require("./info");
|
|
33
34
|
// Import and register all tools
|
|
34
35
|
function initializeTools() {
|
|
35
36
|
(0, session_1.registerSessionTools)();
|
|
@@ -37,6 +38,7 @@ function initializeTools() {
|
|
|
37
38
|
(0, stakeholders_1.registerStakeholderTools)();
|
|
38
39
|
(0, certificate_1.registerCertificateTools)();
|
|
39
40
|
(0, sync_1.registerSyncTools)();
|
|
41
|
+
(0, info_1.registerInfoTools)();
|
|
40
42
|
}
|
|
41
43
|
// Initialize tools on module load
|
|
42
44
|
initializeTools();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/tools/index.ts"],"names":[],"mappings":";;AAwBA,oCAGC;AAGD,kCAEC;AAGD,wCAUC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/tools/index.ts"],"names":[],"mappings":";;AAwBA,oCAGC;AAGD,kCAEC;AAGD,wCAUC;AAWD,0CAOC;AA5CD,gBAAgB;AAChB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;AACpD,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;AAE1D,kBAAkB;AAClB,SAAgB,YAAY,CAAC,IAAoB,EAAE,OAAoB;IACrE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACrC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,2BAA2B;AAC3B,SAAgB,WAAW;IACzB,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,qBAAqB;AACd,KAAK,UAAU,cAAc,CAClC,IAAY,EACZ,IAA6B,EAC7B,KAA4B;IAE5B,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,qCAAqC;AACrC,uCAAiD;AACjD,uCAAiD;AACjD,iDAA0D;AAC1D,+CAAyD;AACzD,iCAA2C;AAC3C,iCAA2C;AAE3C,gCAAgC;AAChC,SAAgB,eAAe;IAC7B,IAAA,8BAAoB,GAAE,CAAC;IACvB,IAAA,8BAAoB,GAAE,CAAC;IACvB,IAAA,uCAAwB,GAAE,CAAC;IAC3B,IAAA,sCAAwB,GAAE,CAAC;IAC3B,IAAA,wBAAiB,GAAE,CAAC;IACpB,IAAA,wBAAiB,GAAE,CAAC;AACtB,CAAC;AAED,kCAAkC;AAClC,eAAe,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAE,MAAM,SAAS,CAAC;AAevD,eAAO,MAAM,oBAAoB,EAAE,cAclC,CAAC;AA+BF,eAAO,MAAM,2BAA2B,EAAE,cAQzC,CAAC;AAsBF,wBAAgB,iBAAiB,IAAI,IAAI,CAGxC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formationListInfoTopicsTool = exports.formationGetInfoTool = void 0;
|
|
4
|
+
exports.registerInfoTools = registerInfoTools;
|
|
5
|
+
const index_1 = require("./index");
|
|
6
|
+
const index_2 = require("../resources/index");
|
|
7
|
+
const errors_1 = require("../errors");
|
|
8
|
+
// Map friendly topic names to resource URIs
|
|
9
|
+
const TOPIC_MAP = {
|
|
10
|
+
guide: 'formation://guide',
|
|
11
|
+
pricing: 'formation://pricing',
|
|
12
|
+
'company-types': 'formation://company-types',
|
|
13
|
+
faq: 'formation://faq',
|
|
14
|
+
requirements: 'formation://requirements',
|
|
15
|
+
};
|
|
16
|
+
// formation_get_info tool
|
|
17
|
+
exports.formationGetInfoTool = {
|
|
18
|
+
name: 'formation_get_info',
|
|
19
|
+
description: 'Get information about Lovie formation services, pricing, company types, requirements, or FAQs. Use this to answer user questions about the formation process.',
|
|
20
|
+
inputSchema: {
|
|
21
|
+
type: 'object',
|
|
22
|
+
properties: {
|
|
23
|
+
topic: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
enum: ['guide', 'pricing', 'company-types', 'faq', 'requirements'],
|
|
26
|
+
description: 'The topic to get information about: "guide" (step-by-step formation guide), "pricing" (Lovie pricing and Delaware fees), "company-types" (LLC vs C-Corp vs S-Corp comparison), "faq" (frequently asked questions), "requirements" (what information is needed)',
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
required: ['topic'],
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
const handleFormationGetInfo = async (args, _store) => {
|
|
33
|
+
const topic = args.topic;
|
|
34
|
+
const uri = TOPIC_MAP[topic];
|
|
35
|
+
if (!uri) {
|
|
36
|
+
const validTopics = Object.keys(TOPIC_MAP).join(', ');
|
|
37
|
+
throw (0, errors_1.validationError)('topic', `Invalid topic. Valid options: ${validTopics}`);
|
|
38
|
+
}
|
|
39
|
+
const content = (0, index_2.getResourceContent)(uri);
|
|
40
|
+
if (!content) {
|
|
41
|
+
throw (0, errors_1.validationError)('topic', `Content not found for topic: ${topic}`);
|
|
42
|
+
}
|
|
43
|
+
// Find the resource metadata
|
|
44
|
+
const resource = index_2.FORMATION_RESOURCES.find((r) => r.uri === uri);
|
|
45
|
+
return {
|
|
46
|
+
topic,
|
|
47
|
+
title: resource?.name || topic,
|
|
48
|
+
description: resource?.description || '',
|
|
49
|
+
content,
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
// formation_list_info_topics tool
|
|
53
|
+
exports.formationListInfoTopicsTool = {
|
|
54
|
+
name: 'formation_list_info_topics',
|
|
55
|
+
description: 'List all available information topics that can be retrieved with formation_get_info.',
|
|
56
|
+
inputSchema: {
|
|
57
|
+
type: 'object',
|
|
58
|
+
properties: {},
|
|
59
|
+
required: [],
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
const handleFormationListInfoTopics = async (_args, _store) => {
|
|
63
|
+
const topics = index_2.FORMATION_RESOURCES.map((r) => {
|
|
64
|
+
const topic = Object.entries(TOPIC_MAP).find(([_, uri]) => uri === r.uri)?.[0];
|
|
65
|
+
return {
|
|
66
|
+
topic,
|
|
67
|
+
name: r.name,
|
|
68
|
+
description: r.description,
|
|
69
|
+
};
|
|
70
|
+
});
|
|
71
|
+
return {
|
|
72
|
+
topics,
|
|
73
|
+
usage: 'Call formation_get_info with a topic to get detailed information.',
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
// Register tools
|
|
77
|
+
function registerInfoTools() {
|
|
78
|
+
(0, index_1.registerTool)(exports.formationGetInfoTool, handleFormationGetInfo);
|
|
79
|
+
(0, index_1.registerTool)(exports.formationListInfoTopicsTool, handleFormationListInfoTopics);
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/mcp/tools/info.ts"],"names":[],"mappings":"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"}
|