dunglas/mercure

🪽 An open, easy, fast, reliable and battery-efficient solution for real-time communications

5,305

stars

1,174

commits

Go

primary language

Sep 10, 2026

updated

mercure.rocks
api
async-api
caddy
golang
graphql
hacktoberfest
hypermedia
mercure
push
realtime
realtime-api
server-sent-events
streaming-api
subscriptions
web-api
websocket
Browse cluster: GraphQL API development and tooling

README

Mercure: Real-time Made Easy

Protocol and Reference Implementation

Mercure is a protocol for pushing data updates to web browsers and other HTTP clients in a convenient, fast, reliable, and battery-efficient way. It is especially useful to publish async and real-time updates of resources served through web APIs, to reactive web and mobile apps.

Awesome Artifact HUB PkgGoDev CI Coverage Status Go Report Card

Subscriptions Schema

The protocol is maintained in this repository and is also available as an Internet-Draft.

A reference, production-grade, implementation of a Mercure hub (the server) is also available in this repository. It's free software (AGPL) written in Go. It is provided along with a library that can be used in any Go application to implement the Mercure protocol directly (without a hub) and an official Docker image.

In addition, a managed and high-scalability version of the Mercure.rocks hub is available on Mercure.rocks.

Contributing

See CONTRIBUTING.md.

See license information.

Credits

Created by Kévin Dunglas. Graphic design by Laury Sorriaux. Sponsored by Les-Tilleuls.coop.

Contributors

(top 30 of 100)

dunglas

909 commits

dependabot[bot]

118 commits

jderusse

6 commits

maxhelias

5 commits

dunglas/mercure

🪽 An open, easy, fast, reliable and battery-efficient solution for real-time communications

5,305

stars

1,174

commits

Go

primary language

Sep 10, 2026

updated

mercure.rocks
api
async-api
caddy
golang
graphql
hacktoberfest
hypermedia
mercure
push
realtime
realtime-api
server-sent-events
streaming-api
subscriptions
web-api
websocket
Browse cluster: GraphQL API development and tooling

README

Mercure: Real-time Made Easy

Protocol and Reference Implementation

Mercure is a protocol for pushing data updates to web browsers and other HTTP clients in a convenient, fast, reliable, and battery-efficient way. It is especially useful to publish async and real-time updates of resources served through web APIs, to reactive web and mobile apps.

Awesome Artifact HUB PkgGoDev CI Coverage Status Go Report Card

Subscriptions Schema

The protocol is maintained in this repository and is also available as an Internet-Draft.

A reference, production-grade, implementation of a Mercure hub (the server) is also available in this repository. It's free software (AGPL) written in Go. It is provided along with a library that can be used in any Go application to implement the Mercure protocol directly (without a hub) and an official Docker image.

In addition, a managed and high-scalability version of the Mercure.rocks hub is available on Mercure.rocks.

Contributing

See CONTRIBUTING.md.

See license information.

Credits

Created by Kévin Dunglas. Graphic design by Laury Sorriaux. Sponsored by Les-Tilleuls.coop.

Contributors

(top 30 of 100)

dunglas

909 commits

dependabot[bot]

118 commits

jderusse

6 commits

maxhelias

5 commits

Languages

Go

91.3%

JavaScript

2.1%

HTML

1.7%

CSS

1.6%

TypeScript

1.5%