@eventcatalog/core 3.35.0 → 3.36.1

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 (439) hide show
  1. package/dist/analytics/analytics.cjs +1 -1
  2. package/dist/analytics/analytics.js +2 -2
  3. package/dist/analytics/log-build.cjs +1 -1
  4. package/dist/analytics/log-build.js +3 -3
  5. package/dist/{chunk-LUWCWNOR.js → chunk-6D65JSOA.js} +1 -1
  6. package/dist/{chunk-NEWQKEP7.js → chunk-C7JCOHTI.js} +1 -1
  7. package/dist/chunk-D6IBLY3O.js +320 -0
  8. package/dist/{chunk-Y5O6SCX3.js → chunk-HDENGAZL.js} +1 -1
  9. package/dist/{chunk-DFLUDECO.js → chunk-UJ7DX4SA.js} +3 -3
  10. package/dist/{chunk-3KXCGYET.js → chunk-ULZYHF3V.js} +5 -0
  11. package/dist/{chunk-B2LDVIVY.js → chunk-V22QY5Q3.js} +1 -1
  12. package/dist/constants.cjs +1 -1
  13. package/dist/constants.js +1 -1
  14. package/dist/docs/api/01-overview.md +74 -0
  15. package/dist/docs/api/02-config.md +959 -0
  16. package/dist/docs/api/03-domain-api.md +394 -0
  17. package/dist/docs/api/04-service-api.md +368 -0
  18. package/dist/docs/api/05-command-api.md +319 -0
  19. package/dist/docs/api/06-event-api.md +318 -0
  20. package/dist/docs/api/06-query-api.md +316 -0
  21. package/dist/docs/api/08-channel-api.md +317 -0
  22. package/dist/docs/api/08-code-blocks.md +53 -0
  23. package/dist/docs/api/09-flow-api.md +362 -0
  24. package/dist/docs/api/10-entity-api.md +285 -0
  25. package/dist/docs/api/11-data-api.md +268 -0
  26. package/dist/docs/api/12-data-product-api.md +416 -0
  27. package/dist/docs/api/_category_.json +12 -0
  28. package/dist/docs/cli/channels.md +180 -0
  29. package/dist/docs/cli/commands.md +183 -0
  30. package/dist/docs/cli/custom-docs.md +78 -0
  31. package/dist/docs/cli/data-products.md +177 -0
  32. package/dist/docs/cli/data-stores.md +166 -0
  33. package/dist/docs/cli/diagrams.md +147 -0
  34. package/dist/docs/cli/domains.md +280 -0
  35. package/dist/docs/cli/entities.md +138 -0
  36. package/dist/docs/cli/events.md +186 -0
  37. package/dist/docs/cli/export.md +27 -0
  38. package/dist/docs/cli/governance.md +24 -0
  39. package/dist/docs/cli/import.md +26 -0
  40. package/dist/docs/cli/index.md +121 -0
  41. package/dist/docs/cli/messages.md +69 -0
  42. package/dist/docs/cli/queries.md +183 -0
  43. package/dist/docs/cli/services.md +266 -0
  44. package/dist/docs/cli/snapshots.md +44 -0
  45. package/dist/docs/cli/teams.md +75 -0
  46. package/dist/docs/cli/users.md +75 -0
  47. package/dist/docs/cli/utilities.md +43 -0
  48. package/dist/docs/contributing/01-overview.md +186 -0
  49. package/dist/docs/contributing/_category_.json +12 -0
  50. package/dist/docs/development/00-why-eventcatalog.md +87 -0
  51. package/dist/docs/development/01-fundamentals.md +34 -0
  52. package/dist/docs/development/01-getting-started/_category_.json +12 -0
  53. package/dist/docs/development/01-getting-started/configuration-overview.md +124 -0
  54. package/dist/docs/development/01-getting-started/develop-and-build.md +71 -0
  55. package/dist/docs/development/01-getting-started/installation.md +103 -0
  56. package/dist/docs/development/01-getting-started/project-structure.md +269 -0
  57. package/dist/docs/development/_category_.json +12 -0
  58. package/dist/docs/development/_getting-started.mdx +15 -0
  59. package/dist/docs/development/agent-resources/_category_.json +6 -0
  60. package/dist/docs/development/agent-resources/eventcatalog-skills.md +17 -0
  61. package/dist/docs/development/agent-resources/llms-full.md +17 -0
  62. package/dist/docs/development/agent-resources/llms.md +17 -0
  63. package/dist/docs/development/ask-your-architecture/01-intro.md +89 -0
  64. package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/01-what-is-eventcatalog-assistant.md +23 -0
  65. package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/02-configuration.md +72 -0
  66. package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/03-bring-your-own-tools.md +385 -0
  67. package/dist/docs/development/ask-your-architecture/02-eventcatalog-assistant/_category_.json +11 -0
  68. package/dist/docs/development/ask-your-architecture/03-mcp-server/_category_.json +12 -0
  69. package/dist/docs/development/ask-your-architecture/03-mcp-server/getting-started.md +216 -0
  70. package/dist/docs/development/ask-your-architecture/03-mcp-server/introduction.md +47 -0
  71. package/dist/docs/development/ask-your-architecture/04-skills/01-introduction.md +40 -0
  72. package/dist/docs/development/ask-your-architecture/04-skills/02-installation.md +60 -0
  73. package/dist/docs/development/ask-your-architecture/04-skills/_category_.json +11 -0
  74. package/dist/docs/development/ask-your-architecture/05-slack-integration/01-introduction.md +63 -0
  75. package/dist/docs/development/ask-your-architecture/05-slack-integration/02-slack-app-setup.md +154 -0
  76. package/dist/docs/development/ask-your-architecture/05-slack-integration/03-installation.md +169 -0
  77. package/dist/docs/development/ask-your-architecture/05-slack-integration/04-deployment.md +236 -0
  78. package/dist/docs/development/ask-your-architecture/05-slack-integration/05-usage.md +140 -0
  79. package/dist/docs/development/ask-your-architecture/05-slack-integration/06-troubleshooting.md +268 -0
  80. package/dist/docs/development/ask-your-architecture/05-slack-integration/_category_.json +12 -0
  81. package/dist/docs/development/ask-your-architecture/_category_.json +12 -0
  82. package/dist/docs/development/authentication/01-introduction.md +78 -0
  83. package/dist/docs/development/authentication/02-enabling-authentication.md +152 -0
  84. package/dist/docs/development/authentication/07-rbac-middleware.md +269 -0
  85. package/dist/docs/development/authentication/_category_.json +11 -0
  86. package/dist/docs/development/authentication/providers/03-setting-up-github.md +83 -0
  87. package/dist/docs/development/authentication/providers/03a-setting-up-google.md +92 -0
  88. package/dist/docs/development/authentication/providers/04-setting-up-azure-ad.md +100 -0
  89. package/dist/docs/development/authentication/providers/05-setting-up-okta.md +105 -0
  90. package/dist/docs/development/authentication/providers/06-setting-up-auth0.md +106 -0
  91. package/dist/docs/development/authentication/providers/_category_.json +11 -0
  92. package/dist/docs/development/bring-your-own-documentation/01-introduction.md +48 -0
  93. package/dist/docs/development/bring-your-own-documentation/_category_.json +12 -0
  94. package/dist/docs/development/bring-your-own-documentation/custom-pages/01-introduction.md +60 -0
  95. package/dist/docs/development/bring-your-own-documentation/custom-pages/02-adding-custom-docs.md +207 -0
  96. package/dist/docs/development/bring-your-own-documentation/custom-pages/03-components.md +46 -0
  97. package/dist/docs/development/bring-your-own-documentation/custom-pages/04-owners.md +45 -0
  98. package/dist/docs/development/bring-your-own-documentation/custom-pages/_category_.json +11 -0
  99. package/dist/docs/development/bring-your-own-documentation/resource-docs/01-introduction.md +34 -0
  100. package/dist/docs/development/bring-your-own-documentation/resource-docs/02-adding-resource-docs.md +143 -0
  101. package/dist/docs/development/bring-your-own-documentation/resource-docs/03-categories.md +68 -0
  102. package/dist/docs/development/bring-your-own-documentation/resource-docs/04-versioning.md +45 -0
  103. package/dist/docs/development/bring-your-own-documentation/resource-docs/_category_.json +11 -0
  104. package/dist/docs/development/components/04-snippets.md +134 -0
  105. package/dist/docs/development/components/05-using-components.md +67 -0
  106. package/dist/docs/development/components/07-resource-references.md +136 -0
  107. package/dist/docs/development/components/_category_.json +12 -0
  108. package/dist/docs/development/components/components/01-accordian.md +41 -0
  109. package/dist/docs/development/components/components/02-accordian-group.md +57 -0
  110. package/dist/docs/development/components/components/03-admonitions.md +43 -0
  111. package/dist/docs/development/components/components/04-attachments.md +56 -0
  112. package/dist/docs/development/components/components/05-channel-information.md +29 -0
  113. package/dist/docs/development/components/components/06-design.md +66 -0
  114. package/dist/docs/development/components/components/07-entitymap.md +71 -0
  115. package/dist/docs/development/components/components/08-flow.md +46 -0
  116. package/dist/docs/development/components/components/09-link.md +32 -0
  117. package/dist/docs/development/components/components/10-mermaid-file-loader.md +63 -0
  118. package/dist/docs/development/components/components/11-message-table.md +43 -0
  119. package/dist/docs/development/components/components/12-nodegraph.md +167 -0
  120. package/dist/docs/development/components/components/13-openapi.md +55 -0
  121. package/dist/docs/development/components/components/14-prompt.md +69 -0
  122. package/dist/docs/development/components/components/15-remote-schema.md +174 -0
  123. package/dist/docs/development/components/components/16-resource-group-table.md +86 -0
  124. package/dist/docs/development/components/components/17-resource-link.md +57 -0
  125. package/dist/docs/development/components/components/18-schema.md +44 -0
  126. package/dist/docs/development/components/components/19-schema-viewer.md +69 -0
  127. package/dist/docs/development/components/components/20-steps.md +83 -0
  128. package/dist/docs/development/components/components/21-tabs.md +55 -0
  129. package/dist/docs/development/components/components/22-tiles.md +53 -0
  130. package/dist/docs/development/components/components/23-visibility.md +61 -0
  131. package/dist/docs/development/components/components/_category_.json +12 -0
  132. package/dist/docs/development/components/diagram-syntax/01-mermaid.md +218 -0
  133. package/dist/docs/development/components/diagram-syntax/02-plantuml.md +140 -0
  134. package/dist/docs/development/components/diagram-syntax/03-structurizr.md +24 -0
  135. package/dist/docs/development/components/diagram-syntax/04-icepanel.md +75 -0
  136. package/dist/docs/development/components/diagram-syntax/_category_.json +12 -0
  137. package/dist/docs/development/components/external-diagram-embeds/01-miro.md +64 -0
  138. package/dist/docs/development/components/external-diagram-embeds/02-lucid.md +47 -0
  139. package/dist/docs/development/components/external-diagram-embeds/03-drawio.md +46 -0
  140. package/dist/docs/development/components/external-diagram-embeds/04-figjam.md +44 -0
  141. package/dist/docs/development/components/external-diagram-embeds/05-icepanel.md +68 -0
  142. package/dist/docs/development/components/external-diagram-embeds/_category_.json +12 -0
  143. package/dist/docs/development/customization/01-customize-landing-page.md +155 -0
  144. package/dist/docs/development/customization/02-themes.md +429 -0
  145. package/dist/docs/development/customization/03-search.md +79 -0
  146. package/dist/docs/development/customization/06-customize-tables.md +194 -0
  147. package/dist/docs/development/customization/_category_.json +12 -0
  148. package/dist/docs/development/customization/custom-components/00-what-is-mdx.md +73 -0
  149. package/dist/docs/development/customization/custom-components/01-introduction.md +28 -0
  150. package/dist/docs/development/customization/custom-components/02-adding-components.md +145 -0
  151. package/dist/docs/development/customization/custom-components/03-component-styling.md +27 -0
  152. package/dist/docs/development/customization/custom-components/04-javascript-components.md +32 -0
  153. package/dist/docs/development/customization/custom-components/_category_.json +11 -0
  154. package/dist/docs/development/customization/customize-sidebars/00-application-sidebar.md +45 -0
  155. package/dist/docs/development/customization/customize-sidebars/01-documentation-sidebar.md +187 -0
  156. package/dist/docs/development/customization/customize-sidebars/_category_.json +11 -0
  157. package/dist/docs/development/customization/customize-visualizer/00-visualizer-nodes.md +50 -0
  158. package/dist/docs/development/customization/customize-visualizer/_category_.json +11 -0
  159. package/dist/docs/development/deployment/_category_.json +12 -0
  160. package/dist/docs/development/deployment/build-and-deploy.md +71 -0
  161. package/dist/docs/development/deployment/build-ssr-mode.md +50 -0
  162. package/dist/docs/development/deployment/deployment-workflows.md +43 -0
  163. package/dist/docs/development/deployment/hosting-options.md +112 -0
  164. package/dist/docs/development/deployment/licenses.md +50 -0
  165. package/dist/docs/development/design/_category_.json +12 -0
  166. package/dist/docs/development/design/embed-designs-into-eventcatalog.md +29 -0
  167. package/dist/docs/development/design/further-reading.md +19 -0
  168. package/dist/docs/development/design/import-resources.md +27 -0
  169. package/dist/docs/development/design/intro.md +22 -0
  170. package/dist/docs/development/developer-tools/_category_.json +12 -0
  171. package/dist/docs/development/developer-tools/eventcatalog-linter.md +597 -0
  172. package/dist/docs/development/developer-tools/github-action.md +147 -0
  173. package/dist/docs/development/developer-tools/llms.txt.md +55 -0
  174. package/dist/docs/development/developer-tools/schemas.txt.md +42 -0
  175. package/dist/docs/development/governance/_category_.json +6 -0
  176. package/dist/docs/development/governance/architecture-change-detection/01-introduction.md +62 -0
  177. package/dist/docs/development/governance/architecture-change-detection/02-configuration.md +134 -0
  178. package/dist/docs/development/governance/architecture-change-detection/03-recipes.md +309 -0
  179. package/dist/docs/development/governance/architecture-change-detection/04-webhooks.md +187 -0
  180. package/dist/docs/development/governance/architecture-change-detection/05-ci-cd.md +121 -0
  181. package/dist/docs/development/governance/architecture-change-detection/06-pipeline-gates.md +162 -0
  182. package/dist/docs/development/governance/architecture-change-detection/_category_.json +6 -0
  183. package/dist/docs/development/guides/12-customize-your-sidebar.md +12 -0
  184. package/dist/docs/development/guides/99-adding-analytics.md +138 -0
  185. package/dist/docs/development/guides/_category_.json +11 -0
  186. package/dist/docs/development/guides/changelogs/01-introduction.md +33 -0
  187. package/dist/docs/development/guides/changelogs/02-adding-changelogs.md +94 -0
  188. package/dist/docs/development/guides/changelogs/03-automated-changelogs.md +44 -0
  189. package/dist/docs/development/guides/changelogs/_category_.json +11 -0
  190. package/dist/docs/development/guides/channels/01-introduction.md +111 -0
  191. package/dist/docs/development/guides/channels/02-adding-channels.md +198 -0
  192. package/dist/docs/development/guides/channels/04-adding-messages-to-services.md +292 -0
  193. package/dist/docs/development/guides/channels/09-configuration +39 -0
  194. package/dist/docs/development/guides/channels/_category_.json +11 -0
  195. package/dist/docs/development/guides/channels/ownership-and-components/01-owners.md +44 -0
  196. package/dist/docs/development/guides/channels/ownership-and-components/02-components.md +16 -0
  197. package/dist/docs/development/guides/channels/ownership-and-components/_category_.json +11 -0
  198. package/dist/docs/development/guides/channels/versioning-and-lifecycle/01-versioning.md +31 -0
  199. package/dist/docs/development/guides/channels/versioning-and-lifecycle/02-changelog.md +56 -0
  200. package/dist/docs/development/guides/channels/versioning-and-lifecycle/_category_.json +11 -0
  201. package/dist/docs/development/guides/data/01-introduction.md +34 -0
  202. package/dist/docs/development/guides/data/02-adding-data.md +86 -0
  203. package/dist/docs/development/guides/data/03a-adding-schemas-to-data-stores.md +73 -0
  204. package/dist/docs/development/guides/data/_category_.json +11 -0
  205. package/dist/docs/development/guides/data/ownership-and-components/01-owners.md +45 -0
  206. package/dist/docs/development/guides/data/ownership-and-components/02-components.md +17 -0
  207. package/dist/docs/development/guides/data/ownership-and-components/_category_.json +11 -0
  208. package/dist/docs/development/guides/data/versioning-and-lifecycle/01-versioning.md +32 -0
  209. package/dist/docs/development/guides/data/versioning-and-lifecycle/02-changelog.md +57 -0
  210. package/dist/docs/development/guides/data/versioning-and-lifecycle/03-deprecating.md +71 -0
  211. package/dist/docs/development/guides/data/versioning-and-lifecycle/_category_.json +11 -0
  212. package/dist/docs/development/guides/data-products/01-introduction.md +116 -0
  213. package/dist/docs/development/guides/data-products/02-adding-data-products.md +157 -0
  214. package/dist/docs/development/guides/data-products/03-inputs-and-outputs.md +128 -0
  215. package/dist/docs/development/guides/data-products/04-contracts.md +102 -0
  216. package/dist/docs/development/guides/data-products/05-versioning.md +240 -0
  217. package/dist/docs/development/guides/data-products/06-adding-to-domains.md +52 -0
  218. package/dist/docs/development/guides/data-products/_category_.json +11 -0
  219. package/dist/docs/development/guides/diagrams/01-introduction.md +78 -0
  220. package/dist/docs/development/guides/diagrams/02-creating-diagrams.md +195 -0
  221. package/dist/docs/development/guides/diagrams/03-referencing-diagrams.md +195 -0
  222. package/dist/docs/development/guides/diagrams/04-versioning-diagrams.md +204 -0
  223. package/dist/docs/development/guides/diagrams/05-comparing-diagrams.md +145 -0
  224. package/dist/docs/development/guides/diagrams/06-diagrams-with-llms.md +165 -0
  225. package/dist/docs/development/guides/diagrams/_category_.json +10 -0
  226. package/dist/docs/development/guides/domains/01-introduction.md +22 -0
  227. package/dist/docs/development/guides/domains/02-creating-domains/02-adding-domains.md +108 -0
  228. package/dist/docs/development/guides/domains/02-creating-domains/02a-subdomains.md +84 -0
  229. package/dist/docs/development/guides/domains/02-creating-domains/03-adding-services-to-domains.md +90 -0
  230. package/dist/docs/development/guides/domains/02-creating-domains/04-adding-messages-to-domains.md +107 -0
  231. package/dist/docs/development/guides/domains/02-creating-domains/05-adding-data-products-to-domains.md +105 -0
  232. package/dist/docs/development/guides/domains/02-creating-domains/_category_.json +11 -0
  233. package/dist/docs/development/guides/domains/03-ownership-and-language/01-owners.md +36 -0
  234. package/dist/docs/development/guides/domains/03-ownership-and-language/02-adding-ubiquitous-language.md +75 -0
  235. package/dist/docs/development/guides/domains/03-ownership-and-language/_category_.json +10 -0
  236. package/dist/docs/development/guides/domains/04-versioning-and-changelogs/01-versioning.md +40 -0
  237. package/dist/docs/development/guides/domains/04-versioning-and-changelogs/02-changelog.md +53 -0
  238. package/dist/docs/development/guides/domains/04-versioning-and-changelogs/_category_.json +10 -0
  239. package/dist/docs/development/guides/domains/05-entities/01-introduction.md +24 -0
  240. package/dist/docs/development/guides/domains/05-entities/02-adding-entities.md +157 -0
  241. package/dist/docs/development/guides/domains/05-entities/03-adding-entities-to-domains.md +30 -0
  242. package/dist/docs/development/guides/domains/05-entities/04-domain-entity-map.md +134 -0
  243. package/dist/docs/development/guides/domains/05-entities/_category_.json +11 -0
  244. package/dist/docs/development/guides/domains/08-domain-integration-map.md +41 -0
  245. package/dist/docs/development/guides/domains/_category_.json +11 -0
  246. package/dist/docs/development/guides/flows/01-introduction.md +36 -0
  247. package/dist/docs/development/guides/flows/02-adding-flows.md +198 -0
  248. package/dist/docs/development/guides/flows/03-flow-nodes.md +273 -0
  249. package/dist/docs/development/guides/flows/04-adding-flows-to-services.md +42 -0
  250. package/dist/docs/development/guides/flows/05-adding-flows-to-domains.md +43 -0
  251. package/dist/docs/development/guides/flows/06-versioning.md +27 -0
  252. package/dist/docs/development/guides/flows/07-create-flow-with-ai.md +171 -0
  253. package/dist/docs/development/guides/flows/_category_.json +11 -0
  254. package/dist/docs/development/guides/messages/01-overview.md +57 -0
  255. package/dist/docs/development/guides/messages/_category_.json +11 -0
  256. package/dist/docs/development/guides/messages/commands/01-introduction.md +26 -0
  257. package/dist/docs/development/guides/messages/commands/02-adding-commands.md +131 -0
  258. package/dist/docs/development/guides/messages/commands/_category_.json +11 -0
  259. package/dist/docs/development/guides/messages/common/01-map-to-producers-and-consumers.md +37 -0
  260. package/dist/docs/development/guides/messages/common/02-adding-schemas.md +58 -0
  261. package/dist/docs/development/guides/messages/common/02-deprecating.md +71 -0
  262. package/dist/docs/development/guides/messages/common/02-draft-messages.md +63 -0
  263. package/dist/docs/development/guides/messages/common/02-examples.md +99 -0
  264. package/dist/docs/development/guides/messages/common/03-owners.md +40 -0
  265. package/dist/docs/development/guides/messages/common/04-versioning.md +27 -0
  266. package/dist/docs/development/guides/messages/common/05-changelog.md +73 -0
  267. package/dist/docs/development/guides/messages/common/07-components.md +12 -0
  268. package/dist/docs/development/guides/messages/common/08-shared-messages-across-boundaries.md +70 -0
  269. package/dist/docs/development/guides/messages/common/09-grouping-messages.md +98 -0
  270. package/dist/docs/development/guides/messages/common/_category_.json +11 -0
  271. package/dist/docs/development/guides/messages/events/01-introduction.md +25 -0
  272. package/dist/docs/development/guides/messages/events/02-adding-events.md +130 -0
  273. package/dist/docs/development/guides/messages/events/_category_.json +11 -0
  274. package/dist/docs/development/guides/messages/queries/01-introduction.md +25 -0
  275. package/dist/docs/development/guides/messages/queries/02-adding-queries.md +130 -0
  276. package/dist/docs/development/guides/messages/queries/_category_.json +11 -0
  277. package/dist/docs/development/guides/owners/_category_.json +11 -0
  278. package/dist/docs/development/guides/owners/teams/01-introduction.md +21 -0
  279. package/dist/docs/development/guides/owners/teams/02-adding-teams.md +73 -0
  280. package/dist/docs/development/guides/owners/teams/_category_.json +11 -0
  281. package/dist/docs/development/guides/owners/users/01-introduction.md +20 -0
  282. package/dist/docs/development/guides/owners/users/02-adding-users.md +70 -0
  283. package/dist/docs/development/guides/owners/users/_category_.json +11 -0
  284. package/dist/docs/development/guides/schemas/01-introduction.md +64 -0
  285. package/dist/docs/development/guides/schemas/02-schema-explorer.md +74 -0
  286. package/dist/docs/development/guides/schemas/03-schema-api.md +59 -0
  287. package/dist/docs/development/guides/schemas/04-schema-mcp.md +22 -0
  288. package/dist/docs/development/guides/schemas/05-field-usage.md +120 -0
  289. package/dist/docs/development/guides/schemas/06-fields-explorer.md +120 -0
  290. package/dist/docs/development/guides/schemas/_category_.json +11 -0
  291. package/dist/docs/development/guides/services/01-introduction.md +33 -0
  292. package/dist/docs/development/guides/services/02-adding-services.md +113 -0
  293. package/dist/docs/development/guides/services/03-creating-external-systems.md +71 -0
  294. package/dist/docs/development/guides/services/_category_.json +11 -0
  295. package/dist/docs/development/guides/services/adding-to-services/01-messages.md +229 -0
  296. package/dist/docs/development/guides/services/adding-to-services/02-datastores.md +77 -0
  297. package/dist/docs/development/guides/services/adding-to-services/03-entities.md +47 -0
  298. package/dist/docs/development/guides/services/adding-to-services/04-openapi.md +97 -0
  299. package/dist/docs/development/guides/services/adding-to-services/05-asyncapi.md +97 -0
  300. package/dist/docs/development/guides/services/adding-to-services/06-graphql.md +96 -0
  301. package/dist/docs/development/guides/services/adding-to-services/_category_.json +10 -0
  302. package/dist/docs/development/guides/services/ownership-and-components/01-owners.md +41 -0
  303. package/dist/docs/development/guides/services/ownership-and-components/02-components.md +13 -0
  304. package/dist/docs/development/guides/services/ownership-and-components/_category_.json +11 -0
  305. package/dist/docs/development/guides/services/versioning-and-lifecycle/01-versioning.md +27 -0
  306. package/dist/docs/development/guides/services/versioning-and-lifecycle/02-changelog.md +52 -0
  307. package/dist/docs/development/guides/services/versioning-and-lifecycle/03-deprecating.md +70 -0
  308. package/dist/docs/development/guides/services/versioning-and-lifecycle/_category_.json +11 -0
  309. package/dist/docs/development/upgrading/_category_.json +12 -0
  310. package/dist/docs/development/upgrading/upgrading.md +142 -0
  311. package/dist/docs/development/upgrading/v2.md +69 -0
  312. package/dist/docs/development/upgrading/v3.md +277 -0
  313. package/dist/docs/miro/_category_.json +12 -0
  314. package/dist/docs/miro/contributing/01-getting-involved.md +53 -0
  315. package/dist/docs/miro/contributing/_category_.json +11 -0
  316. package/dist/docs/miro/getting-started/01-overview.md +63 -0
  317. package/dist/docs/miro/getting-started/02-installation.md +37 -0
  318. package/dist/docs/miro/getting-started/03-connecting-to-eventcatalog.md +59 -0
  319. package/dist/docs/miro/getting-started/_category_.json +11 -0
  320. package/dist/docs/miro/guides/01-adding-resources-to-board.md +90 -0
  321. package/dist/docs/miro/guides/02-creating-new-resources.md +61 -0
  322. package/dist/docs/miro/guides/03-editing-resources.md +50 -0
  323. package/dist/docs/miro/guides/04-connected-resources.md +54 -0
  324. package/dist/docs/miro/guides/05-services-and-dependencies.md +54 -0
  325. package/dist/docs/miro/guides/06-navigating-the-board.md +44 -0
  326. package/dist/docs/miro/guides/07-exporting-to-eventcatalog.md +75 -0
  327. package/dist/docs/miro/guides/_category_.json +11 -0
  328. package/dist/docs/miro/specifications/01-asyncapi.md +86 -0
  329. package/dist/docs/miro/specifications/02-openapi.md +86 -0
  330. package/dist/docs/miro/specifications/03-schema-registries.md +88 -0
  331. package/dist/docs/miro/specifications/_category_.json +11 -0
  332. package/dist/docs/miro/using-ai/01-overview.md +105 -0
  333. package/dist/docs/miro/using-ai/_category_.json +11 -0
  334. package/dist/docs/plugins/01-intro.md +49 -0
  335. package/dist/docs/plugins/02-generators.md +76 -0
  336. package/dist/docs/plugins/03-all-plugins.md +26 -0
  337. package/dist/docs/plugins/_category_.json +12 -0
  338. package/dist/docs/plugins/amazon-apigateway/00-intro.md +75 -0
  339. package/dist/docs/plugins/amazon-apigateway/01-installation.md +198 -0
  340. package/dist/docs/plugins/amazon-apigateway/02-plugin-configuration.md +136 -0
  341. package/dist/docs/plugins/amazon-apigateway/03-features.md +71 -0
  342. package/dist/docs/plugins/amazon-apigateway/04-examples.md +15 -0
  343. package/dist/docs/plugins/amazon-apigateway/_category_.json +11 -0
  344. package/dist/docs/plugins/apicurio/00-intro.md +102 -0
  345. package/dist/docs/plugins/apicurio/01-installation.md +165 -0
  346. package/dist/docs/plugins/apicurio/02-plugin-configuration.md +682 -0
  347. package/dist/docs/plugins/apicurio/03-features.md +221 -0
  348. package/dist/docs/plugins/apicurio/04-examples.md +20 -0
  349. package/dist/docs/plugins/apicurio/_category_.json +12 -0
  350. package/dist/docs/plugins/asyncapi/00-intro.md +81 -0
  351. package/dist/docs/plugins/asyncapi/01-installation.md +155 -0
  352. package/dist/docs/plugins/asyncapi/02-plugin-configuration.md +312 -0
  353. package/dist/docs/plugins/asyncapi/03-features.md +698 -0
  354. package/dist/docs/plugins/asyncapi/03a-workflows.md +153 -0
  355. package/dist/docs/plugins/asyncapi/04-examples.md +23 -0
  356. package/dist/docs/plugins/asyncapi/04-using-reference-objects.md +45 -0
  357. package/dist/docs/plugins/asyncapi/_category_.json +12 -0
  358. package/dist/docs/plugins/aws-glue-registry/00-intro.md +104 -0
  359. package/dist/docs/plugins/aws-glue-registry/00a-installation.md +305 -0
  360. package/dist/docs/plugins/aws-glue-registry/01-features.md +287 -0
  361. package/dist/docs/plugins/aws-glue-registry/02-examples.md +368 -0
  362. package/dist/docs/plugins/aws-glue-registry/03-api.md +282 -0
  363. package/dist/docs/plugins/aws-glue-registry/_category_.json +11 -0
  364. package/dist/docs/plugins/azure-schema-registry/00-intro.md +92 -0
  365. package/dist/docs/plugins/azure-schema-registry/01-installation.md +409 -0
  366. package/dist/docs/plugins/azure-schema-registry/02-plugin-configuration.md +375 -0
  367. package/dist/docs/plugins/azure-schema-registry/03-features.md +347 -0
  368. package/dist/docs/plugins/azure-schema-registry/04-examples.md +378 -0
  369. package/dist/docs/plugins/azure-schema-registry/_category_.json +12 -0
  370. package/dist/docs/plugins/backstage/00-intro.md +67 -0
  371. package/dist/docs/plugins/backstage/01-installation.md +250 -0
  372. package/dist/docs/plugins/backstage/02-api.md +51 -0
  373. package/dist/docs/plugins/backstage/03-examples.md +12 -0
  374. package/dist/docs/plugins/backstage/_category_.json +11 -0
  375. package/dist/docs/plugins/confluent-schema-registry/00-intro.md +90 -0
  376. package/dist/docs/plugins/confluent-schema-registry/01-installation.md +223 -0
  377. package/dist/docs/plugins/confluent-schema-registry/02-plugin-configuration.md +473 -0
  378. package/dist/docs/plugins/confluent-schema-registry/03-features.md +43 -0
  379. package/dist/docs/plugins/confluent-schema-registry/04-examples.md +19 -0
  380. package/dist/docs/plugins/confluent-schema-registry/_category_.json +12 -0
  381. package/dist/docs/plugins/eventbridge/00-intro.md +55 -0
  382. package/dist/docs/plugins/eventbridge/00a-installation.md +317 -0
  383. package/dist/docs/plugins/eventbridge/01-features.md +225 -0
  384. package/dist/docs/plugins/eventbridge/02-examples.md +17 -0
  385. package/dist/docs/plugins/eventbridge/03-api.md +441 -0
  386. package/dist/docs/plugins/eventbridge/03a-workflows.md +133 -0
  387. package/dist/docs/plugins/eventbridge/_category_.json +11 -0
  388. package/dist/docs/plugins/eventcatalog-federation/00-introduction.md +69 -0
  389. package/dist/docs/plugins/eventcatalog-federation/01-installation.md +182 -0
  390. package/dist/docs/plugins/eventcatalog-federation/02-plugin-configuration.md +208 -0
  391. package/dist/docs/plugins/eventcatalog-federation/03-examples.md +15 -0
  392. package/dist/docs/plugins/eventcatalog-federation/04-configuration.md +193 -0
  393. package/dist/docs/plugins/eventcatalog-federation/05-setup-team-catalog.md +97 -0
  394. package/dist/docs/plugins/eventcatalog-federation/_category_.json +11 -0
  395. package/dist/docs/plugins/github/00-intro.md +93 -0
  396. package/dist/docs/plugins/github/01-installation.md +293 -0
  397. package/dist/docs/plugins/github/02-plugin-configuration.md +253 -0
  398. package/dist/docs/plugins/github/03-features.md +42 -0
  399. package/dist/docs/plugins/github/04-examples.md +17 -0
  400. package/dist/docs/plugins/github/_category_.json +12 -0
  401. package/dist/docs/plugins/graphql/00-intro.md +74 -0
  402. package/dist/docs/plugins/graphql/01-installation.md +144 -0
  403. package/dist/docs/plugins/graphql/02-plugin-configuration.md +127 -0
  404. package/dist/docs/plugins/graphql/03-features.md +197 -0
  405. package/dist/docs/plugins/graphql/04-examples.md +15 -0
  406. package/dist/docs/plugins/graphql/_category_.json +12 -0
  407. package/dist/docs/plugins/hookdeck/01-intro.md +152 -0
  408. package/dist/docs/plugins/hookdeck/02-api.md +133 -0
  409. package/dist/docs/plugins/hookdeck/03-cli.md +45 -0
  410. package/dist/docs/plugins/hookdeck/_category_.json +11 -0
  411. package/dist/docs/plugins/openapi/00-intro.md +78 -0
  412. package/dist/docs/plugins/openapi/01-installation.md +148 -0
  413. package/dist/docs/plugins/openapi/02-plugin-configuration.md +332 -0
  414. package/dist/docs/plugins/openapi/03-features.md +790 -0
  415. package/dist/docs/plugins/openapi/03a-workflows.md +153 -0
  416. package/dist/docs/plugins/openapi/04-examples.md +23 -0
  417. package/dist/docs/plugins/openapi/_category_.json +12 -0
  418. package/dist/eventcatalog.cjs +434 -35
  419. package/dist/eventcatalog.config.d.cts +8 -0
  420. package/dist/eventcatalog.config.d.ts +8 -0
  421. package/dist/eventcatalog.js +87 -10
  422. package/dist/features.cjs +6 -0
  423. package/dist/features.d.cts +2 -1
  424. package/dist/features.d.ts +2 -1
  425. package/dist/features.js +3 -1
  426. package/dist/generate.cjs +1 -1
  427. package/dist/generate.js +3 -3
  428. package/dist/search-indexer.cjs +356 -0
  429. package/dist/search-indexer.d.cts +30 -0
  430. package/dist/search-indexer.d.ts +30 -0
  431. package/dist/search-indexer.js +10 -0
  432. package/dist/utils/cli-logger.cjs +1 -1
  433. package/dist/utils/cli-logger.js +2 -2
  434. package/eventcatalog/astro.config.mjs +28 -32
  435. package/eventcatalog/src/components/Search/SearchModal.tsx +248 -148
  436. package/eventcatalog/src/components/Search/search-utils.spec.ts +138 -1
  437. package/eventcatalog/src/components/Search/search-utils.ts +271 -0
  438. package/eventcatalog/src/env.d.ts +1 -0
  439. package/package.json +4 -3
