New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

@mosadd/ai

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@mosadd/ai

Framework adapters for mosadd. Subpath exports: @mosadd/ai/vercel, @mosadd/ai/langchain, @mosadd/ai/openai, @mosadd/ai/anthropic. Single package, atomic releases (Stripe Agent Toolkit pattern).

alpha
latest
Source
npmnpm
Version
3.0.0-alpha.28
Version published
Weekly downloads
6
-45.45%
Maintainers
1
Weekly downloads
 
Created
Source

@mosadd/ai

Framework adapters for mosADD — use the 82 mosADD toolkit tools directly from your favorite agent framework without spinning up the MCP server.

One package, four entrypoints, atomic releases — pattern stolen from Stripe Agent Toolkit.

SubpathFrameworkWhat you get
@mosadd/ai/vercelVercel AI SDK (ai package, v4+)Record<string, VercelTool> for streamText / generateText
@mosadd/ai/langchainLangChainPlain descriptors you wrap in DynamicStructuredTool
@mosadd/ai/openaiOpenAI Agents SDKFunctionTool[] for the tools: array on Agent
@mosadd/ai/anthropicAnthropic SDK[{ name, description, input_schema }] for Messages API

Vercel AI SDK

import { mosadd } from "@mosadd/ai/vercel";
import { streamText } from "ai";

const tools = mosadd({
  modules: ["mDM", "mIRC"],
  supabase: {
    url: process.env.MOSADD_SUPABASE_URL!,
    anonKey: process.env.MOSADD_SUPABASE_ANON_KEY!,
    userJwt: process.env.MOSADD_USER_JWT!,
  },
});

await streamText({ model: openai("gpt-5"), tools, messages });

LangChain

import { mosadd } from "@mosadd/ai/langchain";
import { DynamicStructuredTool } from "@langchain/core/tools";
import { createReactAgent } from "@langchain/langgraph/prebuilt";

const tools = mosadd({ modules: ["mDM"] }).map(
  (t) => new DynamicStructuredTool(t),
);

const agent = createReactAgent({ llm, tools });

OpenAI Agents SDK

import { mosadd } from "@mosadd/ai/openai";
import { Agent, run } from "@openai/agents";

const agent = new Agent({
  name: "mosadd-helper",
  instructions: "Manage the user's mosADD communications when asked.",
  tools: mosadd({ modules: ["mDM", "mIRC", "mURL", "mAYL"] }),
});

await run(agent, "Send Alice a message saying I'll be late.");

Anthropic SDK / Claude Agent SDK

import Anthropic from "@anthropic-ai/sdk";
import { mosaddTools, executeMosaddToolCall } from "@mosadd/ai/anthropic";

const client = new Anthropic();
const tools = mosaddTools({ modules: ["mDM", "mIRC"] });

let response = await client.messages.create({
  model: "claude-opus-4-7",
  max_tokens: 1024,
  tools,
  messages: [{ role: "user", content: "Post 'standup in 5' to the #team channel." }],
});

while (response.stop_reason === "tool_use") {
  // … find tool_use blocks, run executeMosaddToolCall, append tool_result, loop …
}

Options

interface MosaddOptions {
  /** Filter to specific m* modules. Defaults to ALL shipped tools. */
  modules?: string[];

  /** BYOK Supabase creds. Falls back to env vars if omitted. */
  supabase?: {
    url: string;
    anonKey: string;
    userJwt?: string;
  };

  /** Log level. */
  logLevel?: "debug" | "info" | "warn" | "error";
}

If supabase is omitted, the adapters read from env:

  • MOSADD_SUPABASE_URL
  • MOSADD_SUPABASE_ANON_KEY
  • MOSADD_USER_JWT

What you don't get

This adapter pack stays minimal on purpose:

  • No peer deps on ai, @langchain/*, @openai/agents, or @anthropic-ai/sdk. We return shapes those packages happen to accept. The consumer brings the framework.
  • No HTTP transport. Adapters call the mosADD handlers directly in-process. For HTTP/SSE use the MCP server — see packages/mcp.
  • Strict JSON Schema for OpenAI/Anthropic is approximate today (strict: false). v3.0.0-alpha.1 brings exact mode via zod-to-json-schema.

License

Apache-2.0. See LICENSE.

FAQs

Package last updated on 16 Aug 2026

Related posts