Installation & Setup
Choose Your SDK
Section titled “Choose Your SDK”Matimo is available for both TypeScript/Node.js and Python. Pick the language that matches your project.
| SDK | Package manager | Min version |
|---|---|---|
| TypeScript | npm / pnpm | Node.js ≥ 22.19, pnpm ≥ 8.15 |
| Python | pip / uv | Python ≥ 3.11 |
Python SDK
Section titled “Python SDK”Requirements
Section titled “Requirements”- Python: 3.11 or higher
- uv (recommended) or pip
Option 1: From PyPI (Recommended for Users)
Section titled “Option 1: From PyPI (Recommended for Users)”# Core SDK onlypip install matimo# or with uv (recommended)uv add matimo
# With LangChain integrationpip install "matimo[langchain]"uv add "matimo[langchain]"
# With Agno integrationpip install "matimo[agno]"
# With CrewAI integrationpip install "matimo[crewai]"
# With several extras (also available: mcp, dotenv, vault, aws, or all)pip install "matimo[langchain,crewai]"pip install "matimo[all]"Provider packages are published separately:
pip install matimo-slack matimo-github matimo-gmailuv add matimo-slack matimo-github matimo-gmailOption 2: From Source (Recommended for Contributors)
Section titled “Option 2: From Source (Recommended for Contributors)”# Clone the repositorygit clone https://github.com/tallclub/matimo.gitcd matimo/python
# Install all workspace packages with extras and dev dependenciesmake install # uv sync --all-extras --dev
# Run tests to verify installationmake testVerify Installation
Section titled “Verify Installation”import asynciofrom matimo import Matimo
async def main(): matimo = await Matimo.init(auto_discover=True) print(f"Matimo installed successfully") print(f"Loaded {len(matimo.list_tools())} tools")
asyncio.run(main())Run it:
python test_install.py# or with uvuv run python test_install.pyPython Next Steps
Section titled “Python Next Steps”- New Users: Go to Quick Start
- Building Tools: Read Tool Specification (YAML format is identical)
- LangChain / CrewAI: See LangChain Integration
- Examples: See python/examples/
TypeScript SDK
Section titled “TypeScript SDK”Requirements
Section titled “Requirements”- Node.js: v22.19.0 or higher
- pnpm: v8.15.0 or higher (preferred package manager)
- Git: For cloning the repository
Installation Options
Section titled “Installation Options”Option 1: From npm (Recommended for Users)
Section titled “Option 1: From npm (Recommended for Users)”# Install the SDK (core + CLI). Provider packages such as @matimo/slack install separatelynpm install matimo# or with pnpm (recommended)pnpm add matimo
# OR install individual packages:pnpm add @matimo/core # Core SDK onlypnpm add @matimo/slack # Slack toolspnpm add @matimo/gmail # Gmail toolspnpm add @matimo/cli # CLI tool managementNote: Check npm for the latest stable release. Future releases follow semantic versioning.
Option 2: From Source (Recommended for Contributors)
Section titled “Option 2: From Source (Recommended for Contributors)”# Clone the repositorygit clone https://github.com/tallclub/matimo.gitcd matimo/typescript # the pnpm workspace lives here, not at the repo root
# Install dependenciespnpm install
# Build TypeScriptpnpm build
# Run tests to verify installationpnpm testVerify Installation
Section titled “Verify Installation”// test-install.ts - Both imports work:import { MatimoInstance } from 'matimo'; // From root package// ORimport { MatimoInstance } from '@matimo/core'; // From core package directly
const matimo = await MatimoInstance.init({ autoDiscover: true });console.log(`Matimo installed successfully`);console.log(`Loaded ${matimo.listTools().length} tools`);Run it:
npx tsx test-install.tsNext Steps
Section titled “Next Steps”- New Users: Go to Quick Start
- Want Examples: See examples/
- Building Tools: Read Tool Specification
- Using Decorators: Check Decorator Guide
Troubleshooting Installation
Section titled “Troubleshooting Installation”Python: Version Error
Section titled “Python: Version Error”python --version # Should be 3.11+If lower, install Python 3.11+ from python.org or via pyenv:
pyenv install 3.11pyenv global 3.11Python: uv Installation
Section titled “Python: uv Installation”curl -LsSf https://astral.sh/uv/install.sh | shuv --versionPython: Import Error After Install
Section titled “Python: Import Error After Install”# Verify the package is installed in the right environmentpip show matimo# oruv pip show matimoTroubleshooting Installation (TypeScript)
Section titled “Troubleshooting Installation (TypeScript)”Node.js Version Error
Section titled “Node.js Version Error”node --version # Should be v22.19.0 or higherIf lower, install Node.js 22.19+ from nodejs.org
pnpm Installation
Section titled “pnpm Installation”npm install -g pnpm@8.15.0pnpm --version # Should be 8.15.0 or higherBuild Errors
Section titled “Build Errors”# Clear and rebuild (from typescript/)cd typescriptpnpm cleanpnpm installpnpm buildIf issues persist, check Troubleshooting Guide
System Requirements
Section titled “System Requirements”TypeScript SDK
Section titled “TypeScript SDK”| Component | Requirement |
|---|---|
| Node.js | ≥ 22.19.0 |
| pnpm | ≥ 8.15.0 |
| TypeScript | ≥ 5.0 (included) |
| Disk Space | ~500MB (with node_modules) |
| Memory | ≥ 512MB for build |
Python SDK
Section titled “Python SDK”| Component | Requirement |
|---|---|
| Python | ≥ 3.11 |
| uv | Latest (recommended) |
| Disk Space | ~200MB (with venv) |
| Memory | ≥ 256MB |
IDE Setup
Section titled “IDE Setup”VS Code (Recommended)
Section titled “VS Code (Recommended)”# Extensions to install- ES7+ React/Redux/React-Native snippets- Prettier - Code formatter- ESLint- Thunder Client (for testing HTTP tools)WebStorm / IntelliJ
Section titled “WebStorm / IntelliJ”Works out of the box with TypeScript support.
Environment Variables
Section titled “Environment Variables”Security Settings
Section titled “Security Settings”Embedded Code Execution (TypeScript; disabled by default)
Embedded code in tool YAML is disabled by default for security. To enable it:
# Explicitly opt-in to embedded code execution# embeddedCodeDisabled = (MATIMO_ALLOW_EMBEDDED_CODE !== 'true')# If NOT set to 'true' → code is disabledexport MATIMO_ALLOW_EMBEDDED_CODE=trueOnly enable if you fully trust all tool YAML sources. Never enable in production without careful review.
See the Security Policy and Policy Engine for more details.
Quick Verification Checklist
Section titled “Quick Verification Checklist”- Node.js v22.19+ installed
- pnpm v8.15+ installed
- Repository cloned
-
pnpm installcompleted -
pnpm buildsuccessful -
pnpm testall passing - Ready to start!