@@ -0,0 +1,385 @@
1
+ ---
2
+ sidebar_position: 3
3
+ keywords:
4
+ - EventCatalog Assistant
5
+ - Custom Tools
6
+ - AI Tools
7
+ - Runtime Data
8
+ - Metrics
9
+ sidebar_label: Custom Tools
10
+ title: Custom Tools
11
+ description: Extend EventCatalog Assistant with custom tools to bring real-time data, metrics, and integrations into your architecture conversations
12
+ ---
13
+
14
+ import PlanBanner from '@site/src/components/MDX/PlanBanner';
15
+ import AddedIn from '@site/src/components/MDX/AddedIn';
16
+
17
+ <AddedIn version="3.2.0" />
18
+
19
+ <PlanBanner plan="Scale" />
20
+
21
+ EventCatalog Assistant comes with built-in tools that allow the AI to search and understand your architecture documentation. But what if you could go beyond static documentation and bring **real-time data** directly into your conversations?
22
+
23
+ With custom tools, you can extend the assistant to query your production metrics, check service health, look up on-call engineers, fetch data from your databases, and much more.
24
+
25
+ ## Why custom tools?
26
+
27
+ Your architecture documentation tells part of the story, but the real value often lies in the runtime data:
28
+
29
+ - **Production metrics** - How many events per second? What's the error rate?
30
+ - **Service health** - Is OrderService healthy right now?
31
+ - **Queue depths** - Are there any event backlogs building up?
32
+ - **On-call information** - Who should I contact about PaymentService?
33
+ - **Database queries** - What's the current state of this entity?
34
+ - **External APIs** - Enrich answers with data from Datadog, PagerDuty, Jira, etc.
35
+
36
+ Custom tools transform EventCatalog from a static documentation site into a **live knowledge hub** where developers can ask questions like:
37
+
38
+ > "Is OrderService healthy and who should I contact if there's an issue?"
39
+
40
+ And get real answers based on live data.
41
+
42
+ ## How it works
43
+
44
+ Custom tools are defined in your `eventcatalog.chat.js` file alongside your model configuration. Each tool has:
45
+
46
+ 1. **A description** - Tells the AI when to use this tool
47
+ 2. **An input schema** - Defines what parameters the tool accepts (using Zod)
48
+ 3. **An execute function** - The code that runs when the tool is called
49
+
50
+ The AI automatically decides when to use your tools based on the user's question and the tool descriptions.
51
+
52
+ ## Creating custom tools
53
+
54
+ ### Basic example
55
+
56
+ Here's a simple tool that returns service health information:
57
+
58
+ ```js title="eventcatalog.chat.js"
59
+ import { anthropic } from '@ai-sdk/anthropic';
60
+ import { tool } from 'ai';
61
+ import { z } from 'zod';
62
+
63
+ // Export your model
64
+ export default async () => {
65
+ return anthropic('claude-haiku-4-5');
66
+ }
67
+
68
+ // Export custom tools
69
+ export const tools = {
70
+ getServiceHealth: tool({
71
+ description: 'Get the current health status of a service including uptime and active instances. Use this when users ask if a service is up, healthy, or having issues.',
72
+ inputSchema: z.object({
73
+ serviceName: z.string().describe('The name of the service to check health for'),
74
+ }),
75
+ execute: async ({ serviceName }) => {
76
+ // In production, query your monitoring system (Datadog, Prometheus, etc.)
77
+ const response = await fetch(`https://your-monitoring-api.com/health/${serviceName}`);
78
+ const health = await response.json();
79
+
80
+ return {
81
+ serviceName,
82
+ status: health.status,
83
+ uptime: health.uptime,
84
+ instances: health.activeInstances,
85
+ lastIncident: health.lastIncident,
86
+ };
87
+ },
88
+ }),
89
+ };
90
+ ```
91
+
92
+ ### The AI uses tools automatically
93
+
94
+ Once configured, the AI will automatically use your tools when relevant. If a user asks:
95
+
96
+ > "Is the OrderService healthy?"
97
+
98
+ The assistant will:
99
+ 1. Recognize this is a health-related question
100
+ 2. Call your `getServiceHealth` tool with `serviceName: "OrderService"`
101
+ 3. Use the returned data to formulate a helpful response
102
+
103
+ ## Example tools
104
+
105
+ ### Production metrics
106
+
107
+ Query real-time metrics from your observability platform:
108
+
109
+ ```js
110
+ getEventMetrics: tool({
111
+ description: 'Get real-time production metrics for an event including throughput, latency, and error rates. Use this when users ask about event performance, traffic, or production health.',
112
+ inputSchema: z.object({
113
+ eventId: z.string().describe('The event ID to get metrics for'),
114
+ timeRange: z.enum(['1h', '24h', '7d', '30d']).default('24h').describe('Time range for metrics'),
115
+ }),
116
+ execute: async ({ eventId, timeRange }) => {
117
+ // Query Datadog, Prometheus, CloudWatch, etc.
118
+ const metrics = await datadogClient.getMetrics(eventId, timeRange);
119
+
120
+ return {
121
+ eventId,
122
+ timeRange,
123
+ throughput: `${metrics.eventsPerSecond.toLocaleString()} events/sec`,
124
+ latency: {
125
+ p50: `${metrics.p50}ms`,
126
+ p99: `${metrics.p99}ms`,
127
+ },
128
+ errorRate: `${metrics.errorRate}%`,
129
+ status: metrics.errorRate > 0.1 ? 'degraded' : 'healthy',
130
+ };
131
+ },
132
+ }),
133
+ ```
134
+
135
+ ### On-call information
136
+
137
+ Look up who's on-call for a service:
138
+
139
+ ```js
140
+ getOnCall: tool({
141
+ description: 'Get the current on-call engineer and escalation contacts for a service. Use this when users ask who to contact, who owns a service, or who is on-call.',
142
+ inputSchema: z.object({
143
+ serviceName: z.string().describe('The name of the service to get on-call info for'),
144
+ }),
145
+ execute: async ({ serviceName }) => {
146
+ // Query PagerDuty, OpsGenie, or your internal system
147
+ const oncall = await pagerdutyClient.getOnCall(serviceName);
148
+
149
+ return {
150
+ serviceName,
151
+ team: oncall.team,
152
+ primary: {
153
+ name: oncall.primary.name,
154
+ email: oncall.primary.email,
155
+ slack: oncall.primary.slack,
156
+ },
157
+ secondary: oncall.secondary,
158
+ slackChannel: oncall.slackChannel,
159
+ escalationPolicy: oncall.escalationUrl,
160
+ };
161
+ },
162
+ }),
163
+ ```
164
+
165
+ ### Queue depth and consumer lag
166
+
167
+ Monitor your message brokers:
168
+
169
+ ```js
170
+ getQueueDepth: tool({
171
+ description: 'Get the current queue depth, consumer lag, and processing rate for an event. Use this when users ask about event backlogs, processing delays, or queue health.',
172
+ inputSchema: z.object({
173
+ eventId: z.string().describe('The event ID to check queue depth for'),
174
+ environment: z.enum(['production', 'staging', 'development']).default('production'),
175
+ }),
176
+ execute: async ({ eventId, environment }) => {
177
+ // Query Kafka, RabbitMQ, SQS, etc.
178
+ const queue = await kafkaClient.getConsumerLag(eventId, environment);
179
+
180
+ return {
181
+ eventId,
182
+ environment,
183
+ status: queue.lag > 30 ? 'critical' : queue.lag > 5 ? 'warning' : 'healthy',
184
+ queue: {
185
+ depth: queue.depth.toLocaleString(),
186
+ oldestMessage: `${queue.lag.toFixed(1)} seconds ago`,
187
+ },
188
+ consumers: {
189
+ active: queue.consumers,
190
+ processingRate: `${queue.rate.toLocaleString()} events/sec`,
191
+ },
192
+ };
193
+ },
194
+ }),
195
+ ```
196
+
197
+ ### Database queries
198
+
199
+ Look up entity state from your databases:
200
+
201
+ ```js
202
+ getEntityState: tool({
203
+ description: 'Get the current state of an entity from the database. Use this when users ask about the current state of an order, user, or other business entity.',
204
+ inputSchema: z.object({
205
+ entityType: z.enum(['order', 'user', 'product', 'inventory']),
206
+ entityId: z.string().describe('The ID of the entity to look up'),
207
+ }),
208
+ execute: async ({ entityType, entityId }) => {
209
+ // Query your database
210
+ const entity = await db.collection(entityType).findOne({ id: entityId });
211
+
212
+ return {
213
+ entityType,
214
+ entityId,
215
+ state: entity.state,
216
+ lastUpdated: entity.updatedAt,
217
+ history: entity.stateHistory?.slice(-5), // Last 5 state changes
218
+ };
219
+ },
220
+ }),
221
+ ```
222
+
223
+ ## Best practices
224
+
225
+ ### Write clear descriptions
226
+
227
+ The AI uses tool descriptions to decide when to call them. Be specific about:
228
+ - What the tool does
229
+ - When it should be used
230
+ - What kind of questions it answers
231
+
232
+ ```js
233
+ // ❌ Vague description
234
+ description: 'Gets metrics',
235
+
236
+ // ✅ Clear description
237
+ description: 'Get real-time production metrics for an event including throughput, latency, and error rates. Use this when users ask about event performance, traffic, or production health.',
238
+ ```
239
+
240
+ ### Return structured data
241
+
242
+ Return well-structured objects that the AI can easily interpret:
243
+
244
+ ```js
245
+ // ❌ Raw data dump
246
+ return rawApiResponse;
247
+
248
+ // ✅ Structured, meaningful data
249
+ return {
250
+ serviceName,
251
+ status: health.status,
252
+ statusEmoji: health.status === 'healthy' ? '✅' : '⚠️',
253
+ uptime: `${health.uptime}%`,
254
+ recommendation: health.status !== 'healthy'
255
+ ? 'Consider scaling up instances'
256
+ : 'No action needed',
257
+ };
258
+ ```
259
+
260
+ ### Handle errors gracefully
261
+
262
+ Always handle potential errors in your tools:
263
+
264
+ ```js
265
+ execute: async ({ serviceName }) => {
266
+ try {
267
+ const health = await monitoringApi.getHealth(serviceName);
268
+ return { serviceName, ...health };
269
+ } catch (error) {
270
+ return {
271
+ serviceName,
272
+ error: `Unable to fetch health data: ${error.message}`,
273
+ suggestion: 'Check if the monitoring API is available',
274
+ };
275
+ }
276
+ },
277
+ ```
278
+
279
+ ### Secure your tools
280
+
281
+ Remember that tools execute server-side. Keep security in mind:
282
+
283
+ - **Validate inputs** - Don't trust user-provided data
284
+ - **Use least privilege** - Only grant tools the permissions they need
285
+ - **Protect secrets** - Store API keys in environment variables
286
+ - **Rate limit** - Consider adding rate limiting for expensive operations
287
+
288
+ ```js
289
+ execute: async ({ serviceName }) => {
290
+ // Validate the service name exists in your catalog
291
+ const validServices = await getServices();
292
+ if (!validServices.includes(serviceName)) {
293
+ return { error: 'Service not found in catalog' };
294
+ }
295
+
296
+ // Proceed with the query...
297
+ },
298
+ ```
299
+
300
+ ## Complete example
301
+
302
+ Here's a complete `eventcatalog.chat.js` with multiple tools:
303
+
304
+ ```js title="eventcatalog.chat.js"
305
+ import { anthropic } from '@ai-sdk/anthropic';
306
+ import { tool } from 'ai';
307
+ import { z } from 'zod';
308
+
309
+ // Your model configuration
310
+ export default async () => {
311
+ return anthropic('claude-haiku-4-5');
312
+ }
313
+
314
+ export const configuration = {
315
+ temperature: 0.7,
316
+ maxTokens: 10000,
317
+ }
318
+
319
+ // Your custom tools
320
+ export const tools = {
321
+ getEventMetrics: tool({
322
+ description: 'Get real-time production metrics for an event including throughput, latency, and error rates.',
323
+ inputSchema: z.object({
324
+ eventId: z.string(),
325
+ timeRange: z.enum(['1h', '24h', '7d', '30d']).default('24h'),
326
+ }),
327
+ execute: async ({ eventId, timeRange }) => {
328
+ // Your implementation
329
+ },
330
+ }),
331
+
332
+ getServiceHealth: tool({
333
+ description: 'Get the current health status of a service including uptime and active instances.',
334
+ inputSchema: z.object({
335
+ serviceName: z.string(),
336
+ }),
337
+ execute: async ({ serviceName }) => {
338
+ // Your implementation
339
+ },
340
+ }),
341
+
342
+ getOnCall: tool({
343
+ description: 'Get the current on-call engineer and escalation contacts for a service.',
344
+ inputSchema: z.object({
345
+ serviceName: z.string(),
346
+ }),
347
+ execute: async ({ serviceName }) => {
348
+ // Your implementation
349
+ },
350
+ }),
351
+
352
+ getQueueDepth: tool({
353
+ description: 'Get the current queue depth and consumer lag for an event.',
354
+ inputSchema: z.object({
355
+ eventId: z.string(),
356
+ environment: z.enum(['production', 'staging', 'development']).default('production'),
357
+ }),
358
+ execute: async ({ eventId, environment }) => {
359
+ // Your implementation
360
+ },
361
+ }),
362
+ };
363
+ ```
364
+
365
+ ## Viewing available tools
366
+
367
+ Users can see all available tools (including custom ones) by clicking the **wrench icon** in the chat panel. Custom tools are labeled with a "Custom" badge to distinguish them from built-in tools.
368
+
369
+ ## What can you build?
370
+
371
+ The possibilities are endless. Here are some ideas:
372
+
373
+ - **Cost tracking** - "How much did the OrderCreated event cost to process last month?"
374
+ - **Compliance checks** - "Does the PaymentService meet our SLA requirements?"
375
+ - **Deployment info** - "When was InventoryService last deployed?"
376
+ - **Incident history** - "What incidents has NotificationService had this quarter?"
377
+ - **Schema validation** - "Would this schema change break any consumers?"
378
+ - **Test coverage** - "What's the test coverage for OrderService?"
379
+ - **Documentation gaps** - "Which events are missing descriptions?"
380
+
381
+ Custom tools turn EventCatalog into your organization's single pane of glass for architecture knowledge—combining static documentation with live operational data.
382
+
383
+ ---
384
+
385
+ Have questions about custom tools? [Join our Discord community](https://eventcatalog.dev/discord) to share ideas and get help.
@@ -0,0 +1,11 @@
1
+ {
2
+ "label": "EventCatalog Assistant",
3
+ "position": 2,
4
+ "collapsible": true,
5
+ "collapsed": true,
6
+ "link": {
7
+ "type": "generated-index",
8
+ "slug": "/development/guides/eventcatalog-assistant",
9
+ "description": "EventCatalog Assistant"
10
+ }
11
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "label": "EventCatalog MCP Server",
3
+ "position": 2,
4
+ "collapsible": true,
5
+ "collapsed": true,
6
+ "link": {
7
+ "type": "generated-index",
8
+ "slug": "development/developer-tools/mcp-server",
9
+ "title": "MCP Server",
10
+ "description": "This section contains tutorials for the EventCatalog MCP Server."
11
+ }
12
+ }
@@ -0,0 +1,216 @@
1
+ ---
2
+ sidebar_position: 2
3
+ keywords:
4
+ - MCP Server
5
+ sidebar_label: Installation
6
+ title: Getting started
7
+ description: Connect MCP clients to your EventCatalog
8
+ ---
9
+
10
+ import AddedIn from '@site/src/components/MDX/AddedIn';
11
+ import PlanBanner from '@site/src/components/MDX/PlanBanner';
12
+
13
+ <PlanBanner plan="Scale" />
14
+
15
+ ### Prerequisites
16
+
17
+ 1. **SSR mode** - EventCatalog must run in [server mode](/docs/development/deployment/build-ssr-mode#building-your-eventcatalog-ssr) (not static)
18
+ 2. **Scale license** - You can get a 14 day free trial at [eventcatalog.cloud](https://eventcatalog.cloud)
19
+
20
+ ### Quick start
21
+
22
+ Your MCP server is available at:
23
+
24
+ ```
25
+ https://your-eventcatalog.com/docs/mcp/
26
+ ```
27
+
28
+ For local development:
29
+
30
+ ```
31
+ http://localhost:3000/docs/mcp/
32
+ ```
33
+
34
+ ### Verify the server
35
+
36
+ Visit the endpoint in your browser to verify. It returns available tools and resources:
37
+
38
+ ```json
39
+ {
40
+ "name": "EventCatalog MCP Server",
41
+ "version": "1.0.0",
42
+ "status": "running",
43
+ "tools": ["getResources", "getResource", ...],
44
+ "resources": ["eventcatalog://all", "eventcatalog://events", ...]
45
+ }
46
+ ```
47
+
48
+ ### Connect clients
49
+
50
+ <details>
51
+ <summary>Claude Desktop</summary>
52
+ 1. Get your MCP URL `https://your-eventcatalog.com/docs/mcp/`
53
+ 1. Navigate to the [Connectors](https://claude.ai/settings/connectors) page in Claude Settings.
54
+ 1. Select **Add custom connector**
55
+ 1. Select **Add**
56
+ 5. When using Claude, select the attachments button (the plus icon).
57
+ 6. Select your MCP server.
58
+ </details>
59
+
60
+ <details>
61
+ <summary>Claude Code</summary>
62
+ 1. Get your MCP URL `https://your-eventcatalog.com/docs/mcp/`
63
+ 2. Run the command to connect claude code to your eventcatalog instance
64
+ ```bash
65
+ claude mcp add --transport http <name> <url>
66
+ ```
67
+ </details>
68
+
69
+ <details>
70
+ <summary>Cursor</summary>
71
+ 1. Get your MCP URL `https://your-eventcatalog.com/docs/mcp/`
72
+ 1. Use `Command` + `Shift` + `P` (`Ctrl` + `Shift` + `P` on Windows) to open the Command Palette.
73
+ 1. Search for "Open MCP settings"
74
+ 1. Select **Add custom MCP.** This opens the `mcp.json` file.
75
+ 1. Add the following to the `mcp.json` file:
76
+ ```json
77
+ {
78
+ "servers": {
79
+ "<your-mcp-server-name>": {
80
+ "url": "https://your-eventcatalog.com/docs/mcp/"
81
+ }
82
+ }
83
+ }
84
+ ```
85
+ </details>
86
+
87
+ <details>
88
+ <summary>VS Code</summary>
89
+ 1. Get your MCP URL `https://your-eventcatalog.com/docs/mcp/`
90
+ 1. Create a `.vscode/mcp.json` file.
91
+ 1. Inside the `mcp.json` file, add the following:
92
+ ```json
93
+ {
94
+ "servers": {
95
+ "<your-mcp-server-name>": {
96
+ "type": "http",
97
+ "url": "https://your-eventcatalog.com/docs/mcp/"
98
+ }
99
+ }
100
+ }
101
+ ```
102
+ </details>
103
+
104
+ ## Available tools
105
+
106
+ ### 15 built-in tools
107
+
108
+ - `getResources` - Get events, services, commands, queries, flows, domains
109
+ - `getResource` - Get a specific resource by id and version
110
+ - `getMessagesProducedOrConsumedByResource` - Messages a resource sends/receives
111
+ - `getSchemaForResource` - Get OpenAPI, AsyncAPI, or other schemas
112
+ - `findResourcesByOwner` - Resources owned by a team or user
113
+ - `getProducersOfMessage` - Services that produce a message
114
+ - `getConsumersOfMessage` - Services that consume a message
115
+ - `analyzeChangeImpact` - Impact of changing a message
116
+ - `explainBusinessFlow` - Detailed flow information
117
+ - `getTeams` / `getTeam` - Query teams
118
+ - `getUsers` / `getUser` - Query users
119
+ - `findMessageBySchemaId` - Find messages by schema identifiers
120
+ - `explainUbiquitousLanguageTerms` - DDD ubiquitous language from domains
121
+
122
+ [See full API documentation →](/docs/development/ask-your-architecture/mcp-server/getting-started)
123
+
124
+ ### 12 resources
125
+
126
+ - `eventcatalog://all` - All resources
127
+ - `eventcatalog://events` - All events
128
+ - `eventcatalog://commands` - All commands
129
+ - `eventcatalog://queries` - All queries
130
+ - `eventcatalog://services` - All services
131
+ - `eventcatalog://channels` - All channels
132
+ - `eventcatalog://diagrams` - All diagrams
133
+ - `eventcatalog://containers` - All containers
134
+ - `eventcatalog://domains` - All domains
135
+ - `eventcatalog://flows` - All flows
136
+ - `eventcatalog://teams` - All teams
137
+ - `eventcatalog://users` - All users
138
+
139
+ ## Add custom tools
140
+
141
+ Extend the MCP server with custom tools in `eventcatalog.chat.js`:
142
+
143
+ ```javascript
144
+ // eventcatalog.chat.js
145
+ export const tools = {
146
+ myCustomTool: {
147
+ description: 'My custom tool for EventCatalog',
148
+ parameters: z.object({
149
+ query: z.string().describe('The query parameter'),
150
+ }),
151
+ execute: async ({ query }) => {
152
+ // Your custom logic here
153
+ return { result: 'Custom data' };
154
+ },
155
+ },
156
+ };
157
+ ```
158
+
159
+ Custom tools appear alongside built-in tools automatically.
160
+
161
+ ## Use standalone server
162
+
163
+ For catalogs without SSR mode, use the standalone `@eventcatalog/mcp-server` package. We plan to deprecate this in a future release, so we recommend migrating to the built-in server when possible.
164
+
165
+ <details>
166
+ <summary>Standalone server on stdio</summary>
167
+
168
+ For local development and testing, you can use the MCP Server on stdio. This is useful for single-client, low-latency tools.
169
+
170
+ **Prerequisites:**
171
+ - EventCatalog configured with the [`LLMS.txt` feature](/docs/development/developer-tools/llms.txt)
172
+ - EventCatalog Scale license
173
+ - MCP client installed
174
+
175
+ **Command:**
176
+
177
+ ```bash
178
+ npx -y @eventcatalog/mcp-server {URL_TO_YOUR_EVENTCATALOG_INSTANCE} {EVENTCATALOG_LICENSE_KEY}
179
+ ```
180
+
181
+ </details>
182
+
183
+ <details>
184
+ <summary>Standalone server over HTTP</summary>
185
+
186
+ Run the MCP Server over HTTP for production deployments.
187
+
188
+ **Prerequisites:**
189
+ - EventCatalog instance running
190
+ - EventCatalog Scale license
191
+ - MCP client installed
192
+
193
+ **Run using npx:**
194
+
195
+ ```bash
196
+ npx -y @eventcatalog/mcp-server https://your-eventcatalog-instance.com {EVENTCATALOG_LICENSE_KEY} http {PORT} {ROOT_PATH}
197
+ ```
198
+
199
+ **Example:**
200
+
201
+ ```bash
202
+ npx -y @eventcatalog/mcp-server https://demo.eventcatalog.dev {EVENTCATALOG_LICENSE_KEY} http 3000 /mcp
203
+ ```
204
+
205
+ This starts the MCP Server over HTTP on port 3000 with root path `/mcp`.
206
+
207
+ **Run using Docker:**
208
+
209
+ See [instructions on the GitHub repository](https://github.com/event-catalog/mcp-server/blob/main/README.Docker.md).
210
+
211
+ </details>
212
+
213
+
214
+
215
+
216
+
@@ -0,0 +1,47 @@
1
+ ---
2
+ sidebar_position: 1
3
+ keywords:
4
+ - MCP Server
5
+ sidebar_label: Introduction
6
+ title: MCP server
7
+ description: Connect AI tools to your architecture catalog
8
+ ---
9
+
10
+ import AddedIn from '@site/src/components/MDX/AddedIn';
11
+
12
+ import PlanBanner from '@site/src/components/MDX/PlanBanner';
13
+
14
+ <PlanBanner plan="Scale" />
15
+
16
+ Every EventCatalog instance automatically includes a [Model Context Protocol (MCP) server](https://modelcontextprotocol.io/introduction).
17
+
18
+ <!-- This allows AI assistants to access your documentation content directly, making it easy for tools like Claude Desktop, Cursor, and VS Code extensions to answer questions using your docs.
19
+
20
+ The MCP server is available at your site's URL with `/docs/mcp` appended.
21
+
22
+ ### Using the standalone server?
23
+
24
+ :::warning Standalone server
25
+ The standalone server `@eventcatalog/mcp-server` is getting deprecated. If you want to use the MCP server you should migrate to the `/mcp/` endpoint.
26
+ :::
27
+
28
+ For teams that are using the standalone server, you can still read the documentation for the standalone server below.
29
+
30
+ <details>
31
+ <summary>View standalone server documentation</summary>
32
+
33
+ The standalone server runs locally (stdio) or as an HTTP API.
34
+
35
+ **Transport types:**
36
+ - [stdio](/docs/development/ask-your-architecture/mcp-server/getting-started#use-standalone-server) - Local development and testing
37
+ - [HTTP API](/docs/development/ask-your-architecture/mcp-server/getting-started#use-standalone-server) - Production and integrations
38
+
39
+ **Source code:** [github.com/event-catalog/mcp-server](https://github.com/event-catalog/mcp-server)
40
+
41
+ </details> -->
42
+
43
+
44
+
45
+
46
+
47
+