# EventCatalog: Open-Source Architecture Documentation for Event-Driven Systems

> EventCatalog is a documentation tool purpose-built for event-driven and service-oriented architectures. It generates a static site from Markdown and configuration files, documents domains, services, and message schemas together, and exposes the catalog through a built-in AI chat interface and an MCP server. One npx command scaffolds a new catalog.

**event-catalog/eventcatalog** — Documentation tool built for software architecture. Document your domains, services, events and schemas — for your teams and your AI agents.

- Repository: https://github.com/event-catalog/eventcatalog
- Website: https://eventcatalog.dev
- Stars: 2,914 · Forks: 279
- Language: TypeScript
- License: NOASSERTION
- Published: 2026-09-10 · Updated: 2026-09-10 · Language: en
- Canonical page: https://hysenlabs.com/projects/event-catalog-eventcatalog

## What EventCatalog Solves for Event-Driven Architecture Teams

Event-driven architectures scatter context across many services, message brokers, and schema registries. A developer joining a team needs to know which services publish which events, what schema version is in production, which other services consume that event, and what the end-to-end flow looks like from a business perspective. Generic documentation tools such as wikis or Confluence pages do not model these relationships natively.

EventCatalog is built specifically for this problem. It understands domains, services, messages, and the relationships between them as first-class documentation concepts. The README describes it as a documentation tool designed for software architecture, not generic pages. It generates a static website from Markdown files and configuration, but the underlying model knows that a service publishes events and that another service subscribes to them.

The README states that the project has been used to create more than 40,000 catalogs. The latest release at the time of writing is @eventcatalog/core@4.12.2, published on 2026-09-28.

## Getting Started: One Command to a Running Catalog

The README shows the quickest path to a running catalog:

```bash
npx @eventcatalog/create-eventcatalog@latest my-catalog
```

This scaffolds a new catalog project in the my-catalog directory. Opening http://localhost:3000 shows the catalog UI with sample content. The Getting Started guide at the official documentation site provides a walkthrough from there.

The monorepo root package.json includes scripts for building, starting, and exporting the catalog:

```bash
pnpm --filter @eventcatalog/core run start:catalog
pnpm --filter @eventcatalog/core run export:catalog
```

The catalog itself is an Astro project (the @eventcatalog/core package). Astro generates a static site that can be deployed to any static host. The examples/ directory in the repository includes default, federation, performance, and SSR configurations.

EventCatalog uses pnpm as its package manager. The monorepo is organized with Turborepo for build orchestration.

## What EventCatalog Documents: Domains, Services, Messages, and Flows

EventCatalog organizes architecture documentation around four main resource types. Domains group related services into bounded contexts. Services produce and consume messages. Messages are the events, commands, and queries that services exchange. Flows describe end-to-end business workflows by referencing the services and messages already in the catalog.

Each resource supports semantic versioning. Past versions of an event's schema remain accessible, so teams can see what changed between versions and identify breaking changes. Architecture Decision Records, runbooks, and custom documentation files can be attached to any resource and are versioned alongside the architecture.

The schema explorer indexes all schemas in the catalog, covering OpenAPI, AsyncAPI, Protobuf, JSON Schema, and Avro formats. Schema fields are searchable across the entire catalog, so a developer can find every service that uses a particular field name.

The business flows feature lets teams document higher-level workflows by composing the services and messages they have already cataloged. This separates the system-level view (which services talk to each other) from the business-level view (what the user-facing process looks like).

## AI-Powered Discovery and the MCP Server

EventCatalog includes a built-in AI chat interface that allows developers to ask questions about the architecture in natural language. The README describes this as asking questions about the architecture and business rather than searching through pages.

The catalog also exposes an MCP server. This allows AI coding agents and other tools that speak the Model Context Protocol to query the catalog directly. The eventcatalog-related search terms include eventcatalog mcp, indicating that the MCP integration is a notable reason teams are evaluating the tool.

The @eventcatalog/sdk package provides a Node.js API for programmatic catalog management, which is what generators use to populate the catalog from external sources like AsyncAPI specs or Kafka Schema Registry exports.

## Generators: Automating Catalog Population from Existing Sources

Manually maintaining documentation that duplicates information already in schema registries or API specs creates drift. EventCatalog addresses this with generators that read from existing sources and write catalog resources automatically. The README states there are more than 15 generators.

The listed sources include AsyncAPI specifications, OpenAPI specifications, Kafka topics, Confluent Schema Registry, and AWS EventBridge schemas. Each generator reads the source format and creates or updates the corresponding catalog resources.

For teams that already have AsyncAPI specs, this means the catalog can be populated and kept up to date through CI without manual editing. For teams that do not have structured specs, EventCatalog can be populated by writing Markdown files directly, using the same file structure that generators produce.

Enterprise features listed in the README include OAuth2, RBAC, schema governance, and breaking change detection. The documentation site describes these in more detail.

## How EventCatalog Compares to Backstage

Backstage is a developer portal framework originally built at Spotify. It provides a service catalog as one of its core features and supports plugins for many developer tools. It is a more general-purpose platform: it can document any software component, track infrastructure, and host plugins for CI/CD, cloud costs, and other engineering metrics.

EventCatalog is narrower. It focuses on event-driven architecture and understands message schemas, publish/subscribe relationships, and business flows as first-class documentation concepts. Backstage can document these things through its component model, but event-driven architecture is not Backstage's primary design target.

For a team whose architecture is mostly synchronous REST APIs and who needs a broad developer portal, Backstage or a similar general-purpose platform is a better fit. For a team with a message-driven or event-sourced architecture who wants documentation that models their actual topology, EventCatalog's purpose-built model produces more precise documentation.

## Package Structure, License, and Maintenance

The EventCatalog monorepo consists of four main packages. @eventcatalog/core is the main Astro-based catalog application. @eventcatalog/sdk is the Node.js SDK for programmatic catalog management. @eventcatalog/create-eventcatalog is the CLI scaffolding tool. @eventcatalog/visualiser is a standalone React component for visualizing catalog relationships.

The repository uses Turborepo for build orchestration and pnpm workspaces. The package.json at the root shows that tests, builds, and format checks all run through Turborepo.

The repository lists no license in its GitHub metadata (NOASSERTION), while the package.json specifies MIT as the license field. Users who need to comply with license terms for commercial deployments should read the LICENSE file in the repository directly rather than relying on the metadata.

The last push was on 2026-09-25. Releases are frequent: @eventcatalog/create-eventcatalog received two releases on 2026-09-23 and @eventcatalog/core released version 4.12.2 on 2026-09-28. The project is actively developed.

## Conclusion

EventCatalog is the right tool for teams building or operating event-driven systems who want architecture documentation that stays in sync with their actual services and schemas. It is not the right tool for teams whose architecture is primarily RESTful and whose documentation needs are met by a generic tool like Backstage. Before adopting it, verify that your stack fits the generator set: the 15+ generators cover AsyncAPI, OpenAPI, Kafka, Confluent, and AWS EventBridge, but custom source formats require writing your own generator or documenting manually.

## FAQ

### What is EventCatalog?

EventCatalog is an open-source documentation tool for event-driven and service-oriented architectures. It generates a static website that documents domains, services, messages, and schemas with versioning, AI chat, and an MCP server for agent tooling.

### How does EventCatalog compare to Backstage?

Backstage is a general-purpose developer portal framework from Spotify that supports a wide range of plugins. EventCatalog is narrower, focused specifically on event-driven architectures with first-class support for messages, schemas, and publish/subscribe relationships. Teams with event-driven systems often find EventCatalog produces more precise documentation than a general-purpose portal.

### How do I add my existing AsyncAPI or OpenAPI specs to an EventCatalog?

EventCatalog provides generators for AsyncAPI, OpenAPI, Kafka, Confluent Schema Registry, and AWS EventBridge. The generators read your existing specs and create or update catalog resources automatically, allowing the catalog to stay in sync through CI without manual editing.

## Sources

- [event-catalog/eventcatalog on GitHub](https://github.com/event-catalog/eventcatalog)
- [Issues](https://github.com/event-catalog/eventcatalog/issues)
- [Project website](https://eventcatalog.dev)
- [README](https://github.com/event-catalog/eventcatalog/blob/main/README.md)
- [Releases](https://github.com/event-catalog/eventcatalog/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/event-catalog-eventcatalog
