fodda-mcp 1.32.1 → 1.46.31

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 (186) hide show
  1. package/README.md +14 -16
  2. package/dist/a2aHandler.d.ts +33 -3
  3. package/dist/a2aHandler.d.ts.map +1 -1
  4. package/dist/a2aHandler.js +189 -36
  5. package/dist/a2aHandler.js.map +1 -1
  6. package/dist/agentFacts.d.ts +21 -0
  7. package/dist/agentFacts.d.ts.map +1 -0
  8. package/dist/agentFacts.js +72 -0
  9. package/dist/agentFacts.js.map +1 -0
  10. package/dist/agents/fodda-researcher/index.d.ts +6 -0
  11. package/dist/agents/fodda-researcher/index.d.ts.map +1 -1
  12. package/dist/agents/fodda-researcher/index.js +18 -0
  13. package/dist/agents/fodda-researcher/index.js.map +1 -1
  14. package/dist/agents/fodda-researcher/skills.d.ts +1 -1
  15. package/dist/agents/fodda-researcher/skills.d.ts.map +1 -1
  16. package/dist/agents/fodda-researcher/skills.js +8 -3
  17. package/dist/agents/fodda-researcher/skills.js.map +1 -1
  18. package/dist/brandTemplate.d.ts +1 -1
  19. package/dist/brandTemplate.d.ts.map +1 -1
  20. package/dist/brandTemplate.js +179 -11
  21. package/dist/brandTemplate.js.map +1 -1
  22. package/dist/catalogCache.d.ts +14 -13
  23. package/dist/catalogCache.d.ts.map +1 -1
  24. package/dist/catalogCache.js +266 -67
  25. package/dist/catalogCache.js.map +1 -1
  26. package/dist/coverageRelevance.d.ts +156 -0
  27. package/dist/coverageRelevance.d.ts.map +1 -0
  28. package/dist/coverageRelevance.js +1062 -0
  29. package/dist/coverageRelevance.js.map +1 -0
  30. package/dist/deepResearch.d.ts +43 -0
  31. package/dist/deepResearch.d.ts.map +1 -0
  32. package/dist/deepResearch.js +498 -0
  33. package/dist/deepResearch.js.map +1 -0
  34. package/dist/enrichment.d.ts.map +1 -1
  35. package/dist/enrichment.js +51 -1
  36. package/dist/enrichment.js.map +1 -1
  37. package/dist/errorHandling.d.ts +1 -1
  38. package/dist/errorHandling.d.ts.map +1 -1
  39. package/dist/errorHandling.js +26 -6
  40. package/dist/errorHandling.js.map +1 -1
  41. package/dist/index.d.ts +9 -0
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +548 -38
  44. package/dist/index.js.map +1 -1
  45. package/dist/linkedinEngine.d.ts +150 -0
  46. package/dist/linkedinEngine.d.ts.map +1 -0
  47. package/dist/linkedinEngine.js +696 -0
  48. package/dist/linkedinEngine.js.map +1 -0
  49. package/dist/oauthRegisterShim.d.ts +13 -0
  50. package/dist/oauthRegisterShim.d.ts.map +1 -0
  51. package/dist/oauthRegisterShim.js +83 -0
  52. package/dist/oauthRegisterShim.js.map +1 -0
  53. package/dist/pricingCache.d.ts +6 -8
  54. package/dist/pricingCache.d.ts.map +1 -1
  55. package/dist/pricingCache.js +69 -13
  56. package/dist/pricingCache.js.map +1 -1
  57. package/dist/queryCache.d.ts +2 -0
  58. package/dist/queryCache.d.ts.map +1 -1
  59. package/dist/queryCache.js +11 -2
  60. package/dist/queryCache.js.map +1 -1
  61. package/dist/resources.d.ts +27 -0
  62. package/dist/resources.d.ts.map +1 -0
  63. package/dist/resources.js +126 -0
  64. package/dist/resources.js.map +1 -0
  65. package/dist/sessionTracker.d.ts +24 -2
  66. package/dist/sessionTracker.d.ts.map +1 -1
  67. package/dist/sessionTracker.js +198 -4
  68. package/dist/sessionTracker.js.map +1 -1
  69. package/dist/systemPrompt.d.ts +3 -3
  70. package/dist/systemPrompt.d.ts.map +1 -1
  71. package/dist/systemPrompt.js +81 -61
  72. package/dist/systemPrompt.js.map +1 -1
  73. package/dist/telemetry.d.ts +43 -0
  74. package/dist/telemetry.d.ts.map +1 -0
  75. package/dist/telemetry.js +101 -0
  76. package/dist/telemetry.js.map +1 -0
  77. package/dist/test_analyst.js +2 -2
  78. package/dist/test_analyst.js.map +1 -1
  79. package/dist/test_book_a_call_live.d.ts +2 -0
  80. package/dist/test_book_a_call_live.d.ts.map +1 -0
  81. package/dist/test_book_a_call_live.js +148 -0
  82. package/dist/test_book_a_call_live.js.map +1 -0
  83. package/dist/test_brand_intelligence_endpoint.d.ts +2 -0
  84. package/dist/test_brand_intelligence_endpoint.d.ts.map +1 -0
  85. package/dist/test_brand_intelligence_endpoint.js +20 -0
  86. package/dist/test_brand_intelligence_endpoint.js.map +1 -0
  87. package/dist/test_coverage_relevance.d.ts +12 -0
  88. package/dist/test_coverage_relevance.d.ts.map +1 -0
  89. package/dist/test_coverage_relevance.js +121 -0
  90. package/dist/test_coverage_relevance.js.map +1 -0
  91. package/dist/test_dcr_and_legacy_deprecation.d.ts +2 -0
  92. package/dist/test_dcr_and_legacy_deprecation.d.ts.map +1 -0
  93. package/dist/test_dcr_and_legacy_deprecation.js +148 -0
  94. package/dist/test_dcr_and_legacy_deprecation.js.map +1 -0
  95. package/dist/test_financial_snapshot_render.d.ts +2 -0
  96. package/dist/test_financial_snapshot_render.d.ts.map +1 -0
  97. package/dist/test_financial_snapshot_render.js +167 -0
  98. package/dist/test_financial_snapshot_render.js.map +1 -0
  99. package/dist/test_gap_alert.d.ts +12 -0
  100. package/dist/test_gap_alert.d.ts.map +1 -0
  101. package/dist/test_gap_alert.js +43 -0
  102. package/dist/test_gap_alert.js.map +1 -0
  103. package/dist/test_list_graphs_topics.d.ts +2 -0
  104. package/dist/test_list_graphs_topics.d.ts.map +1 -0
  105. package/dist/test_list_graphs_topics.js +26 -0
  106. package/dist/test_list_graphs_topics.js.map +1 -0
  107. package/dist/test_live_endpoint_runner.d.ts +2 -0
  108. package/dist/test_live_endpoint_runner.d.ts.map +1 -0
  109. package/dist/test_live_endpoint_runner.js +65 -0
  110. package/dist/test_live_endpoint_runner.js.map +1 -0
  111. package/dist/test_local_list_graphs.d.ts +2 -0
  112. package/dist/test_local_list_graphs.d.ts.map +1 -0
  113. package/dist/test_local_list_graphs.js +53 -0
  114. package/dist/test_local_list_graphs.js.map +1 -0
  115. package/dist/test_next_moves.d.ts +2 -0
  116. package/dist/test_next_moves.d.ts.map +1 -0
  117. package/dist/test_next_moves.js +349 -0
  118. package/dist/test_next_moves.js.map +1 -0
  119. package/dist/test_next_moves_transcripts.d.ts +2 -0
  120. package/dist/test_next_moves_transcripts.d.ts.map +1 -0
  121. package/dist/test_next_moves_transcripts.js +413 -0
  122. package/dist/test_next_moves_transcripts.js.map +1 -0
  123. package/dist/test_nike_cmo_alias.d.ts +2 -0
  124. package/dist/test_nike_cmo_alias.d.ts.map +1 -0
  125. package/dist/test_nike_cmo_alias.js +76 -0
  126. package/dist/test_nike_cmo_alias.js.map +1 -0
  127. package/dist/test_session_next_moves_telemetry.d.ts +2 -0
  128. package/dist/test_session_next_moves_telemetry.d.ts.map +1 -0
  129. package/dist/test_session_next_moves_telemetry.js +100 -0
  130. package/dist/test_session_next_moves_telemetry.js.map +1 -0
  131. package/dist/test_token_resolution.d.ts +2 -0
  132. package/dist/test_token_resolution.d.ts.map +1 -0
  133. package/dist/test_token_resolution.js +82 -0
  134. package/dist/test_token_resolution.js.map +1 -0
  135. package/dist/toolHandlers.d.ts +7 -3
  136. package/dist/toolHandlers.d.ts.map +1 -1
  137. package/dist/toolHandlers.js +1678 -364
  138. package/dist/toolHandlers.js.map +1 -1
  139. package/dist/tools.d.ts +7 -2
  140. package/dist/tools.d.ts.map +1 -1
  141. package/dist/tools.js +12 -3
  142. package/dist/tools.js.map +1 -1
  143. package/dist/types.d.ts +9 -46
  144. package/dist/types.d.ts.map +1 -1
  145. package/dist/types.js +6 -0
  146. package/dist/types.js.map +1 -1
  147. package/dist/verify_tools_endpoint.js +4 -3
  148. package/dist/verify_tools_endpoint.js.map +1 -1
  149. package/package.json +5 -2
  150. package/server.json +16 -3
  151. package/dist/scripts/simulate_gemini.d.ts +0 -2
  152. package/dist/scripts/simulate_gemini.d.ts.map +0 -1
  153. package/dist/scripts/simulate_gemini.js +0 -100
  154. package/dist/scripts/simulate_gemini.js.map +0 -1
  155. package/dist/scripts/verify_registry.d.ts +0 -2
  156. package/dist/scripts/verify_registry.d.ts.map +0 -1
  157. package/dist/scripts/verify_registry.js +0 -77
  158. package/dist/scripts/verify_registry.js.map +0 -1
  159. package/dist/src/index.d.ts +0 -2
  160. package/dist/src/index.d.ts.map +0 -1
  161. package/dist/src/index.js +0 -332
  162. package/dist/src/index.js.map +0 -1
  163. package/dist/src/tools.d.ts +0 -12
  164. package/dist/src/tools.d.ts.map +0 -1
  165. package/dist/src/tools.js +0 -104
  166. package/dist/src/tools.js.map +0 -1
  167. package/dist/src/types.d.ts +0 -44
  168. package/dist/src/types.d.ts.map +0 -1
  169. package/dist/src/types.js +0 -2
  170. package/dist/src/types.js.map +0 -1
  171. package/dist/src/verify.d.ts +0 -2
  172. package/dist/src/verify.d.ts.map +0 -1
  173. package/dist/src/verify.js +0 -47
  174. package/dist/src/verify.js.map +0 -1
  175. package/dist/src/verify_hmac.d.ts +0 -2
  176. package/dist/src/verify_hmac.d.ts.map +0 -1
  177. package/dist/src/verify_hmac.js +0 -106
  178. package/dist/src/verify_hmac.js.map +0 -1
  179. package/dist/src/verify_tools_endpoint.d.ts +0 -2
  180. package/dist/src/verify_tools_endpoint.d.ts.map +0 -1
  181. package/dist/src/verify_tools_endpoint.js +0 -40
  182. package/dist/src/verify_tools_endpoint.js.map +0 -1
  183. package/dist/test-waverunner-response.d.ts +0 -2
  184. package/dist/test-waverunner-response.d.ts.map +0 -1
  185. package/dist/test-waverunner-response.js +0 -20
  186. package/dist/test-waverunner-response.js.map +0 -1
