Skip to content

muxi-ai/sdks

MUXI SDKs

Build intelligent agents that actually work. These official SDKs give you everything you need to deploy, manage, and interact with MUXI formations across any language.

What you get out of the box:

  • HMAC & key-based auth (zero config headaches)
  • Automatic retries with exponential backoff
  • Idempotency headers on every request
  • First-class streaming support (SSE)
  • Typed errors and response envelopes

Looking for the CLI? See muxi-ai/cli.

Important

MUXI Ecosystem

This repository is part of the larger MUXI ecosystem.

📋 Complete architectural overview: See muxi/ARCHITECTURE.md - explains how all repositories fit together, dependencies, status, and roadmap.


Available SDKs

Language Package Install
Go muxi-go go get github.com/muxi-ai/muxi-go
Python muxi pip install muxi
TypeScript @muxi-ai/muxi-typescript npm install @muxi-ai/muxi-typescript
Ruby muxi gem install muxi
PHP muxi/muxi-php composer require muxi/muxi-php
C# Muxi dotnet add package Muxi
Java org.muxi:muxi-java Maven/Gradle (see below)
Kotlin org.muxi:muxi-kotlin Maven/Gradle (see below)
Swift muxi-swift Swift Package Manager
Dart muxi dart pub add muxi
Rust muxi-rust cargo add muxi-rust
C++ muxi-cpp CMake (header-only)

Quick Examples

Go

client := muxi.NewFormationClient(&muxi.FormationConfig{
    FormationID: "my-agent",
    ServerURL:   os.Getenv("MUXI_SERVER_URL"),
    ClientKey:   os.Getenv("MUXI_CLIENT_KEY"),
})

resp, _ := client.Chat(ctx, &muxi.ChatRequest{Message: "Hello!", UserID: "u1"})
fmt.Println(resp.Response)

Python

from muxi import FormationClient

client = FormationClient(
    server_url="https://server.example.com",
    formation_id="my-agent",
    client_key="<your-key>",
)

for chunk in client.chat_stream({"message": "Tell me a story"}):
    print(chunk.get("text", ""), end="")

TypeScript

import { FormationClient } from "@muxi-ai/muxi-typescript";

const client = new FormationClient({
  serverUrl: "https://server.example.com",
  formationId: "my-agent",
  clientKey: "<your-key>",
});

for await (const chunk of await client.chatStream({ message: "Hello!" })) {
  if (chunk.type === "text") process.stdout.write(chunk.text);
}

Java

FormationClient client = new FormationClient(
    "https://server.example.com",
    "my-agent",
    "<your-key>"
);

ChatResponse response = client.chat(new ChatRequest("Hello!"));
System.out.println(response.getResponse());
implementation("org.muxi:muxi-java:0.20260212.0")

Kotlin

val client = FormationClient(
    serverUrl = "https://server.example.com",
    formationId = "my-agent",
    clientKey = "<your-key>"
)

val response = client.chat(ChatRequest(message = "Hello!"))
println(response.response)
implementation("org.muxi:muxi-kotlin:0.20260212.0")

Ruby

require 'muxi'

client = Muxi::FormationClient.new(
  server_url: 'https://server.example.com',
  formation_id: 'my-agent',
  client_key: '<your-key>'
)

response = client.chat(message: 'Hello!')
puts response['response']

C#

var client = new FormationClient(
    serverUrl: "https://server.example.com",
    formationId: "my-agent",
    clientKey: "<your-key>"
);

var response = await client.ChatAsync(new ChatRequest { Message = "Hello!" });
Console.WriteLine(response.Response);

Swift

let client = FormationClient(
    serverURL: "https://server.example.com",
    formationID: "my-agent",
    clientKey: "<your-key>"
)

let response = try await client.chat(message: "Hello!")
print(response.response)

Dart

final client = FormationClient(
  serverUrl: 'https://server.example.com',
  formationId: 'my-agent',
  clientKey: '<your-key>',
);

final response = await client.chat(message: 'Hello!');
print(response['response']);

Rust

let client = FormationClient::new(
    "https://server.example.com",
    "my-agent",
    "<your-key>",
);

let response = client.chat("Hello!").await?;
println!("{}", response.response);

PHP

$client = new FormationClient(
    serverUrl: 'https://server.example.com',
    formationId: 'my-agent',
    clientKey: '<your-key>'
);

$response = $client->chat(['message' => 'Hello!']);
echo $response['response'];

C++

auto client = muxi::FormationClient(
    "https://server.example.com",
    "my-agent",
    "<your-key>"
);

auto response = client.chat({{"message", "Hello!"}});
std::cout << response["response"] << std::endl;

Documentation

For full guides, examples, and API reference, visit muxi.org/docs.

Each SDK repo also includes a README.md with quickstart and a USER_GUIDE.md with detailed patterns.


Contributing

See contributing/conventions.md for cross-language API conventions and naming standards.


License

MIT — See LICENSE for details.

About

Client libraries for MUXI-powered apps: Python, TypeScript, Go, Rust, Java, C#, Ruby, PHP, Swift, Kotlin, C/C++, and Dart.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors