equilibria-mcp-server 1.0.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 (164) hide show
  1. package/CHANGELOG.md +142 -0
  2. package/LICENSE +21 -0
  3. package/README.md +240 -0
  4. package/dist/builders/YAMLBuilder.d.ts +77 -0
  5. package/dist/builders/YAMLBuilder.d.ts.map +1 -0
  6. package/dist/builders/YAMLBuilder.js +251 -0
  7. package/dist/builders/YAMLBuilder.js.map +1 -0
  8. package/dist/economics/constants.d.ts +39 -0
  9. package/dist/economics/constants.d.ts.map +1 -0
  10. package/dist/economics/constants.js +46 -0
  11. package/dist/economics/constants.js.map +1 -0
  12. package/dist/economics/formulas.d.ts +19 -0
  13. package/dist/economics/formulas.d.ts.map +1 -0
  14. package/dist/economics/formulas.js +260 -0
  15. package/dist/economics/formulas.js.map +1 -0
  16. package/dist/economics/index.d.ts +9 -0
  17. package/dist/economics/index.d.ts.map +1 -0
  18. package/dist/economics/index.js +9 -0
  19. package/dist/economics/index.js.map +1 -0
  20. package/dist/economics/validators.d.ts +18 -0
  21. package/dist/economics/validators.d.ts.map +1 -0
  22. package/dist/economics/validators.js +111 -0
  23. package/dist/economics/validators.js.map +1 -0
  24. package/dist/errors/index.d.ts +172 -0
  25. package/dist/errors/index.d.ts.map +1 -0
  26. package/dist/errors/index.js +313 -0
  27. package/dist/errors/index.js.map +1 -0
  28. package/dist/formatters/index.d.ts +8 -0
  29. package/dist/formatters/index.d.ts.map +1 -0
  30. package/dist/formatters/index.js +8 -0
  31. package/dist/formatters/index.js.map +1 -0
  32. package/dist/formatters/redux.d.ts +15 -0
  33. package/dist/formatters/redux.d.ts.map +1 -0
  34. package/dist/formatters/redux.js +35 -0
  35. package/dist/formatters/redux.js.map +1 -0
  36. package/dist/formatters/yaml.d.ts +18 -0
  37. package/dist/formatters/yaml.d.ts.map +1 -0
  38. package/dist/formatters/yaml.js +40 -0
  39. package/dist/formatters/yaml.js.map +1 -0
  40. package/dist/index.d.ts +11 -0
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +19 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/server.d.ts +14 -0
  45. package/dist/server.d.ts.map +1 -0
  46. package/dist/server.js +86 -0
  47. package/dist/server.js.map +1 -0
  48. package/dist/templates/advancedMicro.d.ts +8 -0
  49. package/dist/templates/advancedMicro.d.ts.map +1 -0
  50. package/dist/templates/advancedMicro.js +834 -0
  51. package/dist/templates/advancedMicro.js.map +1 -0
  52. package/dist/templates/consumer.d.ts +12 -0
  53. package/dist/templates/consumer.d.ts.map +1 -0
  54. package/dist/templates/consumer.js +1978 -0
  55. package/dist/templates/consumer.js.map +1 -0
  56. package/dist/templates/elasticity.d.ts +8 -0
  57. package/dist/templates/elasticity.d.ts.map +1 -0
  58. package/dist/templates/elasticity.js +500 -0
  59. package/dist/templates/elasticity.js.map +1 -0
  60. package/dist/templates/externalities.d.ts +11 -0
  61. package/dist/templates/externalities.d.ts.map +1 -0
  62. package/dist/templates/externalities.js +997 -0
  63. package/dist/templates/externalities.js.map +1 -0
  64. package/dist/templates/financeBehavioral.d.ts +8 -0
  65. package/dist/templates/financeBehavioral.d.ts.map +1 -0
  66. package/dist/templates/financeBehavioral.js +860 -0
  67. package/dist/templates/financeBehavioral.js.map +1 -0
  68. package/dist/templates/growth.d.ts +8 -0
  69. package/dist/templates/growth.d.ts.map +1 -0
  70. package/dist/templates/growth.js +740 -0
  71. package/dist/templates/growth.js.map +1 -0
  72. package/dist/templates/index.d.ts +31 -0
  73. package/dist/templates/index.d.ts.map +1 -0
  74. package/dist/templates/index.js +91 -0
  75. package/dist/templates/index.js.map +1 -0
  76. package/dist/templates/inequality.d.ts +8 -0
  77. package/dist/templates/inequality.d.ts.map +1 -0
  78. package/dist/templates/inequality.js +562 -0
  79. package/dist/templates/inequality.js.map +1 -0
  80. package/dist/templates/intertemporalMacro.d.ts +8 -0
  81. package/dist/templates/intertemporalMacro.d.ts.map +1 -0
  82. package/dist/templates/intertemporalMacro.js +550 -0
  83. package/dist/templates/intertemporalMacro.js.map +1 -0
  84. package/dist/templates/isLM.d.ts +8 -0
  85. package/dist/templates/isLM.d.ts.map +1 -0
  86. package/dist/templates/isLM.js +747 -0
  87. package/dist/templates/isLM.js.map +1 -0
  88. package/dist/templates/macro.d.ts +8 -0
  89. package/dist/templates/macro.d.ts.map +1 -0
  90. package/dist/templates/macro.js +600 -0
  91. package/dist/templates/macro.js.map +1 -0
  92. package/dist/templates/marketStructures.d.ts +11 -0
  93. package/dist/templates/marketStructures.d.ts.map +1 -0
  94. package/dist/templates/marketStructures.js +1135 -0
  95. package/dist/templates/marketStructures.js.map +1 -0
  96. package/dist/templates/newKeynesian.d.ts +8 -0
  97. package/dist/templates/newKeynesian.d.ts.map +1 -0
  98. package/dist/templates/newKeynesian.js +633 -0
  99. package/dist/templates/newKeynesian.js.map +1 -0
  100. package/dist/templates/oligopoly.d.ts +11 -0
  101. package/dist/templates/oligopoly.d.ts.map +1 -0
  102. package/dist/templates/oligopoly.js +1113 -0
  103. package/dist/templates/oligopoly.js.map +1 -0
  104. package/dist/templates/ppf.d.ts +8 -0
  105. package/dist/templates/ppf.d.ts.map +1 -0
  106. package/dist/templates/ppf.js +439 -0
  107. package/dist/templates/ppf.js.map +1 -0
  108. package/dist/templates/producer.d.ts +11 -0
  109. package/dist/templates/producer.d.ts.map +1 -0
  110. package/dist/templates/producer.js +979 -0
  111. package/dist/templates/producer.js.map +1 -0
  112. package/dist/templates/production.d.ts +8 -0
  113. package/dist/templates/production.d.ts.map +1 -0
  114. package/dist/templates/production.js +574 -0
  115. package/dist/templates/production.js.map +1 -0
  116. package/dist/templates/supplyDemand.d.ts +8 -0
  117. package/dist/templates/supplyDemand.d.ts.map +1 -0
  118. package/dist/templates/supplyDemand.js +1282 -0
  119. package/dist/templates/supplyDemand.js.map +1 -0
  120. package/dist/templates/tradeGrowth.d.ts +8 -0
  121. package/dist/templates/tradeGrowth.d.ts.map +1 -0
  122. package/dist/templates/tradeGrowth.js +637 -0
  123. package/dist/templates/tradeGrowth.js.map +1 -0
  124. package/dist/tools/index.d.ts +25 -0
  125. package/dist/tools/index.d.ts.map +1 -0
  126. package/dist/tools/index.js +54 -0
  127. package/dist/tools/index.js.map +1 -0
  128. package/dist/tools/models.d.ts +8 -0
  129. package/dist/tools/models.d.ts.map +1 -0
  130. package/dist/tools/models.js +828 -0
  131. package/dist/tools/models.js.map +1 -0
  132. package/dist/tools/output.d.ts +8 -0
  133. package/dist/tools/output.d.ts.map +1 -0
  134. package/dist/tools/output.js +236 -0
  135. package/dist/tools/output.js.map +1 -0
  136. package/dist/tools/templates.d.ts +8 -0
  137. package/dist/tools/templates.d.ts.map +1 -0
  138. package/dist/tools/templates.js +247 -0
  139. package/dist/tools/templates.js.map +1 -0
  140. package/dist/tools/validation.d.ts +8 -0
  141. package/dist/tools/validation.d.ts.map +1 -0
  142. package/dist/tools/validation.js +181 -0
  143. package/dist/tools/validation.js.map +1 -0
  144. package/dist/types/index.d.ts +187 -0
  145. package/dist/types/index.d.ts.map +1 -0
  146. package/dist/types/index.js +7 -0
  147. package/dist/types/index.js.map +1 -0
  148. package/dist/utils/cache.d.ts +99 -0
  149. package/dist/utils/cache.d.ts.map +1 -0
  150. package/dist/utils/cache.js +192 -0
  151. package/dist/utils/cache.js.map +1 -0
  152. package/dist/utils/index.d.ts +8 -0
  153. package/dist/utils/index.d.ts.map +1 -0
  154. package/dist/utils/index.js +8 -0
  155. package/dist/utils/index.js.map +1 -0
  156. package/dist/utils/logger.d.ts +128 -0
  157. package/dist/utils/logger.d.ts.map +1 -0
  158. package/dist/utils/logger.js +251 -0
  159. package/dist/utils/logger.js.map +1 -0
  160. package/dist/validation/index.d.ts +42 -0
  161. package/dist/validation/index.d.ts.map +1 -0
  162. package/dist/validation/index.js +282 -0
  163. package/dist/validation/index.js.map +1 -0
  164. package/package.json +73 -0
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Formatters Index
3
+ *
4
+ * Re-exports all formatters.
5
+ */
6
+ export { formatAsYAML, formatAsAnnotatedYAML, formatMinimalYAML } from './yaml.js';
7
+ export { formatAsRedux, formatAsAPICalls } from './redux.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/formatters/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Redux State Formatter
3
+ *
4
+ * Converts Equilibria documents to Redux state format.
5
+ */
6
+ import type { AppState } from 'equilibria-engine';
7
+ /**
8
+ * Format a parsed document as Redux state
9
+ */
10
+ export declare function formatAsRedux(document: Record<string, unknown>): Partial<AppState>;
11
+ /**
12
+ * Format API call sequence for programmatic construction
13
+ */
14
+ export declare function formatAsAPICalls(document: Record<string, unknown>): string[];
15
+ //# sourceMappingURL=redux.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redux.d.ts","sourceRoot":"","sources":["../../src/formatters/redux.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAIlF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAqB5E"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Redux State Formatter
3
+ *
4
+ * Converts Equilibria documents to Redux state format.
5
+ */
6
+ /**
7
+ * Format a parsed document as Redux state
8
+ */
9
+ export function formatAsRedux(document) {
10
+ // The document structure already matches the Redux state structure
11
+ // after being parsed by parseYAML from equilibria-engine
12
+ return document;
13
+ }
14
+ /**
15
+ * Format API call sequence for programmatic construction
16
+ */
17
+ export function formatAsAPICalls(document) {
18
+ const calls = [];
19
+ // Initialize
20
+ calls.push('const store = createEquilibriaStore();');
21
+ // Add parameters
22
+ const params = document.parameters;
23
+ if (params) {
24
+ for (const [name, config] of Object.entries(params)) {
25
+ const configObj = config;
26
+ if (configObj.value !== undefined) {
27
+ calls.push(`store.dispatch(setParameter('${name}', ${JSON.stringify(configObj.value)}));`);
28
+ }
29
+ }
30
+ }
31
+ // Initialize from document
32
+ calls.push(`store.dispatch(initializeFromYAML(${JSON.stringify(document)}));`);
33
+ return calls;
34
+ }
35
+ //# sourceMappingURL=redux.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redux.js","sourceRoot":"","sources":["../../src/formatters/redux.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,QAAiC;IAC7D,mEAAmE;IACnE,yDAAyD;IACzD,OAAO,QAA6B,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAiC;IAChE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,aAAa;IACb,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IAErD,iBAAiB;IACjB,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAiD,CAAC;IAC1E,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,MAAM,SAAS,GAAG,MAAiC,CAAC;YACpD,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,gCAAgC,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,KAAK,CAAC,IAAI,CAAC,qCAAqC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE/E,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * YAML Formatter
3
+ *
4
+ * Formats Equilibria documents as YAML strings.
5
+ */
6
+ /**
7
+ * Format a document as YAML
8
+ */
9
+ export declare function formatAsYAML(document: Record<string, unknown>): string;
10
+ /**
11
+ * Format a document as pretty YAML with comments
12
+ */
13
+ export declare function formatAsAnnotatedYAML(document: Record<string, unknown>, annotations?: Record<string, string>): string;
14
+ /**
15
+ * Format a minimal YAML snippet
16
+ */
17
+ export declare function formatMinimalYAML(element: Record<string, unknown>): string;
18
+ //# sourceMappingURL=yaml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yaml.d.ts","sourceRoot":"","sources":["../../src/formatters/yaml.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAQtE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,WAAW,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACvC,MAAM,CASR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAM1E"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * YAML Formatter
3
+ *
4
+ * Formats Equilibria documents as YAML strings.
5
+ */
6
+ import * as yaml from 'js-yaml';
7
+ /**
8
+ * Format a document as YAML
9
+ */
10
+ export function formatAsYAML(document) {
11
+ return yaml.dump(document, {
12
+ indent: 2,
13
+ lineWidth: 120,
14
+ noRefs: true,
15
+ quotingType: '"',
16
+ forceQuotes: false,
17
+ });
18
+ }
19
+ /**
20
+ * Format a document as pretty YAML with comments
21
+ */
22
+ export function formatAsAnnotatedYAML(document, annotations = {}) {
23
+ let yamlStr = formatAsYAML(document);
24
+ // Add comments for known sections
25
+ if (annotations.metadata) {
26
+ yamlStr = `# ${annotations.metadata}\n` + yamlStr;
27
+ }
28
+ return yamlStr;
29
+ }
30
+ /**
31
+ * Format a minimal YAML snippet
32
+ */
33
+ export function formatMinimalYAML(element) {
34
+ return yaml.dump(element, {
35
+ indent: 2,
36
+ flowLevel: 3,
37
+ noRefs: true,
38
+ });
39
+ }
40
+ //# sourceMappingURL=yaml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yaml.js","sourceRoot":"","sources":["../../src/formatters/yaml.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAEhC;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,QAAiC;IAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;QACzB,MAAM,EAAE,CAAC;QACT,SAAS,EAAE,GAAG;QACd,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,GAAG;QAChB,WAAW,EAAE,KAAK;KACnB,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAiC,EACjC,cAAsC,EAAE;IAExC,IAAI,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAErC,kCAAkC;IAClC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;QACzB,OAAO,GAAG,KAAK,WAAW,CAAC,QAAQ,IAAI,GAAG,OAAO,CAAC;IACpD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAgC;IAChE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;QACxB,MAAM,EAAE,CAAC;QACT,SAAS,EAAE,CAAC;QACZ,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Equilibria MCP Server - Entry Point
4
+ *
5
+ * A Model Context Protocol server that enables AI assistants to generate
6
+ * sophisticated economic visualizations using the Equilibria Engine.
7
+ *
8
+ * @module equilibria-mcp-server
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG"}
package/dist/index.js ADDED
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Equilibria MCP Server - Entry Point
4
+ *
5
+ * A Model Context Protocol server that enables AI assistants to generate
6
+ * sophisticated economic visualizations using the Equilibria Engine.
7
+ *
8
+ * @module equilibria-mcp-server
9
+ */
10
+ import { createServer } from './server.js';
11
+ async function main() {
12
+ const server = await createServer();
13
+ await server.start();
14
+ }
15
+ main().catch((error) => {
16
+ console.error('Failed to start Equilibria MCP Server:', error);
17
+ process.exit(1);
18
+ });
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;IACpC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;IAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * MCP Server Configuration and Setup
3
+ *
4
+ * Configures the Model Context Protocol server with all available tools
5
+ * for economic visualization generation.
6
+ */
7
+ /**
8
+ * Creates and configures the MCP server
9
+ */
10
+ export declare function createServer(): Promise<{
11
+ start: () => Promise<void>;
12
+ close: () => Promise<void>;
13
+ }>;
14
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsBH;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC;IAC5C,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B,CAAC,CAsED"}
package/dist/server.js ADDED
@@ -0,0 +1,86 @@
1
+ /**
2
+ * MCP Server Configuration and Setup
3
+ *
4
+ * Configures the Model Context Protocol server with all available tools
5
+ * for economic visualization generation.
6
+ */
7
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
8
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
9
+ import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
10
+ import { registerTools, getToolHandler, getAllTools } from './tools/index.js';
11
+ /**
12
+ * Server configuration
13
+ */
14
+ const SERVER_INFO = {
15
+ name: 'equilibria-mcp-server',
16
+ version: '1.0.0',
17
+ description: 'Generate economic visualizations using natural language',
18
+ };
19
+ /**
20
+ * Creates and configures the MCP server
21
+ */
22
+ export async function createServer() {
23
+ // Initialize the MCP server
24
+ const server = new Server(SERVER_INFO, {
25
+ capabilities: {
26
+ tools: {},
27
+ },
28
+ });
29
+ // Register all tools
30
+ registerTools();
31
+ // Create shared context for tool handlers
32
+ const context = {
33
+ currentDocument: null,
34
+ sessionState: new Map(),
35
+ };
36
+ // Handle tool listing requests
37
+ server.setRequestHandler(ListToolsRequestSchema, async () => {
38
+ const tools = getAllTools();
39
+ return { tools };
40
+ });
41
+ // Handle tool call requests
42
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
43
+ const { name, arguments: args } = request.params;
44
+ const handler = getToolHandler(name);
45
+ if (!handler) {
46
+ return {
47
+ content: [
48
+ {
49
+ type: 'text',
50
+ text: `Unknown tool: ${name}. Use list_available_models to see available tools.`,
51
+ },
52
+ ],
53
+ isError: true,
54
+ };
55
+ }
56
+ try {
57
+ const result = await handler(args || {}, context);
58
+ return result;
59
+ }
60
+ catch (error) {
61
+ const message = error instanceof Error ? error.message : String(error);
62
+ return {
63
+ content: [
64
+ {
65
+ type: 'text',
66
+ text: `Error executing ${name}: ${message}`,
67
+ },
68
+ ],
69
+ isError: true,
70
+ };
71
+ }
72
+ });
73
+ // Create transport (stdio for CLI usage)
74
+ const transport = new StdioServerTransport();
75
+ return {
76
+ start: async () => {
77
+ await server.connect(transport);
78
+ console.error('Equilibria MCP Server started');
79
+ },
80
+ close: async () => {
81
+ await server.close();
82
+ console.error('Equilibria MCP Server stopped');
83
+ },
84
+ };
85
+ }
86
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAEvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG9E;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,uBAAuB;IAC7B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,yDAAyD;CACvE,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAIhC,4BAA4B;IAC5B,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE;QACrC,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;SACV;KACF,CAAC,CAAC;IAEH,qBAAqB;IACrB,aAAa,EAAE,CAAC;IAEhB,0CAA0C;IAC1C,MAAM,OAAO,GAAmB;QAC9B,eAAe,EAAE,IAAI;QACrB,YAAY,EAAE,IAAI,GAAG,EAAE;KACxB,CAAC;IAEF,+BAA+B;IAC/B,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAC5B,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,4BAA4B;IAC5B,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAEjD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,iBAAiB,IAAI,qDAAqD;qBACjF;iBACF;gBACD,OAAO,EAAE,IAAI;aACW,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;YAClD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,mBAAmB,IAAI,KAAK,OAAO,EAAE;qBAC5C;iBACF;gBACD,OAAO,EAAE,IAAI;aACW,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,yCAAyC;IACzC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7C,OAAO;QACL,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACjD,CAAC;QACD,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACjD,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Advanced Microeconomic Theory Templates
3
+ *
4
+ * Postgraduate-level templates for general equilibrium, contract theory, and consumer theory.
5
+ */
6
+ import type { ModelTemplate } from '../types/index.js';
7
+ export declare const advancedMicroTemplates: ModelTemplate[];
8
+ //# sourceMappingURL=advancedMicro.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advancedMicro.d.ts","sourceRoot":"","sources":["../../src/templates/advancedMicro.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAq0BvD,eAAO,MAAM,sBAAsB,EAAE,aAAa,EAKjD,CAAC"}