Skip to main content

Matimo — framework-agnostic SDK: pre-built providers, skills layer, MCP out of the box, and autonomous agents governed by a policy engine you control

Project description

matimo

A framework-agnostic SDK with pre-built providers, a skills knowledge layer, MCP out of the box, and agents that autonomously build new capabilities — governed by a policy engine you control.

PyPI Python Docs

matimo is the convenience meta-package that installs matimo-core and matimo-cli. Provider packages (Slack, GitHub, Gmail, etc.) are installed separately.


Installation

# Core SDK + CLI
pip install matimo

# With optional framework integrations
pip install "matimo[langchain]"   # LangChain support
pip install "matimo[crewai]"      # CrewAI support
pip install "matimo[mcp]"         # MCP server support

# With secrets backends
pip install "matimo[dotenv]"      # .env file support
pip install "matimo[vault]"       # HashiCorp Vault
pip install "matimo[aws]"         # AWS Secrets Manager

# Everything (all optional integrations)
pip install "matimo[all]"

# With provider packages
pip install matimo matimo-slack matimo-github matimo-gmail

Quick Start

Factory pattern

import asyncio
from matimo import Matimo

async def main():
    matimo = await Matimo.init('./tools')
    result = await matimo.execute('my_tool', {'param': 'value'})
    print(result)

asyncio.run(main())

Auto-discover installed providers

from matimo import Matimo

matimo = await Matimo.init(auto_discover=True)
print([t.name for t in matimo.list_tools()])

With provider packages

from matimo import Matimo
from matimo_slack import get_tools_path as slack_tools
from matimo_github import get_tools_path as github_tools

matimo = await Matimo.init([slack_tools(), github_tools()])
result = await matimo.execute('slack_send_channel_message', {
    'channel': '#general',
    'text': 'Hello from Matimo!',
})

LangChain agent

from matimo import Matimo
from matimo.integrations.langchain import convert_tools_to_langchain
from langchain_openai import ChatOpenAI
from langchain.agents import AgentExecutor, create_tool_calling_agent
from langchain_core.prompts import ChatPromptTemplate

matimo = await Matimo.init(auto_discover=True)
lc_tools = convert_tools_to_langchain(matimo.list_tools(), matimo)

llm = ChatOpenAI(model='gpt-4o-mini')
prompt = ChatPromptTemplate.from_messages([
    ('system', 'You are a helpful assistant.'),
    ('human', '{input}'),
    ('placeholder', '{agent_scratchpad}'),
])
agent = create_tool_calling_agent(llm, lc_tools, prompt)
executor = AgentExecutor(agent=agent, tools=lc_tools)
result = await executor.ainvoke({'input': 'List all Slack channels'})

CrewAI agent

from matimo import Matimo
from matimo.integrations.crewai import convert_tools_to_crewai

matimo = await Matimo.init(auto_discover=True)
crewai_tools = convert_tools_to_crewai(matimo.list_tools(), matimo)

MCP server (Claude Desktop / Cursor)

from matimo import Matimo, create_mcp_server, MCPServerOptions

matimo = await Matimo.init(auto_discover=True)
server = await create_mcp_server(matimo, MCPServerOptions(name='my-agent', version='1.0.0'))
await server.start()

Provider Packages

Install the tools you need:

Package Tools Install
matimo-slack Messaging, channels, files, reactions pip install matimo-slack
matimo-github Repos, issues, PRs, releases pip install matimo-github
matimo-gmail Send, list, read, delete emails pip install matimo-gmail
matimo-notion Pages, databases, comments pip install matimo-notion
matimo-postgres Execute SQL queries pip install matimo-postgres
matimo-twilio SMS, MMS, message history pip install matimo-twilio
matimo-hubspot CRM: contacts, deals, companies pip install matimo-hubspot
matimo-mailchimp Campaigns, lists, members pip install matimo-mailchimp

Key Features

  • YAML-defined tools — define once, use from any framework
  • 10 provider packages — 100+ pre-built tools ready to use
  • LangChain / CrewAI / MCP — first-class integrations
  • Policy engine — risk classification, HITL approvals, content validation
  • Skills system — inject reusable domain knowledge into agents
  • Meta-tools — agents can create, approve, and reload tools at runtime
  • Secrets management — env, .env, Vault, AWS Secrets Manager resolver chain
  • Structured logging — JSON/simple formats, configurable log levels

Documentation


Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

matimo-0.1.0.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

matimo-0.1.0-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

File details

Details for the file matimo-0.1.0.tar.gz.

File metadata

  • Download URL: matimo-0.1.0.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for matimo-0.1.0.tar.gz
Algorithm Hash digest
SHA256 bae15316887d31ab3f858ecb32134ec17d73974bba4d7d336d7539c7490246d3
MD5 b7038f21b33efb47e2582c43755c6947
BLAKE2b-256 757e37343acbb56406d9c31e4b176f4d97ac37e9aff249af1b9238ad35be2da0

See more details on using hashes here.

File details

Details for the file matimo-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: matimo-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for matimo-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eb9c459bafd735e60cba5b62338f41b32950efa9d44b3531c904112e9e7a9e77
MD5 7e6411e88c26368742f38d8c4b3d626c
BLAKE2b-256 5184a66539f135738ec9738430d43a35dcd6629ad14ef8b46fac1c6d8928b6e7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page