package/dist/tools.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * The actual tool registrations live in toolHandlers.ts.
5
5
  * This file provides version strings used by index.ts and toolHandlers.ts.
6
6
  */
7
- export declare const MCP_SERVER_VERSION = "1.32.1";
7
+ export declare const MCP_SERVER_VERSION: string;
8
8
  export declare const TOOL_VERSIONS: {
9
9
  list_graphs: string;
10
10
  search_graph: string;
@@ -83,8 +83,13 @@ export declare const TOOL_VERSIONS: {
83
83
  read_url: string;
84
84
  list_analysts: string;
85
85
  consult_analyst: string;
86
+ consult_human_agent: string;
86
87
  toggle_graph_preference: string;
87
- manage_scheduled_reports: string;
88
88
  get_company_earnings: string;
89
+ get_validated_trends: string;
90
+ get_capabilities: string;
91
+ expert_onboarding_research: string;
92
+ draft_linkedin_post: string;
93
+ draft_linkedin_article: string;
89
94
  };
90
95
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsFzB,CAAC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,eAAO,MAAM,kBAAkB,EAAE,MAAoB,CAAC;AAEtD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4FzB,CAAC"}
package/dist/tools.js CHANGED
@@ -4,7 +4,10 @@
4
4
  * The actual tool registrations live in toolHandlers.ts.
5
5
  * This file provides version strings used by index.ts and toolHandlers.ts.
6
6
  */
7
- export const MCP_SERVER_VERSION = "1.32.1";
7
+ import { createRequire } from 'module';
8
+ const require = createRequire(import.meta.url);
9
+ const pkg = require('../package.json');
10
+ export const MCP_SERVER_VERSION = pkg.version;
8
11
  export const TOOL_VERSIONS = {
9
12
  list_graphs: "1.4.0",
10
13
  search_graph: "1.4.0",
@@ -86,10 +89,16 @@ export const TOOL_VERSIONS = {
86
89
  update_user_profile: "1.0.0",
87
90
  deep_research_topic: "1.0.0",
88
91
  read_url: "1.0.0",
89
- list_analysts: "1.0.0",
92
+ list_analysts: "1.1.0",
90
93
  consult_analyst: "1.0.0",
94
+ consult_human_agent: "1.1.0",
91
95
  toggle_graph_preference: "1.0.0",
92
- manage_scheduled_reports: "2.0.0",
93
96
  get_company_earnings: "1.0.0",
97
+ get_validated_trends: "1.0.0",
98
+ get_capabilities: "1.0.0",
99
+ expert_onboarding_research: "1.0.0",
100
+ // v1.33.0 — LinkedIn content tools (evidence engine heads)
101
+ draft_linkedin_post: "1.0.0",
102
+ draft_linkedin_article: "1.0.0",
94
103
  };
95
104
  //# sourceMappingURL=tools.js.map
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAE3C,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,WAAW,EAAE,OAAO;IACpB,YAAY,EAAE,OAAO;IACrB,aAAa,EAAE,OAAO;IACtB,YAAY,EAAE,OAAO;IACrB,QAAQ,EAAE,OAAO;IACjB,gBAAgB,EAAE,OAAO;IACzB,aAAa,EAAE,OAAO;IACtB,wBAAwB,EAAE,OAAO;IACjC,aAAa,EAAE,OAAO;IACtB,0BAA0B,EAAE,OAAO;IACnC,gCAAgC,EAAE,OAAO;IACzC,0BAA0B,EAAE,OAAO;IACnC,uBAAuB,EAAE,OAAO;IAChC,6BAA6B,EAAE,OAAO;IACtC,yBAAyB,EAAE,OAAO;IAClC,eAAe,EAAE,OAAO;IACxB,mBAAmB,EAAE,OAAO;IAC5B,yBAAyB,EAAE,OAAO;IAClC,yBAAyB,EAAE,OAAO;IAClC,mBAAmB,EAAE,OAAO;IAC5B,0BAA0B,EAAE,OAAO;IACnC,4BAA4B,EAAE,OAAO;IACrC,iBAAiB,EAAE,OAAO;IAC1B,eAAe,EAAE,OAAO;IACxB,sBAAsB,EAAE,OAAO;IAC/B,mBAAmB,EAAE,OAAO;IAC5B,0BAA0B,EAAE,OAAO;IACnC,4BAA4B,EAAE,OAAO;IACrC,yBAAyB,EAAE,OAAO;IAClC,0BAA0B,EAAE,OAAO;IACnC,4BAA4B,EAAE,OAAO;IACrC,0BAA0B,EAAE,OAAO;IACnC,mBAAmB,EAAE,OAAO;IAC5B,sBAAsB,EAAE,OAAO;IAC/B,+BAA+B;IAC/B,wBAAwB,EAAE,OAAO;IACjC,qBAAqB,EAAE,OAAO;IAC9B,mBAAmB,EAAE,OAAO;IAC5B,yBAAyB,EAAE,OAAO;IAClC,0BAA0B,EAAE,OAAO;IACnC,mBAAmB,EAAE,OAAO;IAC5B,qBAAqB,EAAE,OAAO;IAC9B,mBAAmB,EAAE,OAAO;IAC5B,uBAAuB,EAAE,OAAO;IAChC,+BAA+B;IAC/B,mBAAmB,EAAE,OAAO;IAC5B,oBAAoB,EAAE,OAAO;IAC7B,mBAAmB,EAAE,OAAO;IAC5B,uBAAuB,EAAE,OAAO;IAChC,mBAAmB,EAAE,OAAO;IAC5B,mBAAmB,EAAE,OAAO;IAC5B,uBAAuB,EAAE,OAAO;IAChC,oBAAoB,EAAE,OAAO;IAC7B,uBAAuB,EAAE,OAAO;IAChC,mCAAmC;IACnC,mBAAmB,EAAE,OAAO;IAC5B,mBAAmB,EAAE,OAAO;IAC5B,wBAAwB,EAAE,OAAO;IACjC,mBAAmB,EAAE,OAAO;IAC5B,oBAAoB,EAAE,OAAO;IAC7B,qBAAqB,EAAE,OAAO;IAC9B,mBAAmB,EAAE,OAAO;IAC5B,mBAAmB,EAAE,OAAO;IAC5B,mBAAmB,EAAE,OAAO;IAC5B,mBAAmB,EAAE,OAAO;IAC5B,eAAe,EAAE,OAAO;IACxB,qBAAqB,EAAE,OAAO;IAC9B,qBAAqB,EAAE,OAAO;IAC9B,2CAA2C;IAC3C,qBAAqB,EAAE,OAAO;IAC9B,uBAAuB,EAAE,OAAO;IAChC,mBAAmB,EAAE,OAAO;IAC5B,oBAAoB,EAAE,OAAO;IAC7B,gBAAgB;IAChB,oBAAoB,EAAE,OAAO;IAC7B,aAAa,EAAE,OAAO;IACtB,cAAc,EAAE,OAAO;IACvB,mBAAmB,EAAE,OAAO;IAC5B,mBAAmB,EAAE,OAAO;IAC5B,QAAQ,EAAE,OAAO;IACjB,aAAa,EAAE,OAAO;IACtB,eAAe,EAAE,OAAO;IACxB,uBAAuB,EAAE,OAAO;IAChC,wBAAwB,EAAE,OAAO;IACjC,oBAAoB,EAAE,OAAO;CAChC,CAAC"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,47 +1,10 @@
1
- import type { Tool } from "@modelcontextprotocol/sdk/types.js";
2
- export interface ExtendedTool extends Tool {
3
- isDeterministic: boolean;
4
- }
5
- export interface FoddaSearchRequest {
6
- query: string;
7
- limit?: number;
8
- use_semantic?: boolean;
9
- }
10
- export interface FoddaNeighborsRequest {
11
- seed_node_ids: string[];
12
- relationship_types?: string[];
13
- direction?: 'in' | 'out' | 'both';
14
- depth?: number;
15
- limit?: number;
16
- }
17
- export interface FoddaEvidenceRequest {
18
- for_node_id: string;
19
- top_k?: number;
20
- }
21
- export interface FoddaGraph {
22
- graph_id: string;
23
- name: string;
24
- version: string;
25
- description: string;
26
- node_types: string[];
27
- relationship_types: string[];
28
- }
29
- export interface FoddaScanNode {
30
- id: string;
31
- display: string;
32
- labels: string[];
33
- properties: Record<string, any>;
34
- _score?: number;
35
- }
36
- export interface FoddaEvidence {
37
- id: string;
38
- title: string;
39
- sourceUrl: string;
40
- snippet: string;
41
- publishedAt?: string;
42
- relevance?: number;
43
- place?: string;
44
- brandNames?: string[];
45
- formatted_citation?: string;
46
- }
1
+ /**
2
+ * Shared type definitions for Fodda MCP
3
+ *
4
+ * These types are used by both toolHandlers.ts and deepResearch.ts.
5
+ * Extracted here to avoid circular imports under ESM.
6
+ */
7
+ import type { TrialInteractionType } from './trialTracker.js';
8
+ export type FoddaRequestFn = (method: 'GET' | 'POST' | 'PATCH', path: string, apiKey: string, userId: string, body?: any, requestId?: string, source?: string, spt?: string) => Promise<any>;
9
+ export type WaverunnerRequestFn = (interactionType: TrialInteractionType, tokenCost: number, apiKey: string, userId: string, waverunnerPayload: any) => Promise<any>;
47
10
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D,MAAM,WAAW,YAAa,SAAQ,IAAI;IACxC,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,MAAM,MAAM,cAAc,GAAG,CACzB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,EAChC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,GAAG,EACV,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,KACX,OAAO,CAAC,GAAG,CAAC,CAAC;AAElB,MAAM,MAAM,mBAAmB,GAAG,CAC9B,eAAe,EAAE,oBAAoB,EACrC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,GAAG,KACrB,OAAO,CAAC,GAAG,CAAC,CAAC"}
package/dist/types.js CHANGED
@@ -1,2 +1,8 @@
1
+ /**
2
+ * Shared type definitions for Fodda MCP
3
+ *
4
+ * These types are used by both toolHandlers.ts and deepResearch.ts.
5
+ * Extracted here to avoid circular imports under ESM.
6
+ */
1
7
  export {};
2
8
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -2,16 +2,17 @@ import { spawn } from 'child_process';
2
2
  import axios from 'axios';
3
3
  import { MCP_SERVER_VERSION } from './tools.js';
4
4
  async function runTest() {
5
- console.log('Starting Fodda MCP server verification for /health endpoint...');
5
+ const testPort = process.env.TEST_PORT || '3099';
6
+ console.log(`Starting Fodda MCP server verification for /health endpoint on port ${testPort}...`);
6
7
  const mcp = spawn('node', ['dist/index.js'], {
7
- env: { ...process.env, PORT: '3000' }
8
+ env: { ...process.env, PORT: testPort }
8
9
  });
9
10
  mcp.stdout.on('data', (data) => console.log(`[Server]: ${data}`));
10
11
  mcp.stderr.on('data', (data) => console.error(`[Server Error]: ${data}`));
11
12
  // Allow server time to start
12
13
  await new Promise(resolve => setTimeout(resolve, 3000));
13
14
  try {
14
- const response = await axios.get('http://localhost:3000/health');
15
+ const response = await axios.get(`http://localhost:${testPort}/health`);
15
16
  console.log('✅ Response Code:', response.status);
16
17
  console.log('✅ Health Status:', response.data.status);
17
18
  console.log('✅ Server Version:', response.data.version);
@@ -1 +1 @@
1
- {"version":3,"file":"verify_tools_endpoint.js","sourceRoot":"","sources":["../src/verify_tools_endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,KAAK,UAAU,OAAO;IAClB,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;IAC9E,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE;QACzC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE;KACxC,CAAC,CAAC;IAEH,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;IAClE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,CAAC;IAE1E,6BAA6B;IAC7B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAExD,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAExD,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,KAAK,kBAAkB,EAAE,CAAC;YAC/C,OAAO,CAAC,KAAK,CAAC,gCAAgC,kBAAkB,SAAS,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAClG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,4BAA4B,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;YAAS,CAAC;QACP,GAAG,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;AACL,CAAC;AAED,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IAClB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"verify_tools_endpoint.js","sourceRoot":"","sources":["../src/verify_tools_endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,KAAK,UAAU,OAAO;IAClB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,uEAAuE,QAAQ,KAAK,CAAC,CAAC;IAClG,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE;QACzC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC1C,CAAC,CAAC;IAEH,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;IAClE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,CAAC;IAE1E,6BAA6B;IAC7B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAExD,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,oBAAoB,QAAQ,SAAS,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAExD,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,KAAK,kBAAkB,EAAE,CAAC;YAC/C,OAAO,CAAC,KAAK,CAAC,gCAAgC,kBAAkB,SAAS,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAClG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,4BAA4B,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;YAAS,CAAC;QACP,GAAG,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;AACL,CAAC;AAED,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IAClB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fodda-mcp",
3
- "version": "1.32.1",
3
+ "version": "1.46.31",
4
4
  "mcpName": "ai.fodda/mcp-server",
5
5
  "description": "Fodda MCP Server for accessing knowledge graph insights.",
6
6
  "keywords": [
@@ -25,9 +25,12 @@
25
25
  "README.md",
26
26
  "server.json"
27
27
  ],
28
+ "workspaces": [
29
+ "packages/*"
30
+ ],
28
31
  "type": "module",
29
32
  "scripts": {
30
- "build": "tsc",
33
+ "build": "node scripts/sync-descriptions-from-airtable.mjs && node scripts/generate-tools-manifest.mjs && tsc",
31
34
  "start": "node dist/index.js",
32
35
  "dev": "ts-node src/index.ts",
33
36
  "test": "npm run build && node dist/verify_tools_endpoint.js"
package/server.json CHANGED
@@ -2,8 +2,11 @@
2
2
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
3
  "name": "ai.fodda/mcp-server",
4
4
  "title": "Fodda Knowledge Graphs",
5
- "description": "Expert-curated knowledge, brand, research & earnings intelligence — 31 tools, 220+ graphs.",
5
+ "description": "Expert-curated knowledge, brand, research & earnings intelligence — 47 tools, 220+ graphs.",
6
6
  "websiteUrl": "https://www.fodda.ai",
7
+ "privacyPolicyUrl": "https://www.fodda.ai/privacy",
8
+ "termsOfServiceUrl": "https://www.fodda.ai/terms",
9
+ "supportContact": "support@fodda.ai",
7
10
  "icons": [
8
11
  {
9
12
  "src": "https://ucarecdn.com/6e7893d7-6b14-426b-83bc-574a3f72d6bc/foddafavicon.png",
@@ -12,16 +15,26 @@
12
15
  ]
13
16
  }
14
17
  ],
15
- "version": "1.32.1",
18
+ "version": "1.46.31",
16
19
  "repository": {
17
20
  "url": "https://github.com/piers-fawkes/fodda-mcp",
18
21
  "source": "github"
19
22
  },
23
+ "remotes": [
24
+ {
25
+ "transportType": "streamable-http",
26
+ "url": "https://mcp.fodda.ai/mcp",
27
+ "authorizationServerMetadataUrl": "https://mcp.fodda.ai/.well-known/oauth-authorization-server",
28
+ "clientAuthentication": {
29
+ "type": "oauth2"
30
+ }
31
+ }
32
+ ],
20
33
  "packages": [
21
34
  {
22
35
  "registryType": "npm",
23
36
  "identifier": "fodda-mcp",
24
- "version": "1.32.1",
37
+ "version": "1.46.31",
25
38
  "transport": {
26
39
  "type": "stdio"
27
40
  },
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=simulate_gemini.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simulate_gemini.d.ts","sourceRoot":"","sources":["../../scripts/simulate_gemini.ts"],"names":[],"mappings":""}
@@ -1,100 +0,0 @@
1
- import { Client } from "@modelcontextprotocol/sdk/client/index.js";
2
- import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
3
- import { CallToolResultSchema } from "@modelcontextprotocol/sdk/types.js";
4
- import path from "path";
5
- import { fileURLToPath } from "url";
6
- const __filename = fileURLToPath(import.meta.url);
7
- const __dirname = path.dirname(__filename);
8
- async function runSimulation() {
9
- console.log("--- Starting Gemini Tool Invocation Simulation ---");
10
- // Scenario 1: Direct Tool Call (Echo Mode)
11
- // We want to verify that if we send a tool call with `_meta: { test_mode: 'gemini_echo' }`,
12
- // we get the expected echo response without hitting the real API.
13
- // Start the MCP Server using StdioClientTransport which spawns the process
14
- console.log("Starting MCP Server via StdioClientTransport...");
15
- // Sanitize env to ensure all values are strings
16
- const sanitizedEnv = Object.fromEntries(Object.entries(process.env)
17
- .filter(([_, v]) => v !== undefined)
18
- .map(([k, v]) => [k, v]));
19
- const transport = new StdioClientTransport({
20
- command: "node",
21
- args: [path.join(__dirname, "../dist/index.js")],
22
- env: { ...sanitizedEnv, PORT: "", NODE_ENV: "development" }
23
- });
24
- const client = new Client({
25
- name: "gemini-simulator",
26
- version: "1.0.0",
27
- }, {
28
- capabilities: {},
29
- });
30
- try {
31
- await client.connect(transport);
32
- console.log("Connected to MCP Server via Stdio.");
33
- // List Tools to verify connection
34
- const toolsList = await client.listTools();
35
- console.log(`Found ${toolsList.tools.length} tools.`);
36
- // Test Case 1: psfk_overview with Simulation Mode
37
- console.log("\nTesting 'psfk_overview' in Simulation Mode...");
38
- const toolName = "psfk_overview";
39
- const toolArgs = {
40
- industry: "Retail",
41
- sector: "Technology"
42
- };
43
- console.log("Sending raw JSON-RPC request with _meta...");
44
- // Use client.request allowing us to inject _meta at the params level
45
- const result = await client.request({
46
- method: "tools/call",
47
- params: {
48
- name: toolName,
49
- arguments: toolArgs,
50
- _meta: {
51
- test_mode: "gemini_echo",
52
- authorization: "Bearer dummy-test-key"
53
- }
54
- }
55
- }, CallToolResultSchema);
56
- console.log("Result received:");
57
- console.log(JSON.stringify(result, null, 2));
58
- // Verification
59
- if (result.content && result.content[0]) {
60
- const content = result.content[0];
61
- if (content.type === "text") {
62
- try {
63
- const data = JSON.parse(content.text);
64
- // Check if it returned the tool call structure (Echo)
65
- if (data.tool_calls && data.tool_calls[0].name === toolName) {
66
- console.log("✅ PASSED: Server correctly echoed the tool call.");
67
- }
68
- else {
69
- console.log("❌ FAILED: Response was not an echo.");
70
- }
71
- }
72
- catch (e) {
73
- console.log("❌ FAILED: Response text is not valid JSON.");
74
- }
75
- }
76
- else {
77
- console.log("❌ FAILED: Unexpected content type.");
78
- }
79
- }
80
- else {
81
- console.log("❌ FAILED: No content in result.");
82
- }
83
- }
84
- catch (error) {
85
- console.error("Simulation failed:", error);
86
- }
87
- finally {
88
- // Cleanup
89
- try {
90
- await transport.close();
91
- console.log("Transport closed.");
92
- }
93
- catch (e) {
94
- console.error("Error closing transport:", e);
95
- }
96
- process.exit(0);
97
- }
98
- }
99
- runSimulation();
100
- //# sourceMappingURL=simulate_gemini.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simulate_gemini.js","sourceRoot":"","sources":["../../scripts/simulate_gemini.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=verify_registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verify_registry.d.ts","sourceRoot":"","sources":["../../scripts/verify_registry.ts"],"names":[],"mappings":""}
@@ -1,77 +0,0 @@
1
- import { spawn } from 'child_process';
2
- import { setTimeout } from 'timers/promises';
3
- const PORT = 8083; // Use different port
4
- const BASE_URL = `http://localhost:${PORT}`;
5
- async function run() {
6
- console.log("--- Starting Tool Registry Verification ---");
7
- // Start Server
8
- const server = spawn('npx', ['tsx', 'src/index.ts'], {
9
- cwd: '../Fodda MCP',
10
- env: { ...process.env, PORT: String(PORT) },
11
- stdio: 'inherit'
12
- });
13
- console.log(`Server spawning on port ${PORT}...`);
14
- // Wait for server
15
- let attempts = 0;
16
- while (attempts < 20) {
17
- try {
18
- const res = await fetch(`${BASE_URL}/mcp/tools`);
19
- if (res.ok) {
20
- console.log("Server is up and endpoint is reachable.");
21
- break;
22
- }
23
- }
24
- catch (e) {
25
- await setTimeout(1000);
26
- attempts++;
27
- }
28
- }
29
- if (attempts === 20) {
30
- console.error("Server failed to start.");
31
- server.kill();
32
- process.exit(1);
33
- }
34
- try {
35
- console.log("Fetching Registry...");
36
- const res = await fetch(`${BASE_URL}/mcp/tools`);
37
- const data = await res.json();
38
- // Validation
39
- if (!data.tools || !Array.isArray(data.tools)) {
40
- throw new Error("Invalid response format: 'tools' array missing.");
41
- }
42
- console.log(`Found ${data.tools.length} tools.`);
43
- const searchTool = data.tools.find((t) => t.name === 'search_graph');
44
- if (!searchTool)
45
- throw new Error("search_graph tool not found.");
46
- console.log("Checking 'search_graph' metadata...");
47
- if (searchTool.isDeterministic === false) {
48
- console.log("✅ PASSED: search_graph is marked as non-deterministic.");
49
- }
50
- else {
51
- console.log(`❌ FAILED: search_graph isDeterministic = ${searchTool.isDeterministic}`);
52
- }
53
- const nodeTool = data.tools.find((t) => t.name === 'get_node');
54
- if (nodeTool.isDeterministic === true) {
55
- console.log("✅ PASSED: get_node is marked as deterministic.");
56
- }
57
- else {
58
- console.log(`❌ FAILED: get_node isDeterministic = ${nodeTool.isDeterministic}`);
59
- }
60
- if (data.version) {
61
- console.log(`✅ PASSED: Server version reported as ${data.version}`);
62
- }
63
- else {
64
- console.log("❌ FAILED: Server version missing.");
65
- }
66
- }
67
- catch (e) {
68
- console.error("Test failed:", e);
69
- }
70
- finally {
71
- server.kill();
72
- console.log("Server stopped.");
73
- process.exit(0);
74
- }
75
- }
76
- run();
77
- //# sourceMappingURL=verify_registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verify_registry.js","sourceRoot":"","sources":["../../scripts/verify_registry.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":""}