Build, deploy, and orchestrate AI agents that communicate across frameworks using standard protocols from the Agentic AI Foundation.
| Package | Description | npm |
|---|---|---|
@artinet/sdk |
Core SDK for building A2A agents with client/server support | |
cruiser |
Core SDK for building A2A agents with client/server support | |
fleet |
Server framework for hosting A2A agents with MCP integration | |
agent-relay |
Agent discovery and multi-agent communication | |
orc8 |
Dynamic orchestration for A2A agents with MCP tool support | |
symphony |
Interactive CLI for managing multi-agent systems | |
create-agent |
CLI tool to scaffold A2A agent projects | |
ask |
Lightweight CLI chat client for A2A servers | |
load |
Load agent definitions from files | |
agent-def |
Standardized agent definition schema | |
types |
Shared TypeScript types | |
mcp |
MCP servers (bash, agent-relay) |
npx @artinet/create-agent@latestServer:
Serve intelligence in a couple lines. cr8 lets you quickly scaffold an AI agent without the headache.
import { cr8 } from "@artinet/sdk";
const { app } = cr8("My Agent")
.text(({ content }) => `You said: ${content}`)
.server.start(3000);Messenger:
Talk to any agent. Messenger is an A2A protocol client, purpose built for multi-agent servers.
import { createMessenger, AgentMessenger } from "@artinet/sdk";
const messenger: AgentMessenger = createMessenger({
baseUrl: "http://localhost:3000/a2a",
});
for await (const update of messenger.sendMessageStream("Hello!")) {
console.log(update);
}Cruiser docks agents from any framework onto artinet. Letting your OpenAI, Claude, and LangChain agents collaborate.
import { Agent } from "@openai/agents";
import { dock } from "@artinet/cruiser/openai";
import { serve } from "@artinet/sdk";
const openaiAgent = new Agent({
name: "assistant",
instructions: "You are a helpful assistant",
});
const agent = await dock(agent, { name: "My Assistant" });
await agent.sendMessage("Hello, World!");Fleet is a lightweight server that deploys A2A AI agents, so you can focus on intelligence, not plumbing.
import { fleet } from "@artinet/fleet/express";
import { createMessenger, AgentMessenger } from "@artinet/sdk";
const flotilla = await fleet().ship([
{
config: {
uri: "my-agent",
...
},
},
]);
flotilla.launch(3000);
const messenger: AgentMessenger = await createMessenger({ baseUrl: "http://localhost:3000/agentId/my-agent" });
await messenger.sendMessage("Hello, World!");┌─────────────────────────────────────────────────────────────────┐
│ Artinet Platform │
├─────────────────────────────────────────────────────────────────┤
│ CLI Tools │
│ ├── create-agent → Scaffold new projects │
│ ├── symphony → Multi-agent management │
│ └── ask → Chat with agents │
├─────────────────────────────────────────────────────────────────┤
│ Server Frameworks │
│ ├── fleet → Deploy & host agents │
│ └── sdk → Build A2A servers │
├─────────────────────────────────────────────────────────────────┤
│ Agent Building │
│ ├── orc8 → Orchestration + MCP tools │
│ ├── cruiser → Framework adapter (Langchain, etc) │
│ └── relay → Agent discovery │
├─────────────────────────────────────────────────────────────────┤
│ Foundation │
│ ├── agent-def → Agent definition schema │
│ ├── loader → Load definitions from files │
│ ├── types → Shared types │
│ └── mcp/ → MCP servers (bash, relay) │
└─────────────────────────────────────────────────────────────────┘
- Node.js ≥ 18.9.1 (Recommended: 20 or ≥ 22)
Apache-2.0
Contributions welcome! Please open an issue or PR on GitHub.