A universal, framework-agnostic tools SDK. Write tools once in clean YAML and seamlessly integrate with LangChain, OpenAI Agents, Claude, CrewAI, and any custom AI framework - zero duplication.
name: slack_send_message
description: Post message to Slack channel
parameters:
channel:
type: string
required: true
text:
type: string
required: true
execution:
type: http
method: POST
url: https://slack.com/api/chat.postMessage
headers:
Authorization: Bearer {SLACK_BOT_TOKEN}
import { MatimoInstance } from 'matimo';
const matimo = await MatimoInstance.init();
// Works with LangChain, OpenAI, CrewAI...
const tools = matimo.listTools()
.map(t => toLangChainSchema(t));
// ✓ Same tools, any framework
Every tool call is governed the same way in both the TypeScript and Python SDKs. Available now on npm and PyPI.
HTTP DELETE tools and shell-command tools now ask a human for approval on every call. Human-in-the-loop approval applies to every tool at or above your risk threshold, not only to a fixed list.
Set an approval callback per instance or per call. With no callback registered, the call fails closed. The MCP server asks the human through elicitation, so a model cannot approve its own call.
A hash-chained JSONL audit log with secret redaction. A verify function shows any edit or deletion. The log format and execution events are identical in TypeScript and Python.
The Python SDK is at parity with TypeScript: the same approval rules, the same policy checks, a shared conformance suite, and a new Agno integration. 4,400+ tests across both.
Pluggable skill paths and meta-tools that let an agent search for a skill and load only the sections it needs, instead of pulling everything into context.
Some defaults changed, so read the migration guide first. Teams that need the old behaviour can set the legacy governance mode while they migrate.
Write tools in simple YAML. No duplicating schemas across frameworks. One definition powering infinite integrations.
Plug into LangChain, OpenAI Agents, Claude, CrewAI, and any custom framework. No lock-in. No rewrites when you switch.
129 tools across 10 providers: Slack, Gmail, GitHub, Notion, HubSpot, PostgreSQL, Mailchimp, Twilio, Microsoft, and Bruno, plus a governed 449-tool Composio catalog. Add your own in minutes.
Provider-agnostic OAuth2 support built in. Google, GitHub, Slack, and any service - secure auth without the boilerplate.
Full TypeScript support with Zod-powered runtime validation. Catch parameter errors at build time, not in production at 2am.
Works with every AI framework. Migrate from LangChain to CrewAI without rewriting a single tool definition. Future-proof your tooling.
Choose the pattern that fits your architecture. All three use the same tool definitions.
Simple and direct. Load tools and execute by name. Perfect for CLI tools and quick prototypes.
const m = await MatimoInstance.init();
await m.execute('slack-send', params);
Class-based, idiomatic OOP. Use the @tool decorator for natural object-oriented execution.
@tool('slack-send')
async notifyTeam(msg) {
// Auto-executed
}
Full LangChain, OpenAI, or CrewAI integration. Convert Matimo tools to framework schemas automatically.
const tools = matimo
.listTools()
.map(t => toLangChain(t));
Every tool follows the same YAML pattern. Start with ours, add your own in minutes.
Governing agents built outside Matimo? Matimo AGDK (open source, v0.1.0, on PyPI) pairs with Matimo Gateway, our LLM proxy and router, coming soon.
Matimo Gateway and AGDK →The AI framework space moves fast. LangChain, CrewAI, custom agents - switching frameworks typically means rewriting tool integration logic from scratch. Matimo OSS is designed to remove that duplication by keeping your tool definitions in one place.
Matimo OSS covers individual and small team use. Matimo Governance adds the controls that compliance, security, and IT teams require: SSO, centralised policy registry, immutable audit log export, multi-tenant isolation, and a dedicated SLA.
Request Matimo Governance → Learn more ↗Join the community building with Matimo OSS. Get started in 5 minutes - no account needed.