ByMorning

io.github.bymorningPublished by GitHub account bymorningv1.3.3Updated Nov 7, 2026

Open source, self-hosted MCP and model gateway: your installation's Tools over OAuth.

VerifiedStreamable HTTPWeb executableCloud & InfrastructureSecurity & MonitoringAI & ML

Overview

AI-generated overview

Remote MCP endpoint of ByMorning, a self-hosted AI gateway that gives a signed-in agent the Tools its Workspace member is allowed to use.

What you can do
  • Connect an agent to your own ByMorning installation's MCP endpoint over OAuth as a Workspace member.
  • Expose the Tools that member may use, scoped by the Workspace's permissions.
  • Sit alongside the gateway's model routing, so spend limits, routing and usage apply to agent calls.
  • Serve as the MCP Registry entry for the same self-hosted gateway that also fronts OpenAI-, Anthropic- and Google-compatible endpoints.
When to use it
Use it when your organization already runs a ByMorning installation and wants coding agents or assistants to reach its internal Tools under your own permissions and audit, rather than through a vendor-hosted service.
Requirements
A running ByMorning installation reachable over HTTPS at your own host; the MCP endpoint is that host's /mcp path. The agent signs in with OAuth as a Workspace member, so the installation needs an OIDC-compliant identity provider configured in Setup. Self-hosting needs Docker Compose, Terraform on AWS/Azure, or a Kubernetes Helm chart, plus database, object storage and key settings.
Before you install
The company behind the project has closed: no vendor, support, SLA or maintenance commitment, and the project is community maintained. You operate the gateway yourself, including its database, storage, cipher key and cookie key, and you configure SSO and its client secret at runtime. The MCP endpoint grants whatever Tools the signed-in member may use, so Workspace permissions and audit matter. Pending Integration OAuth attempts are invalidated by every restart or deployment.

Installation

In SourceWeft

  1. Open ByMorning in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Other MCP clients

Follow the launch instructions in the repository.

README

ByMorning gives your team's agents access to company systems, and caps what they spend.

  • Company systems as Tools. People and agents reach your internal systems through Plugins and MCP servers, each person under their own permissions.
  • Spend limits. A limit per Workspace, member, or Service Account, applied to every model call.
  • Models and routing. OpenAI-, Anthropic-, and Google-compatible endpoints, with routing across the providers you enable.
  • Your cloud. It runs in your own cloud account or Kubernetes cluster.

Status. ByMorning is open source under the MIT License and community maintained: fork it, open pull requests, and run your own builds. Read SECURITY.md before reporting a vulnerability.

Install

Every release image is signed keylessly by this repository's release workflow and published to ghcr.io/bymorning/bymorning, with signed evidence (SBOMs, scans, provenance) on the GitHub release. Choose where to run it:

WhereUse
One machine, to try itDocker Compose evaluation. Not for production.
AWS or AWS GovCloud (US)Terraform module, also on the Terraform Registry as bymorning/bymorning/aws.
Azure (AKS)Azure installer: Terraform and Kubernetes manifests, with a digest-pinned image.
Any Kubernetes clusterHelm chart, with your own database, object storage, and key.

Connect coding agents

  • Models. Point Claude Code, Codex, Cursor, VS Code Copilot, OpenCode, or Gemini CLI at your installation's OpenAI-, Anthropic-, and Google-compatible endpoints with a Service Account key. Spend limits, routing, and usage apply to every call. See Connect coding agents.
  • Tools. Add https://<your host>/mcp to the agent as a remote MCP server. The agent signs in with OAuth as a Workspace member and gets the Tools that member may use, under the Workspace's permissions. See Use ByMorning's Tools from an agent. server.json describes it for the MCP Registry as io.github.bymorning/bymorning.

Develop

You need Bun 1.3 and Node 22+. From the repository root:

bash
bun install --frozen-lockfilebun run dev

Open http://localhost:3000; local sign-in goes straight to the workspace. Local development needs no cloud credentials, SST, or external login provider. Docker is not required for the database; it is only needed for the Code Interpreter and the application tests.

  • The development host keeps Postgres-compatible data with PGlite under .bymorning/local/pglite.
  • bun run dev runs the API watcher (port 3210) and Vite (port 3000) together, and the API runs migrations at startup.
  • Choose ports with PORT=4001 WEB_PORT=4000 bun run dev: PORT is the API, and WEB_PORT is Vite and the default login callback origin.
  • bun run local is the bundled, one-origin development host instead.
  • Build the execution image with bun run --cwd app/host setup when you need the Code Interpreter.

Build the host bundle

One host program, app/host, serves every deployment. Its production build is what the root Dockerfile ships:

bash
bun run --cwd app/host buildnode app/host/dist/bymorning.mjs

It requires the deployment's storage and key selectors (STORAGE_PROVIDER, CIPHER_BACKEND), their companions, and the database, cookie, and origin settings documented in app/host/README.md. The development build adds PGlite, filesystem storage, the local cipher, and the Docker Code Interpreter, and needs nothing set:

bash
bun run --cwd app/host build:devnode app/host/dist/bymorning.mjs

Distribute the complete dist/ directory, including the installation documents and the loadable plugin packages. The Docker image runs the production bundle with Node; no compiled application executable is built.

The host guide has the deployment contract, the development defaults, Vite arguments, and database ownership. CONTRIBUTING.md covers tests and pull requests.

Releases

A release is one Gateway image, delivered as a linux/amd64 OCI tarball pinned by digest, plus signed evidence (SBOMs, vulnerability and license reports, scans, SLSA provenance, SHA256SUMS). It is installer-neutral: every installer delivers the same tarball and verifies the same digest.

Release signatures are keyless. There is no signing key to store or rotate. The full-gate workflow signs the evidence with Sigstore using its own GitHub Actions identity: the signing certificate names the workflow run, and the signature is recorded in the public transparency log.

  • A signature is a release signature only when that identity is full-gate.yml of this repository running on a v* tag. The installer export refuses anything else, and it verifies every signature with cosign before it packages a release.
  • Anyone can check a release with the identity and issuer in release/signer.txt, as the download page shows, and rebuild a release from its tag to compare digests: the build is reproducible.

Maintainers: docs/releasing.md is the procedure for cutting a release.

More documentation

Contributing

See CONTRIBUTING.md. Report vulnerabilities privately as described in SECURITY.md. Participation is governed by the Code of Conduct.

License

ByMorning is released under the MIT License. Third-party material is credited in THIRD_PARTY_NOTICES.md. The license covers the code; it does not grant rights to the ByMorning name or logo.

Source: README.md at commit 32455b0

Tools

0
SourceWeft has not read this server's tools yet.

Version history

2
  1. v1.3.3LatestNov 7, 2026
  2. v1.3.2Nov 5, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declaredRequired10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts