MCPcopy
hub / github.com/1backend/1backend

github.com/1backend/1backend @v0.9.0 sqlite

repository ↗ · DeepWiki ↗ · release v0.9.0 ↗
13,075 symbols 27,291 edges 1,444 files 5,616 documented · 43%
README

<span>
  <h1 style="border-bottom: none">1Backend</h1>
  <a href="https://discord.gg/eRXyzeXEvM" rel="nofollow"><img src="https://camo.githubusercontent.com/66351093b042f69e9698398d33f08a6c36f1b7c56e1494b1e2902950eb24c94f/68747470733a2f2f646362616467652e6c696d65732e70696e6b2f6170692f7365727665722f68747470733a2f2f646973636f72642e67672f655258797a655845764d" alt="" data-canonical-src="https://dcbadge.limes.pink/api/server/https://discord.gg/eRXyzeXEvM" style="max-width: 100%;"></a>

backend build frontend build go client build js client build go sdk

AI-native microservices platform. v0.8.2.

  <a href="https://1backend.com">1backend.com</a>

"Works of art make rules; rules do not make works of art."
— Claude Debussy

Overview

1Backend reimagines software development for the AI era. It lets you build modern distributed applications fast, without getting slowed down by infrastructure in the early stages. It’s a full platform: a framework, a proxy (edge, reverse, and more), and much more. It manages authorization and user accounts, microservice communication, microfrontend routing, email delivery, and many other core parts of modern app development.

It can run and program LLMs inside containers. It’s zero-trust, zero-config, and includes its own ORM, allowing development even without a database.

It’s multitenant—host multiple apps, websites, or projects on one installation. In effect, it serves as a distributed operating system for your applications.

Launching the server

Easiest way to run 1Backend is with Docker. Install Docker if you don't have it. Step into repo root and:

docker compose up

Also see this page for other ways to launch 1Backend.

Build and use your first service in 3 steps

Check out the examples folder or the relevant documentation to learn how to easily build testable, scalable microservices on 1Backend.

Here are the conceptual steps though to illustrate how simple is a 1Backend service:

Step 1: Register the user account of your service

Each service - just like humans - must have their account and manage their own credentials. Just like humans, they must remember their passwords :)).

Language-agnostic

See the Register and Login endpoints.

Go SDK example

import (
  "github.com/1backend/1backend/sdk/go/boot"
  "github.com/1backend/1backend/sdk/go/client"
)

oneBackendClient  := client.NewApiClientFactory(service.Options.ServerUrl).Client()
token, err := boot.RegisterServiceAccount(
        oneBackendClient .UserSvcAPI,
        "your-svc",
        "Your Service",
        credentialStore, // This is just a DB handle
    )

Step 2: Register your service instance address

Language-agnostic

Call RegisterInstance endpoint directly from any programming language.

Go SDK example

import (
  "github.com/1backend/1backend/sdk/go/client"
)

oneBackendClient := client.NewApiClientFactory(service.Options.ServerUrl).Client()

oneBackendClient.RegistrySvcAPI.
        RegisterInstance(context.Background()).
        Body(openapi.RegistrySvcRegisterInstanceRequest{
            Url: "https://your-service-url",
        }).Execute()

Step 3: Call your service through 1Backend

All services registered will be available under their slug at http(s)://your-1backend-host/{service-slug}/.... For more details see doc about the Proxy Svc.

CLI

Install oo to get started (at the moment you need Go to install it):

go install github.com/1backend/1backend/cli/oo@latest
$ oo env ls
ENV NAME   SELECTED   URL                           DESCRIPTION   REACHABLE
local      *          http://127.0.0.1:11337                      true
$ oo login 1backend changeme

$ oo whoami
slug: 1backend
id: usr_e9WSQYiJc9
app:
  id: app_hRKWXZzK6P
  host: unnamed
roles:
- user-svc:user
- user-svc:admin
$ oo post /prompt-svc/prompt --sync=true --prompt="Is a cat an animal? Just answer with yes or no please."
# see example response above...

Run On Your Servers

See the Running the daemon page to help you get started.

Services

For articles about the built-in services see the Built-in services page. For comprehensive API docs see the 1Backend API page.

Run On Your Laptop/PC

We have temporarily discontinued the distribution of the desktop version. Please refer to this page for alternative methods to run the software.

License

1Backend is licensed under AGPL-3.0.

Extension points exported contracts — how you extend this code

LazyStarter (Interface)
LazyStarter is an interface for things that need to be started before use. The LazyStart() function should prepare anyth [14 …
sdk/go/service/lazy.go
ApiResponse (Interface)
(no doc) [12 implementers]
examples/go/services/multi/client/js/src/runtime.ts
ApiResponse (Interface)
(no doc) [12 implementers]
clients/js/client/src/runtime.ts
MappedNullable (Interface)
(no doc) [224 implementers]
clients/go/utils.go
ContainerBackend (Interface)
(no doc) [3 implementers]
server/internal/services/container/backends/interface.go
WindowApi (Interface)
(no doc) [1 implementers]
desktop/workspaces/shared-lib/apis/window-api.ts
ProgramOptions (Interface)
(no doc)
desktop/scripts/appx-make.ts
TestOptions (Interface)
(no doc)
desktop/tests/utils.ts

Core symbols most depended-on inside this repo

IsNil
called by 2324
clients/go/utils.go
Execute
called by 540
clients/go/api_user_svc.go
Error
called by 537
sdk/go/error.go
Error
called by 493
clients/go/client.go
Get
called by 389
clients/go/utils.go
decode
called by 386
clients/go/client.go
Run
called by 377
dapper/app/run.go
Query
called by 306
sdk/go/datastore/datastore.go

Shape

Method 8,016
Function 2,657
Struct 1,098
Class 678
Interface 427
TypeAlias 161
Enum 32
FuncType 6

Languages

Go74%
TypeScript26%
Python1%

Modules by API surface

clients/go/model_stable_diffusion_txt2_img_request.go233 symbols
clients/go/api_user_svc.go186 symbols
clients/go/mock_api_user_svc.go112 symbols
clients/go/model_model_svc_model.go92 symbols
clients/go/model_prompt_svc_prompt.go86 symbols
clients/go/api_registry_svc.go85 symbols
clients/js/client/src/apis/UserSvcApi.ts81 symbols
clients/go/model_prompt_svc_text_to_image_parameters.go81 symbols
examples/go/services/multi/client/go/utils.go77 symbols
examples/go/services/basic/client/go/utils.go77 symbols
clients/go/utils.go77 symbols
clients/go/model_container_svc_container.go77 symbols

Dependencies from manifests, versioned

dario.cat/mergov1.0.1 · 1×
filippo.io/edwards25519v1.1.0 · 1×
github.com/1backend/1backend/clients/gov0.0.0-2025100905442 · 1×
github.com/1backend/1backend/sdk/gov0.0.0-2025100905442 · 1×
github.com/KyleBanks/depthv1.2.1 · 1×
github.com/Microsoft/go-winiov0.6.2 · 1×
github.com/ProtonMail/go-cryptov1.1.6 · 1×
github.com/PuerkitoBio/purellv1.1.1 · 1×
github.com/PuerkitoBio/urlescv0.0.0-2017081014372 · 1×
github.com/andybalholm/brotliv1.1.1 · 1×

Datastores touched

(mysql)Database · 1 repos
mydatabaseDatabase · 1 repos
dbDatabase · 1 repos
mydbDatabase · 1 repos
dbDatabase · 1 repos
myapp_devDatabase · 1 repos
ordersDatabase · 1 repos
productsDatabase · 1 repos

For agents

$ claude mcp add 1backend \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact