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 |
matimo-microsoft |
Mail, OneDrive/SharePoint, Teams, calendar | pip install matimo-microsoft |
matimo-bruno |
Manage and run Bruno API test collections | pip install matimo-bruno |
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
Release files for matimo 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| matimo-0.1.3.tar.gz | 7.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| matimo-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.2 kB
Release files / matimo-0.1.3.tar.gz
| Download URL | matimo-0.1.3.tar.gz |
|---|---|
| Size | 7.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
21248bc00beb0fd27ea29fb5e4b6f57a72814a8126282643f046a4907939dfa0
|
|
BLAKE2b-256 checksum How to use checksums |
8ac78184ea77870b935719197e9d3f53e883488bfa4114d39db71b9a1d886313
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / matimo-0.1.3-py3-none-any.whl
| Download URL | matimo-0.1.3-py3-none-any.whl |
|---|---|
| Size | 7.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d490f62a678cf414aec34aa1368a7c4011daaca73ecccb1ab5065e3a4cde56f3
|
|
BLAKE2b-256 checksum How to use checksums |
ad7ef9004f8301324701d67e0f43d5a9cb88531e6c7b2be5e871466fd0f16959
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|