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.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bae15316887d31ab3f858ecb32134ec17d73974bba4d7d336d7539c7490246d3
|
|
| MD5 |
b7038f21b33efb47e2582c43755c6947
|
|
| BLAKE2b-256 |
757e37343acbb56406d9c31e4b176f4d97ac37e9aff249af1b9238ad35be2da0
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb9c459bafd735e60cba5b62338f41b32950efa9d44b3531c904112e9e7a9e77
|
|
| MD5 |
7e6411e88c26368742f38d8c4b3d626c
|
|
| BLAKE2b-256 |
5184a66539f135738ec9738430d43a35dcd6629ad14ef8b46fac1c6d8928b6e7
|