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.0a14.post1.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.0a14.post1-py3-none-any.whl (3.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: matimo-0.1.0a14.post1.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.0a14.post1.tar.gz
Algorithm Hash digest
SHA256 83987803bc0c4d2c1c979d3d5821008176e36f3832651fa1cf1c2539a434870d
MD5 e3f926e8956763a10ce15bf73d349bce
BLAKE2b-256 9035ce1413fc4f2ef9ffc607cafd547475c0aca72b4e1c8742c398dfcc50c5b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for matimo-0.1.0a14.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 dc62ed07f322a0d3e588ee8063799c20b8ca079084c53c3899bf580c1d35c8cd
MD5 c0a8219ec610053a3f6e29078eae1a18
BLAKE2b-256 b5ffa1bb61c4db51561960ed62cbb045d7931cf77ffcc1e9850809514daa1d90

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